/** Shopify CDN: Minification failed

Line 518:0 Unexpected "}"

**/
/* ==========================================================================
   Infa Group - global overrides for Impact
   Loaded after theme.css from layout/theme.liquid.
   Tokens are defined in snippets/infa-head.liquid (--infa-*).
   Keep this file to global patterns only; section-specific CSS lives in the
   section file itself (prefixed .infa-<section>).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Display headings use Family Light; smaller headings use the sans */
.h0, .h1, .h2,
.prose :is(h1, h2) {
  font-family: var(--infa-serif);
  font-weight: 300;
  letter-spacing: -0.01em;
  word-spacing: -0.04em;
  line-height: 1;
}

.h3, .h4, .h5, .h6,
.prose :is(h3, h4, h5, h6) {
  font-family: var(--infa-sans);
  font-weight: 500;
  letter-spacing: -0.005em;
  line-height: 1.25;
}

.h2 { font-size: 2.5rem; }
@media screen and (max-width: 699px) {
  .h2 { font-size: 1.875rem; }
}

/* Eyebrow / subheading: outlined pill */
.subheading {
  display: inline-flex;
  align-items: center;
  font-family: var(--infa-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.125em;
  text-transform: uppercase;
  line-height: 1.5;
  padding: 0.25rem 0.75rem;
  border: 1px solid rgb(var(--text-color) / 0.35);
  border-radius: 999px;
  color: rgb(var(--text-color) / 0.75);
  width: max-content;
}

.section-header .prose > .subheading + .h2,
.section-header .prose > .subheading + h2 {
  margin-block-start: 0.625rem;
}

/* Section header "link" - plain text link with arrow, no circle */
.section-header .text-with-icon {
  gap: 0.25rem;
  font-size: 0.9375rem;
  font-weight: 400;
  align-self: end;
}
.section-header .text-with-icon .reversed-link {
  background-size: 100% 1px;
  background-position: 0 min(100%, 1.2lh);
}
.section-header .text-with-icon .circle-chevron {
  width: auto;
  height: auto;
  background: none !important;
  color: currentColor !important;
}
.section-header .text-with-icon .circle-chevron svg {
  width: 0.875rem;
  height: 0.875rem;
}
@media screen and (min-width: 1150px) {
  .section-header { grid-template-columns: 1fr auto; }
}

/* --------------------------------------------------------------------------
   Buttons, chips, inputs
   -------------------------------------------------------------------------- */
.button, .btn {
  font-family: var(--infa-sans);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.button--outline {
  box-shadow: inset 0 0 0 1.5px;
}

/* Uppercase, tracked "shop now" style, opt-in with .button--caps */
.button--caps {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 700;
  font-size: 0.8125rem;
}

/* Generic chip used by custom sections and product cards */
.infa-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-family: var(--infa-sans);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 0.375rem 0.625rem;
  border-radius: 999px;
  background: var(--infa-white);
  color: var(--infa-navy);
  white-space: nowrap;
}
.infa-chip--navy { background: var(--infa-navy); color: var(--infa-beige); }
.infa-chip--beige { background: var(--infa-beige); color: var(--infa-navy); }
.infa-chip--outline { background: transparent; box-shadow: inset 0 0 0 1px var(--infa-navy-20); }
.infa-chip--caps { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.625rem; font-weight: 600; }

/* --------------------------------------------------------------------------
   Surfaces
   -------------------------------------------------------------------------- */
.infa-bg-navy {
  --background: var(--infa-navy-rgb);
  --text-color: var(--infa-beige-rgb);
  background: var(--infa-navy);
  color: var(--infa-beige);
}
.infa-bg-beige { background: var(--infa-beige); }
.infa-bg-beige-50 { background: var(--infa-beige-50); }
.infa-bg-beige-25 { background: var(--infa-beige-25); }

/* Rounded corners are 8px across the design */
:root {
  --rounded: var(--infa-radius);
  --rounded-sm: var(--infa-radius);
  --rounded-lg: var(--infa-radius-lg);
}

/* Cards hover lift */
.infa-lift { transition: transform .25s ease, box-shadow .25s ease; }
.infa-lift:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgb(var(--infa-navy-rgb) / .10); }

/* Utility: image cover in a rounded frame */
.infa-cover { position: relative; overflow: hidden; border-radius: var(--infa-radius); }
.infa-cover > img, .infa-cover > picture, .infa-cover > picture > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Scrim used over photos with text */
.infa-scrim { position: absolute; inset: 0; background: linear-gradient(8deg, rgb(var(--infa-navy-rgb) / .62) 0%, rgb(var(--infa-navy-rgb) / .05) 60%); pointer-events: none; }

/* --------------------------------------------------------------------------
   Reveal-on-scroll: Impact splits headings into words for the animation;
   keep it but no rotation for the serif (looks heavy).
   -------------------------------------------------------------------------- */

/* ==========================================================================
   Header group
   ========================================================================== */

/* Announcement bar: scrolling list, bold caps, Infa symbol as separator */
.announcement-bar .announcement-bar__scrolling-list p,
.announcement-bar .announcement-bar__wrapper p {
  font-family: var(--infa-sans);
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.announcement-bar__scrolling-list .shape-circle {
  width: 1.5rem;
  height: 0.875rem;
  border-radius: 0;
  background: currentColor;
  opacity: 0.35;
  margin-inline: 1.75rem;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.46 14.68'><path d='M0 9.98v4.7h9.4v-4.7H0Z'/><path d='M6.08 0 2.75 3.33l6.65 6.65 3.33-3.33L6.08 0Z'/><path d='M25.46 9.98v4.7h-9.4v-4.7h9.4Z'/><path d='m19.38 0 3.33 3.33-6.65 6.65-3.33-3.33L19.38 0Z'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.46 14.68'><path d='M0 9.98v4.7h9.4v-4.7H0Z'/><path d='M6.08 0 2.75 3.33l6.65 6.65 3.33-3.33L6.08 0Z'/><path d='M25.46 9.98v4.7h-9.4v-4.7h9.4Z'/><path d='m19.38 0 3.33 3.33-6.65 6.65-3.33-3.33L19.38 0Z'/></svg>") center / contain no-repeat;
}
.announcement-bar { padding-block: 0.625rem; }

/* Brand bar */
.infa-brand-bar {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  height: var(--infa-brand-bar-height, 40px);
  background: var(--infa-brand-bar-bg, #E6E8EC);
  color: rgb(var(--infa-brand-bar-text, 0 28 59));
}
.infa-brand-bar__brands {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.infa-brand-bar__brands::-webkit-scrollbar { display: none; }
.infa-brand-bar__brand {
  display: inline-flex;
  align-items: center;
  padding-inline: 0.75rem;
  border-inline-end: 1px solid var(--infa-brand-bar-divider, #fff);
  flex-shrink: 0;
  transition: background .2s ease, opacity .2s ease;
}
.infa-brand-bar__brand:hover { background: rgb(255 255 255 / .5); }
.infa-brand-bar__brand.is-current { background: #fff; }
.infa-brand-bar__logo {
  display: block;
  height: var(--infa-brand-bar-logo, 20px);
  width: auto;
  max-width: none;
}
.infa-brand-bar__name {
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}
.infa-brand-bar__links {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding-inline: 0.75rem 1.5rem;
  flex-shrink: 0;
}
.infa-brand-bar__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
}
.infa-brand-bar__link svg { width: 22px; height: 22px; }
/* Heart icon link (wishlist): fills navy on hover / focus so it reads as clickable */
.infa-brand-bar__link[data-icon="picto-love"] svg path { transition: fill-opacity 0.2s ease; }
.infa-brand-bar__link[data-icon="picto-love"]:hover svg path, .infa-brand-bar__link[data-icon="picto-love"]:focus-visible svg path { fill-opacity: 1; }
.infa-brand-bar__link[data-icon="picto-love"]:hover, .infa-brand-bar__link[data-icon="picto-love"]:focus-visible { color: var(--infa-navy); }
@media screen and (max-width: 699px) {
  .infa-brand-bar__links { padding-inline-end: 1rem; }
  .infa-brand-bar__link-label { display: none; }
}

/* Main header: nav weight and icon sizing */
.header__link-list > ul > li > a,
.header__link-list > ul > li > details > summary,
.header__link-list .bold {
  font-family: var(--infa-sans);
  font-weight: 500;
  font-size: 1rem;
}
.header__icon-list { gap: 1.5rem; }
.header__icon-list svg { width: 22px; height: 22px; }
.header__logo-image { max-height: 26px; width: auto; }
.header__wrapper { padding-block: 1.25rem; }
.header__link-list svg { width: 0.625rem; height: 0.625rem; }
.header__link-list > ul > li > details > summary { gap: 0.375rem; }

/* ==========================================================================
   Product card
   ========================================================================== */
.product-card {
  --product-card-badge-spacing: 1rem;
  --product-card-info-padding: 1.125rem 1.25rem 1.375rem;
  background: rgb(var(--product-card-background, 255 255 255));
  border: 1px solid var(--infa-navy-10);
  border-radius: var(--infa-radius);
  overflow: hidden;
}
.product-card__figure { background: linear-gradient(to bottom, var(--infa-beige-50) 0%, var(--infa-beige-50) 70%, rgb(255 255 255 / 0) 100%); padding: 1.25rem 1.25rem 0.5rem; }
.product-card__figure .product-card__image { mix-blend-mode: multiply; border-radius: var(--infa-radius) !important; }
.product-card__figure .product-card__image-wrapper, .product-card__figure > a { border-radius: var(--infa-radius); overflow: hidden; }
.product-card__figure .product-card__quick-buy { display: none; }
.product-card__info { padding: 0.875rem 1.25rem 1.25rem !important; gap: 0.25rem; }
.product-card__aside, .product-card__swatch-list, .product-card__variant-list, .product-card__color-count { display: none !important; }
.product-card__description { font-size: 0.75rem; color: var(--infa-navy-60); line-height: 1.35; margin-block-start: 0.125rem; }
.product-card__cta { margin-block-start: 0.75rem; }
.product-card__cta .button { font-size: 0.75rem; padding: 0.55rem 1rem; min-height: 0; }
.product-card__cta .product-card__quick-buy { position: static; opacity: 1 !important; visibility: visible !important; transform: none !important; display: block; inset: auto; }
.product-card__cta .product-card__quick-buy > form > div, .product-card__cta .product-card__quick-buy > div { display: block; }
.product-card__cta .product-card__mobile-quick-buy-button { display: none; }
.product-card__cta .pointer-fine\:hidden { display: none !important; }
.product-card__cta .pointer-coarse\:hidden { display: block !important; }
.badge--retailer-exclusive { --badge-background: var(--infa-navy-rgb); --badge-color: 255 255 255; }
.product-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-block-end: 0.5rem;
}
.product-card__title {
  font-family: var(--infa-sans);
  font-size: 1.0625rem;
  line-height: 1.3;
}
.product-card__title .bold { font-weight: 500; }
.product-card .rating { gap: 0.375rem; }
.product-card .rating__text { font-size: 0.8125rem; font-weight: 500; }
.product-card .rating__count { font-weight: 400; color: var(--infa-navy-60); }
.product-card .price-list { margin-block-start: 0.375rem; font-size: 1rem; font-weight: 500; }
.badge {
  --badge-background: 255 255 255 / .9;
  --badge-color: var(--infa-navy-rgb);
  font-family: var(--infa-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.4375rem 0.75rem;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}
.badge--on-sale { --badge-background: var(--infa-navy-rgb); --badge-color: var(--infa-beige-rgb); }
.badge--sold-out { --badge-background: 153 164 177; --badge-color: 255 255 255; }

/* ==========================================================================
   Homepage native sections
   ========================================================================== */

/* Slideshow (hero): rounded 8px inset panel, numbered dots bottom-right */
.shopify-section--slideshow .slideshow { border-radius: var(--infa-radius); overflow: hidden; }
.slideshow__slide .subheading { border-color: currentColor; color: inherit; font-family: var(--infa-serif); font-weight: 300; font-size: 1.25rem; letter-spacing: 0; text-transform: uppercase; padding: 0.5rem 1rem; }
.slideshow__slide .h0, .slideshow__slide .h1 { font-size: clamp(2.75rem, 7vw, 6.25rem); line-height: 0.85; letter-spacing: -0.02em; }
.slideshow__slide .button { text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; font-size: 0.9375rem; padding: 1.125rem 1.75rem; }
.slideshow__controls { justify-content: flex-end; }

/* Collection list (shop by category): portrait tiles, label bottom-left with arrow */
.collection-card { aspect-ratio: 4 / 5; border-radius: var(--infa-radius); }
.collection-card__content .h5, .collection-card__content .h4, .collection-card__content .h3 { font-size: 1rem; font-weight: 500; }
.collection-card__content .h5::after, .collection-card__content .h4::after { content: " \2192"; }
.collection-card__content-wrapper { padding: 1.125rem 1.25rem; }
.collection-card .content-over-media::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; background: linear-gradient(to top, rgb(var(--infa-navy-rgb) / .6) 0%, rgb(var(--infa-navy-rgb) / .25) 30%, rgb(var(--infa-navy-rgb) / 0) 55%); pointer-events: none; }
.collection-card .prose { position: relative; }

/* Media grid (shop the moment): serif titles, small caption link with arrow */
.media-grid__item { border-radius: var(--infa-radius); }
.media-grid__item .h5, .media-grid__item .h4, .media-grid__item .h3 { font-family: var(--infa-serif); font-weight: 300; font-size: 1.75rem; line-height: 1; }
.media-grid__caption { display: block; font-size: 0.875rem; font-weight: 500; }
.media-grid__item .content-over-media::before { content: ""; position: absolute; inset: 0; background: linear-gradient(8deg, rgb(var(--infa-navy-rgb) / .62) 0%, rgb(var(--infa-navy-rgb) / .05) 60%); pointer-events: none; z-index: 1; }
.media-grid__item .content-over-media > :not(img):not(video):not(picture) { z-index: 2; }

/* Scrolling text (marquee): serif, symbol separators, beige-50 band */
.scrolling-text__text { font-family: var(--infa-serif); font-weight: 300; font-size: 1.875rem; letter-spacing: 0; text-transform: none; }
.scrolling-text__sep { display: inline-block; margin-inline: 1.625rem; vertical-align: -0.05em; opacity: .9; }
.scrolling-text__sep svg { width: 1.625rem; height: auto; display: inline-block; }
.scrolling-text__phrase + .scrolling-text__sep { margin-inline: 1.625rem; }

/* Logo list (awards): no cards, natural logo sizes, wrap and centre like the Figma */
.shopify-section--logo-list .logo-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2rem 1rem; }
.shopify-section--logo-list .logo-list__item { background: none !important; border: 0 !important; box-shadow: none; padding: 0; width: auto; }
.shopify-section--logo-list .logo-list__item img { width: auto; }
.shopify-section--logo-list .section-stack { --section-stack-spacing-block: 1.5rem; }
.shopify-section--logo-list .section-header .h2, .shopify-section--logo-list .h3 { font-family: var(--infa-serif); font-weight: 300; font-size: 1.875rem; }

/* Text with icons (USPs): beige circle icon, title, caption */
.text-with-icons__item .icon-with-background, .text-with-icons__item svg { }
.text-with-icons__item .prose p:first-child { font-size: 1.125rem; font-weight: 400; }
.text-with-icons__item .prose p + p { font-size: 0.8125rem; opacity: .7; margin-block-start: 0.375rem; }

/* Testimonials: white cards, grey stars, serif quote */
.testimonial { border-radius: var(--infa-radius); padding: 2.125rem 2rem; }
.testimonial .rating__star { color: var(--infa-navy-20); }
.testimonial .prose p, .testimonial__content { font-family: var(--infa-serif); font-weight: 300; font-size: 1.375rem; line-height: 1.25; }
.testimonial__author, .testimonial .text-sm { font-family: var(--infa-sans); font-size: 0.75rem; color: var(--infa-navy-60); }

/* Blog posts (learn): white cards with chip category and read time */
.blog-post-card { background: #fff; border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); overflow: hidden; }
.blog-post-card__figure { border-radius: 0 !important; }
.blog-post-card__info { padding: 1.25rem 1.5rem 1.5rem; }
.blog-post-card .badge--current { --badge-background: var(--infa-beige-rgb); --badge-color: var(--infa-navy-rgb); text-transform: none; letter-spacing: 0; font-size: 0.75rem; font-weight: 500; padding: 0.3125rem 0.625rem; }
.blog-post-card .h3 { font-size: 1.0625rem; font-weight: 500; line-height: 1.35; }
.blog-post-card__read-time { color: var(--infa-navy-60); font-size: 0.8125rem; }

/* Newsletter: rounded beige panel, text left, artwork right */
.shopify-section--newsletter .newsletter { border-radius: var(--infa-radius); overflow: hidden; background: var(--infa-beige-50); }
@media screen and (min-width: 1000px) {
  .shopify-section--newsletter .newsletter { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; }
  .shopify-section--newsletter .newsletter > img { order: 2; height: 100%; object-fit: cover; }
  .shopify-section--newsletter .newsletter > .newsletter-box { order: 1; padding: 3rem 0 3rem 3rem; }
}
.shopify-section--newsletter .newsletter-content { max-width: 32rem; }
.shopify-section--newsletter .newsletter-content .h2 { font-size: 3rem; line-height: 0.98; max-width: 26rem; }
.shopify-section--newsletter .newsletter-content .form { max-width: 460px; }
.shopify-section--newsletter .newsletter-content .button { font-weight: 400; font-size: 0.9375rem; }
.shopify-section--newsletter .newsletter-content .input { border-radius: 999px; background: #fff; border: 0; }
.shopify-section--newsletter .newsletter-content .button svg { display: none; }
.shopify-section--newsletter .newsletter-content .text-sm, .shopify-section--newsletter .newsletter-content .text-subdued { color: var(--infa-navy-60); font-size: 0.8125rem; }

/* Footer: navy, muted links, uppercase column titles, big wordmark */
.footer { --footer-padding-block: var(--spacing-16); }
.footer__block--menu .h6, .footer__block--menu .bold, .footer .footer__block-title { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--infa-navy-40); }
.footer__block--menu a { font-size: 0.875rem; font-weight: 300; line-height: 2.2; color: var(--infa-navy-20); opacity: 1; }
.footer__block--menu a.link-faded:hover { opacity: 1; }
.footer__block--menu a:hover { color: #fff; }
.footer__block--text p { font-size: 0.875rem; font-weight: 300; line-height: 1.55; color: var(--infa-navy-40); max-width: 16rem; }
.footer .social-media a { width: 1.75rem; height: 1.75rem; border-radius: 6px; background: var(--infa-navy-80); display: grid; place-items: center; color: var(--infa-beige); }
.footer .social-media svg { width: 0.875rem; height: 0.875rem; }
.footer__wordmark { padding-block: 3.5rem 1rem; }
.footer__wordmark img { display: block; width: var(--footer-wordmark-width, 100%); height: auto; margin-inline: auto; }
.footer__aside-bottom { font-size: 0.78125rem; font-weight: 300; color: var(--infa-navy-40); }

/* Collection list: show all 6 category tiles in one row on desktop */
@media screen and (min-width: 1150px) {
  .collection-list:has(> :nth-child(6):last-child) { --collection-list-grid: auto / repeat(6, minmax(0, 1fr)) !important; }
}

/* ---- review pass 1 ---- */
/* Section header link: text arrow instead of chevron icon */
.section-header .text-with-icon .circle-chevron { display: none; }
.section-header .text-with-icon .reversed-link::after { content: " \2192"; }

/* Media grid: title + link stacked tight, link inline */
.media-grid__item .prose { display: grid; gap: 0.375rem; justify-items: start; }
.media-grid__item .prose > * + * { margin-block-start: 0 !important; }

/* Placeholder SVGs fill their frames */
.infa-stats__media svg, .infa-gallery__item svg, .infa-brand-tile > svg { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Brand tiles: tighter header-to-grid gap */
.shopify-section--infa-brand-tiles .section-stack { --section-stack-spacing-block: 2rem; }

/* Awards logos: cap height so the row reads as one line */

/* Testimonials: serif quote */
.testimonial .v-stack > p:not(.bold), .testimonial > p:not(.testimonial__author):not(.text-subdued) { font-family: var(--infa-serif); font-weight: 300; font-size: 1.375rem; line-height: 1.25; }
.testimonial .h-stack { order: -1; }

/* Blog cards: uniform 16:9 image */
.blog-post-card__figure { aspect-ratio: 16 / 9; overflow: hidden; }
.blog-post-card__figure img { width: 100%; height: 100%; object-fit: cover; }

/* Newsletter: always left aligned, pill subheading */
.shopify-section--newsletter .newsletter-content { text-align: start; justify-items: start; }
.shopify-section--newsletter .newsletter-content .form { justify-items: start; }

/* Section spacing to match the Figma (80px desktop, 48px mobile) instead of Impact's viewport-scaled values */
:root { --section-outer-spacing-block: 3rem; --section-inner-max-spacing-block: 3rem; }
@media screen and (min-width: 700px) { :root { --section-outer-spacing-block: 4rem; --section-inner-max-spacing-block: 4rem; } }
@media screen and (min-width: 1000px) { :root { --section-outer-spacing-block: 5rem; --section-inner-max-spacing-block: 5rem; } }

/* Marquee band is a slim strip in the Figma */
.shopify-section--scrolling-text .section { --section-spacing-block: 2rem; }
@media screen and (min-width: 1000px) { .shopify-section--scrolling-text .section { --section-spacing-block: 2.125rem; } }

/* ==========================================================================
   Product page (PDP)
   ========================================================================== */

/* Main product card: bordered white panel, beige image well, thumbnails under the image */
.shopify-section--main-product .section { --section-spacing-block: 1.5rem; }
.shopify-section--main-product .product {
  border: 1px solid var(--infa-navy-10);
  border-radius: var(--infa-radius);
  background: #fff;
  padding: 1rem;
  gap: 1.5rem;
}
@media screen and (min-width: 1000px) {
  .shopify-section--main-product .product { padding: 1rem 1.5rem 1.5rem 1rem; column-gap: 2.5rem; }
}
@media screen and (min-width: 1150px) { .shopify-section--main-product .product { column-gap: 3rem; } }
.product-gallery__media-list-wrapper { background: var(--infa-beige-50); border-radius: var(--infa-radius); overflow: hidden; }
.product-gallery__media img { mix-blend-mode: multiply; }
.product-gallery__thumbnail-list { grid-auto-columns: 3.25rem; gap: 0.5rem; }
.product-gallery__thumbnail img { border-radius: 6px; border: 1px solid var(--infa-navy-10); background: var(--infa-beige-50); }
.product-gallery__thumbnail:after { display: none; }
.product-gallery__thumbnail[aria-current="true"] img { border-color: var(--infa-navy); box-shadow: inset 0 0 0 1px var(--infa-navy); }

/* Info column */
.product-info { --product-info-block-spacing: 1rem; padding-block-start: 0.5rem; }
.product-info__block-item[data-block-type="infa-brand-logo"] { --product-info-block-spacing: 0.75rem; }
.product-info__block-item[data-block-type="infa-chips"],
.product-info__block-item[data-block-type="infa-installments"] { --product-info-block-spacing: 0.75rem; }
.product-info__title { font-family: var(--infa-sans); font-weight: 600; font-size: 1.75rem; line-height: 1.15; letter-spacing: -0.01em; }
@media screen and (min-width: 1000px) { .product-info__title { font-size: 1.875rem; } }
.infa-product__brand-logo { display: inline-block; }
.infa-product__brand-logo img { height: var(--infa-brand-logo-height, 18px); width: auto; display: block; }
.infa-product__chips { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.infa-product__chips .infa-chip { font-size: 0.6875rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; padding: 0.3rem 0.625rem; }
.product-info__price .price-list { font-size: 1.375rem; font-weight: 500; }
.product-info__price .rating-with-text { align-items: center; }
.product-info__price .rating { margin-inline-start: auto; }
.infa-product__installments { margin-block-start: -0.25rem; }
.infa-product__features { display: grid; gap: 0.5rem; font-size: 0.8125rem; }
.infa-product__features li { display: flex; align-items: flex-start; gap: 0.5rem; }
.infa-product__features svg { flex: none; width: 1rem; height: 1rem; margin-block-start: 0.05em; color: var(--infa-navy-60); }
.infa-product__stock-bar {
  display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; align-items: center;
  border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); padding: 0.625rem 0.875rem; font-size: 0.8125rem;
}
.infa-product__stock, .infa-product__collect { display: inline-flex; align-items: center; gap: 0.375rem; }
.infa-product__stock--in { color: #2E8B57; font-weight: 500; }
.infa-product__stock--out { color: var(--infa-navy-60); }
.infa-product__collect svg { width: 1rem; height: 1rem; }
.product-info__block-item[data-block-type="quantity-selector"] + .product-info__block-item[data-block-type="buy-buttons"] { --product-info-block-spacing: 0; }
.infa-buy-row { display: flex; gap: 0.75rem; align-items: end; }
.infa-buy-row > .product-info__block-item[data-block-type="quantity-selector"] { flex: 0 0 7rem; }
.infa-buy-row > .product-info__block-item[data-block-type="quantity-selector"]:empty { display: none; }
.infa-buy-row > .product-info__block-item[data-block-type="buy-buttons"] { flex: 1 1 auto; min-width: 0; }
.infa-buy-row .buy-buttons .button { width: 100%; border-radius: 999px; }
.infa-buy-row > .product-info__block-item { margin: 0 !important; }
.infa-buy-row .quantity-selector { width: 100%; }
.infa-buy-row .form-control__label, .infa-buy-row label { display: none; }
}
.product-info__block-item[data-block-type="offer"] .offer { background: var(--infa-navy-10); border-radius: var(--infa-radius); }
.infa-product__actions { display: grid; gap: 0.75rem; }
.infa-product__action-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.infa-product__action { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.8125rem; font-weight: 500; padding-block: 0.7rem; border-color: var(--infa-navy-20); }
.infa-product__action svg { width: 0.875rem; height: 0.875rem; }
.infa-product__compare { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--infa-navy-60); }
.infa-product__compare-box { width: 0.75rem; height: 0.75rem; border: 1px solid var(--infa-navy-40); border-radius: 2px; }
.infa-product__compare:hover { color: var(--infa-navy); }
.product-info__block-item[data-block-type="associated-products"] .horizontal-product-list { border-color: var(--infa-navy-10); }

/* Retailer exclusive */
.infa-product__retailer { display: grid; gap: 0.875rem; }
.infa-product__retailer-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem;
  border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); padding: 0.5rem 0.875rem;
}
.infa-product__retailer-logo { height: 1.5rem; width: auto; }
.infa-product__retailer-locator { display: inline-flex; align-items: center; gap: 0.375rem; }
.infa-product__retailer-locator a { text-decoration: underline; text-underline-offset: 2px; color: var(--infa-navy); }
.infa-product__retailer-button { width: 100%; }
.infa-product__alt .horizontal-product { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 0.75rem; }
.infa-product__alt .horizontal-product__image { width: 3.5rem; height: 3.5rem; object-fit: contain; background: var(--infa-beige-50); }

/* Bundle contents */
.infa-bundle-list { display: grid; gap: 0.5rem; }
.infa-bundle-item {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.875rem;
  border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); padding: 0.625rem 0.75rem; background: #fff;
}
.infa-bundle-item__media { width: 2.75rem; height: 2.75rem; border-radius: 6px; overflow: hidden; background: var(--infa-beige-50); display: grid; place-items: center; }
.infa-bundle-item__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.infa-bundle-item__info { display: grid; gap: 0.125rem; }
.infa-bundle-item__info .price-list { font-size: 0.75rem; }
.infa-bundle-item__finish { font-size: 0.6875rem; }

/* Sticky add to cart: keep it Infa navy */
.product-quick-add { border-top: 1px solid var(--infa-navy-10); }

/* Video banner: rounded, in the content column, serif caption */
.shopify-section--video .section { --section-spacing-block: 0; }
.shopify-section--video .video-section { border-radius: var(--infa-radius); overflow: hidden; }
.shopify-section--video .content-over-media { border-radius: var(--infa-radius); overflow: hidden; }
.shopify-section--video .h1, .shopify-section--video .h2 { font-family: var(--infa-sans); font-weight: 500; font-size: 1.75rem; }

/* FAQ section: white card on beige, pill subheading, navy button, right hand accordion box */
.shopify-section--faq .section-stack { background: #fff; border-radius: var(--infa-radius); padding: 2rem 1.25rem; }
@media screen and (min-width: 1000px) { .shopify-section--faq .section-stack { padding: 3rem 3.5rem; --section-stack-spacing-inline: 3rem; } }
.shopify-section--faq .section-stack__intro .h2, .shopify-section--faq .section-stack__intro .h1 { font-family: var(--infa-serif); font-weight: 300; font-size: 2.25rem; }
.shopify-section--faq .accordion-box { border: 1px solid var(--infa-navy-10); background: #fff; }
.shopify-section--faq .accordion__toggle { font-weight: 500; font-size: 0.9375rem; }
.shopify-section--faq .accordion .circle-chevron { background: var(--infa-beige-50); border-radius: 50%; }

/* Related products header */
.shopify-section--related-products .section-header .h2 { font-size: 1.875rem; }
.infa-product__bonus { background: var(--infa-navy-10); border-radius: var(--infa-radius); padding: 0.75rem 1rem; }
.infa-product__bonus .text-with-icon { gap: 0.625rem; }
.infa-spotlight__media > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.infa-product__bonus .bold { white-space: nowrap; }
.infa-product__action { padding-inline: 0.5rem; white-space: nowrap; }

/* ==========================================================================
   Collection, blog, article and content pages
   ========================================================================== */

/* Collection banner: rounded image with a translucent beige card for the text, featured product chip bottom right */
.collection-banner { border-radius: var(--infa-radius); }
.collection-banner .v-stack { background: rgb(229 224 214 / .88); color: var(--infa-navy); border-radius: var(--infa-radius); padding: 1.5rem 1.75rem; max-width: 26rem; gap: 0.75rem; }
.collection-banner .h0, .collection-banner .h1 { font-family: var(--infa-serif); font-weight: 300; font-size: 2rem; line-height: 1.05; }
.collection-banner .prose { font-size: 0.8125rem; }
.collection-banner .subheading { background: transparent; }
.collection-featured-product { background: #fff; color: var(--infa-navy); border-radius: 8px; box-shadow: 0 8px 24px rgb(0 28 59 / .15); overflow: hidden; }
.collection-featured-product > * { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.collection-featured-product__title { color: var(--infa-navy-60); justify-self: start; padding: 0.625rem 0.875rem 0; font-size: 0.6875rem; letter-spacing: .08em; text-transform: uppercase; }
.collection-featured-product__content { border-radius: 0; }
.collection-featured-product .horizontal-product { padding: 0.5rem 0.875rem 0.75rem; }
.shopify-section--collection-banner + .shopify-section--infa-subcollections .section { --section-spacing-block-start: 1.5rem; }

/* Collection toolbar and facets */
.collection-toolbar, .facets-toolbar { border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); background: var(--infa-beige-25); }
.facets-vertical { border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); padding: 1rem 1.25rem; background: #fff; }
.facets-vertical .accordion__toggle, .facets__summary { font-size: 0.6875rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--infa-navy-60); }
.facets-vertical .checkbox-control, .facets-vertical label { font-size: 0.8125rem; }
.main-collection .product-card, .shopify-section--main-collection .product-card { border: 1px solid var(--infa-navy-10); }
.shopify-section--main-collection .section { --section-spacing-block-start: 1rem; }
.promotion-block, .collection-promotion { border-radius: var(--infa-radius); }
.pagination__item[aria-current="page"], .pagination__item[aria-current] { background: var(--infa-navy); color: #fff; border-radius: 50%; }

/* Blog banner (Learn hub): pill, serif heading, left aligned, chips as pills */
.blog-banner { --banner-content-padding-block-start: 3rem; padding-block: 0; }
.blog-banner-content { padding-block-start: 2.5rem !important; gap: 1.5rem; }
.blog-banner .h0 { font-family: var(--infa-serif); font-weight: 300; font-size: clamp(2rem, 3.5vw, 2.75rem); line-height: 1.05; letter-spacing: -0.01em; max-width: 46rem; }
.blog-banner .prose { font-size: 0.9375rem; max-width: 40rem; }
.infa-blog-banner--start .v-stack { justify-items: start; text-align: start; }
.blog-banner .nav-categories { border: 0; }
.blog-banner .nav-categories ul { gap: 0.375rem; }
.blog-banner .nav-categories a { border: 1px solid var(--infa-navy-20); border-radius: 999px; padding: 0.3rem 0.8rem; font-size: 0.75rem; font-weight: 500; }
.blog-banner .nav-categories [aria-selected="true"] a, .blog-banner .nav-categories a.selected { background: var(--infa-navy); color: #fff; border-color: var(--infa-navy); }
.blog-post-card--featured { border-radius: var(--infa-radius); overflow: hidden; }
.blog-post-card--featured .blog-post-card__info { background: var(--infa-navy); color: #E5E0D6; padding: 2.5rem; }
.blog-post-card--featured .blog-post-card__info .h4, .blog-post-card--featured .blog-post-card__info .h3 { font-family: var(--infa-serif); font-weight: 300; font-size: 1.875rem; color: #fff; }
.blog-post-card--featured .infa-chip { border-color: rgb(255 255 255 / .5); color: #fff; }
.blog-posts-newsletter { border-radius: var(--infa-radius); }

/* Article */
.article-banner__content .badge, .article__category { background: var(--infa-navy); color: #fff; border-radius: 999px; font-size: 0.625rem; letter-spacing: .14em; text-transform: uppercase; padding: 0.35rem 0.75rem; }
.article .h1, .article-banner__content .h1, .article-banner__content .h0 { font-family: var(--infa-serif); font-weight: 300; font-size: clamp(2rem, 3.5vw, 2.75rem); line-height: 1.05; max-width: 30rem; margin-inline: auto; }
.article__meta { font-size: 0.75rem; color: var(--infa-navy-60); }
.article-banner__image, .article-banner__image > img { border-radius: var(--infa-radius); }
.article-content { font-size: 0.9375rem; line-height: 1.65; }
.article-content h2, .article-content h3 { font-family: var(--infa-sans); font-weight: 500; font-size: 1.125rem; margin-block: 1.75rem 0.5rem; }
.article-content blockquote { font-family: var(--infa-serif); font-weight: 300; font-size: 1.5rem; line-height: 1.3; text-align: center; border: 0; padding: 2rem 1rem; margin: 2rem 0; background: var(--infa-beige-25); border-radius: var(--infa-radius); }
.article-content img { border-radius: var(--infa-radius); }
.article-prev-next, .article-navigation { display: none; }

/* Timeline (About: where it all began) */
.timeline__slide .h2, .timeline__slide .h3 { font-family: var(--infa-serif); font-weight: 300; font-size: 2rem; line-height: 1.05; }
.timeline__image img { border-radius: var(--infa-radius); }
.timeline__nav { display: none; }
.timeline__controls .circle-chevron { border: 1px solid var(--infa-navy-20); }

/* Media with text, multi column, text-with-icons on content pages */
.media-with-text__item .h2, .media-with-text__item .h3, .multi-column .h3, .multi-column .h4 { font-family: var(--infa-serif); font-weight: 300; }
.media-with-text__item .h2, .media-with-text__item .h3 { font-size: 1.75rem; line-height: 1.05; }
.media-with-text__item img { border-radius: var(--infa-radius); }
.media-with-text .prose { font-size: 0.875rem; }
.infa-card-section .section { background: #fff; border-radius: var(--infa-radius); }
.shopify-section--text-with-icons .h5, .shopify-section--text-with-icons .h6 { font-weight: 500; }

/* Rich text: serif headings, quote card variant */
.shopify-section--rich-text .h2, .shopify-section--rich-text .h1, .shopify-section--rich-text .h3 { font-family: var(--infa-serif); font-weight: 300; line-height: 1.1; }
.shopify-section--rich-text .prose { font-size: 0.9375rem; }
.infa-quote-card .section { background: #fff; border-radius: var(--infa-radius); }
.infa-quote-card .h3, .infa-quote-card .h2 { font-size: clamp(1.375rem, 2.2vw, 1.75rem); }

/* Specification table (warranty periods) */
.shopify-section--specification-table .section-header .h2 { font-size: 1.875rem; }
.specification-table, .spec-table { border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); overflow: hidden; font-size: 0.8125rem; }
.specification-table td:last-child, .spec-table td:last-child { text-align: end; font-weight: 500; white-space: nowrap; }

/* Accordion content (warranty conditions) */
.shopify-section--accordion-content .section-header .h2 { font-size: 1.875rem; }
.shopify-section--accordion-content .accordion { border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); background: #fff; padding-inline: 1.25rem; margin-block-end: 0.75rem; }
.shopify-section--accordion-content .accordion__toggle { font-size: 0.9375rem; font-weight: 500; }
.shopify-section--accordion-content .accordion .circle-chevron { background: var(--infa-beige-50); border-radius: 50%; }

/* Comparison table */
.shopify-section--comparison-table .section-header .h2 { font-size: 2.5rem; }
.comparison-table, .comparison-table__table { font-size: 0.8125rem; }
.comparison-table th:first-child, .comparison-table td:first-child { background: var(--infa-beige-25); color: var(--infa-navy-60); font-weight: 500; }
.comparison-table img { background: var(--infa-beige-50); border-radius: var(--infa-radius); }

/* Native contact section (fallback) */
.shopify-section--contact .h2 { font-family: var(--infa-serif); font-weight: 300; }

/* FAQ page: white cards on beige, serif group headings */
.infa-faq-page .shopify-section--faq .section { --section-spacing-block: 1rem; }
.shopify-section--faq .section-stack__intro .h2 { font-size: 1.875rem; }
.shopify-section--faq .section-stack__intro .prose { font-size: 0.8125rem; color: var(--infa-navy-60); }

/* Careers: values row with image icons */
.shopify-section--text-with-icons .text-with-icons__item img { width: 3rem; height: 3rem; object-fit: contain; }

/* Logo list placeholders (retail partners) */
.shopify-section--logo-list .logo-list__item svg.placeholder, .shopify-section--logo-list .logo-list__item .placeholder-svg { width: 5rem; height: 3rem; }
/* Policy content headings from page HTML */
.infa-policy__content h1, .infa-policy__content h2, .infa-policy__content h3, .infa-policy__content h4 { font-family: var(--infa-sans); font-weight: 500; font-size: 1.25rem; letter-spacing: 0; margin: 1.75rem 0 0.5rem; }
/* About: quote and sustainability cards */
.infa-quote-card .section, .infa-card-section .section { border-radius: var(--infa-radius); }


/* ==========================================================================
   Collection page feedback round (14 Sep)
   ========================================================================== */
:root { --infa-symbol-mask: url("data:image/svg+xml,%3Csvg preserveAspectRatio=%22none%22 overflow=%22visible%22 style=%22display: block%3B%22 width=%2225.4599%22 height=%2214.6776%22 viewBox=%220 0 25.4599 14.6776%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E %3Cg id=%22Group 76%22%3E %3Cpath id=%22Vector%22 d=%22M0 9.9752V14.6776H9.40486V9.9752H0Z%22 fill=%22%23204863%22/%3E %3Cpath id=%22Vector_2%22 d=%22M6.0797 1.41518e-06L2.75456 3.32514L9.40483 9.97525L12.7301 6.65027L6.0797 1.41518e-06Z%22 fill=%22%23204863%22/%3E %3Cpath id=%22Vector_3%22 d=%22M25.4599 9.9752V14.6776H16.0551V9.9752H25.4599Z%22 fill=%22%23204863%22/%3E %3Cpath id=%22Vector_4%22 d=%22M19.3803 1.41518e-06L22.7054 3.32514L16.0551 9.97525L12.73 6.65027L19.3803 1.41518e-06Z%22 fill=%22%23204863%22/%3E %3C/g%3E %3C/svg%3E"); }

/* Banner: no extra top gap, content box sits bottom-left */
.shopify-section--collection-banner .section { --section-spacing-block-start: 1.5rem; }
.shopify-section--collection-banner + .shopify-section .section { --section-spacing-block-start: 1.5rem; }
.collection-banner .v-stack { margin: 1.5rem; }
@media screen and (min-width: 700px) { .collection-banner.content-over-media > div:has(> .v-stack) { place-self: end start !important; } }
.collection-banner .content-over-media > :not(picture):not(img) { padding: 0; }

/* Featured product chip */
.collection-featured-product { max-width: none; margin: 1.5rem; }
.collection-featured-product__title { display: none; }
.infa-featured-chip { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0.875rem; color: var(--infa-navy); }
.infa-featured-chip__image { width: 2.75rem; height: 2.75rem; object-fit: contain; border-radius: 6px; background: var(--infa-beige-50); }
.infa-featured-chip__text { display: grid; font-size: 0.9375rem; white-space: nowrap; }
.infa-featured-chip__text::before { content: "Featured product"; font-size: 0.75rem; color: var(--infa-navy-60); }
.infa-featured-chip__title { display: inline; }
.infa-featured-chip__arrow { margin-inline-start: auto; font-size: 1rem; }

/* Toolbar: cream bar with count, sort and compare */
.collection { margin-block-start: 1.5rem !important; }
@media screen and (min-width: 1000px) {
  .collection__top-bar { grid-template-columns: minmax(0, 1fr) auto auto !important; column-gap: 1rem !important; align-items: center; }
  .collection--filters-sidebar .collection__top-bar { grid-template-columns: minmax(0, 1fr) auto auto !important; }
}
.collection__top-bar { background: var(--infa-beige-25); border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); padding: 0.75rem 1.25rem; }
.collection__top-bar .facets-summary { justify-content: end; grid-column: auto !important; }
.infa-toolbar__count strong { font-weight: 500; }
.infa-toolbar__compare { font-size: 0.6875rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; padding: 0.45rem 0.875rem; background: #fff; }
.sort-by-facet { font-size: 0.8125rem; }

/* Promo tile in the grid */
/* Collection promo tile (Figma 10514:7438): 47px top / 28px sides, 6.8px stack gap, inline pill button, Infa symbol bleeding off the bottom-right */
.product-list__promo { position: relative; border-radius: 14px; overflow: hidden; display: block !important; grid-template-rows: none !important; min-height: 0 !important; background: var(--infa-beige-50); }
.product-list__promo::after { content: ""; position: absolute; left: 11%; top: 66%; width: 105%; aspect-ratio: 25.46 / 14.68; background: #C5C5CB; -webkit-mask: var(--infa-symbol-mask) no-repeat left top / contain; mask: var(--infa-symbol-mask) no-repeat left top / contain; pointer-events: none; z-index: 0; }
.product-list__promo .content-over-media { padding: 2.9375rem 1.75rem 10rem !important; min-height: 0 !important; height: 100%; display: block; position: relative; z-index: 1; }
.product-list__promo .content-over-media::before, .product-list__promo .content-over-media::after { display: none !important; }
.product-list__promo .content-over-media > div { padding: 0 !important; place-self: auto !important; max-width: none !important; }
.product-list__promo .v-stack { display: flex !important; flex-direction: column; align-items: flex-start; gap: 0.425rem !important; }
.product-list__promo .prose { display: flex; flex-direction: column; gap: 0.425rem; }
.product-list__promo .prose > * { margin: 0 !important; }
.product-list__promo .infa-promo__eyebrow { font-size: 0.71875rem; letter-spacing: 0.18em; line-height: 1.55; text-transform: uppercase; font-weight: 400; color: var(--infa-navy-60); margin: 0 !important; }
.product-list__promo .h2, .product-list__promo .h3, .product-list__promo .h4 { font-family: var(--infa-serif); font-weight: 300; font-size: 1.625rem; line-height: 1.1; letter-spacing: 0.004em; color: var(--infa-navy); }
.product-list__promo .prose > p:not(.infa-promo__eyebrow):not(.h2):not(.h3):not(.h4) { font-size: 0.875rem; line-height: 1.55; color: var(--infa-navy-80); max-width: 220px; padding-bottom: 0.6rem; }
.product-list__promo .h-stack { display: inline-flex !important; width: auto !important; align-self: flex-start; background: var(--infa-navy); color: var(--infa-beige); border-radius: 999px; padding: 0.6875rem 1.375rem; font-size: 0.84375rem; line-height: 1.55; gap: 0; }
.product-list__promo .h-stack .circle-button { display: none; }
.product-list__promo .h-stack .bold { font-weight: 400; }

/* Promo tile with a photo (brand pages): the picture fills the tile, the overlay colour/opacity from the block tints it, text uses the block's text colour, the Infa symbol is dropped */
.product-list__promo:has(picture) { background: var(--infa-navy); }
.product-list__promo:has(picture)::after { display: none; }
.product-list__promo:has(picture) picture { position: absolute; inset: 0; z-index: 0; }
.product-list__promo:has(picture) picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.product-list__promo:has(picture) .content-over-media::before { display: block !important; content: ""; position: absolute; inset: 0; background-color: rgb(var(--content-over-media-overlay)); background-image: linear-gradient(to top, rgb(0 0 0 / 0.45) 0%, rgb(0 0 0 / 0) 65%); z-index: 1; pointer-events: none; }
.product-list__promo:has(picture) .content-over-media > div { position: relative; z-index: 2; }
.product-list__promo:has(picture) .prose > * { text-shadow: 0 1px 2px rgb(0 0 0 / 0.25); }
.product-list__promo:has(picture) .infa-promo__eyebrow, .product-list__promo:has(picture) .h2, .product-list__promo:has(picture) .h3, .product-list__promo:has(picture) .h4, .product-list__promo:has(picture) .prose > p:not(.infa-promo__eyebrow):not(.h2):not(.h3):not(.h4) { color: rgb(var(--text-color)); }
.product-list__promo:has(picture) .infa-promo__eyebrow { opacity: 0.8; }
.product-list__promo:has(picture) .h-stack { background: #fff; color: var(--infa-navy); }
.product-list__promo:has(picture) .content-over-media { min-height: 24rem; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 2rem !important; }

/* Media with text: a custom icon sits on its own line above the subheading pill (feature pages) */
.media-with-text__icon { display: block !important; margin-block-end: 1.25rem !important; }
.media-with-text__icon + .subheading { margin-block-start: 0; }

/* Category tiles: equal heights, no inner inset */
.collection-card { aspect-ratio: 4 / 5; position: relative; }
.collection-card .content-over-media { position: absolute; inset: 0; height: 100%; display: block; }
.collection-card .content-over-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.collection-card__content-wrapper { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; grid-area: auto !important; place-self: stretch !important; z-index: 2; padding: 1.125rem 1.25rem; display: grid; align-content: end; justify-content: start; }
.collection-card__content-wrapper svg { display: none; }

/* Testimonials: faint symbol behind the cards */
.shopify-section--testimonials .section { position: relative; overflow: hidden; }
.shopify-section--testimonials .section::before { content: ""; position: absolute; left: -6%; bottom: -12%; width: 26rem; aspect-ratio: 25.46 / 14.68; background: #fff; opacity: .05; -webkit-mask: var(--infa-symbol-mask) no-repeat center / contain; mask: var(--infa-symbol-mask) no-repeat center / contain; pointer-events: none; }
.shopify-section--testimonials .section > * { position: relative; }


/* PDP feedback round (14 Sep) */
.infa-buy-row .quantity-selector { width: 100%; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; align-items: center; }
.infa-buy-row .quantity-selector__input { width: 100% !important; min-width: 0; padding: 0; }
.product-info__price compare-at-price { font-size: 0.9375rem; font-weight: 400; color: var(--infa-navy-60); }
.product-info__price .price-list { align-items: baseline; gap: 0.5rem; }
.infa-product__summary { font-size: 0.8125rem; line-height: 1.5; }
.infa-product__summary ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.infa-product__summary li { position: relative; padding-inline-start: 1.5rem; }
.infa-product__summary li::before { content: ""; position: absolute; left: 0; top: 0.1em; width: 1rem; height: 1rem; border-radius: 50%; background: var(--infa-navy-60); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M4.6 8.2l2.3 2.3 4.5-4.6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M4.6 8.2l2.3 2.3 4.5-4.6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.infa-product__summary p { margin: 0 0 0.5rem; }
.infa-product__action { box-shadow: inset 0 0 0 1px var(--infa-navy-20) !important; color: var(--infa-navy); font-weight: 400; }
.infa-product__action:hover { box-shadow: inset 0 0 0 1px var(--infa-navy) !important; }
.infa-product__pairs .horizontal-product { padding: 0.75rem; }
.infa-why--plain .infa-why__item { background: var(--infa-beige-50); }
.infa-why__item { white-space: normal; line-height: 1.3; }
@media screen and (min-width: 1000px) { .infa-details { grid-template-columns: minmax(0, 1fr) 19rem; } }

/* ---- ProductReview.com.au inline rating (cards + PDP) ---- */
.pr-inline-rating { display: block; line-height: 1; }
.pr-inline-rating:empty { display: none; }
.product-card__info .pr-inline-rating { margin-block: 0.125rem 0.25rem; }
.product-info__rating .pr-inline-rating,
.rating-with-text .pr-inline-rating { margin-block-start: 0.25rem; }
.collection-card__content, .collection-card__content p { color: #fff !important; opacity: 1 !important; text-shadow: 0 1px 2px rgb(0 28 59 / .25); }

/* ---- Klaviyo back in stock ---- */
.infa-bis { margin-top: 0.75rem; }
.infa-bis:empty { display: none; }
.infa-bis .infa-bis-button, .infa-bis a, .infa-bis button { display: block; width: 100%; box-sizing: border-box; background: var(--infa-navy); color: var(--infa-beige) !important; border-radius: 999px; padding: 1rem 1.5rem; font-weight: 500; text-align: center; text-decoration: none; cursor: pointer; border: 0; }
.infa-spotlight__content .subheading { border: 0; padding: 0; background: none; font-size: 0.6875rem; letter-spacing: 0.18em; color: var(--infa-navy-60); margin: 0 0 -0.5rem; }
.infa-bis[hidden] { display: none !important; }
/* Category tiles: text above the gradient, no hover slide (Figma 10514:7470) */
.collection-card__content-wrapper { z-index: 3 !important; }
.collection-card .collection-card__content, .collection-card:hover .collection-card__content { transform: none !important; }
.collection-card__content .h5, .collection-card__content .h4, .collection-card__content .h3 { font-size: 1.0625rem; line-height: 1.2; }
.collection-card .content-over-media::after { background: linear-gradient(to top, rgb(var(--infa-navy-rgb) / .72) 0%, rgb(var(--infa-navy-rgb) / .3) 28%, rgb(var(--infa-navy-rgb) / 0) 52%); }
/* Shop the moment tiles: sans medium titles (32px large tile, 24px small) */
.media-grid__item .h5, .media-grid__item .h4, .media-grid__item .h3 { font-family: var(--infa-sans); font-weight: 500; font-size: 1.5rem; line-height: 1.1; letter-spacing: 0; }
.media-grid__item[style*="--media-grid-column-span: 2"] .h5, .media-grid__item[style*="--media-grid-column-span: 2"] .h4 { font-size: 2rem; }
.media-grid__caption { font-size: 0.9375rem; font-weight: 400; }
/* Learn with us: 3 cards, 24px gutters (Figma) */
@media screen and (min-width: 1000px) { .shopify-section--blog-posts .blog-posts { gap: 1.5rem !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .blog-posts__container .blog-posts { column-gap: 1.5rem !important; row-gap: 2.5rem !important; } }
@media screen and (min-width: 700px) and (max-width: 999px) { .blog-posts { gap: 1.5rem !important; } }
.infa-stats__content .button--outline { color: inherit !important; background: transparent !important; box-shadow: inset 0 0 0 1px currentColor !important; margin-top: 0.5rem; }
/* Article hero: contained 16:9 image with rounded corners (Figma 10514:6155) */
.article-banner__image { max-width: 50rem; margin-inline: auto; border-radius: var(--infa-radius); overflow: hidden; }
.article-banner__image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; height: auto; }
.article-banner { --article-banner-image-offset: 0 !important; }
/* FAQ page: white cards edge to edge on the cream page, tight stacking (Figma 10514:8563) */
.template-page-faq .shopify-section--faq .section { padding-block: 0.75rem !important; }
.template-page-faq .shopify-section--faq:first-of-type .section { padding-block-start: 1.5rem !important; }
.template-page-faq .shopify-section--faq .section-stack--horizontal { padding: 2.5rem 2rem !important; border-radius: var(--infa-radius); }
.template-page-faq .shopify-section--faq .section-stack__main { flex: 1 1 60%; }
/* Warranty page: heading above full-width tables / accordions (Figma 10514:9714) */
.template-page-warranty .shopify-section--specification-table .section-stack--horizontal,
.template-page-segmented .shopify-section--specification-table .section-stack--horizontal,
.template-page-warranty .shopify-section--accordion-content .section-stack--horizontal, .template-page-segmented .shopify-section--accordion-content .section-stack--horizontal { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 1.5rem !important; }
.template-page-warranty .shopify-section--specification-table .section-stack__intro,
.template-page-segmented .shopify-section--specification-table .section-stack__intro,
.template-page-warranty .shopify-section--accordion-content .section-stack__intro, .template-page-segmented .shopify-section--accordion-content .section-stack__intro { max-width: 46rem; }
.template-page-warranty .shopify-section--specification-table .section-stack__main,
.template-page-segmented .shopify-section--specification-table .section-stack__main,
.template-page-warranty .shopify-section--accordion-content .section-stack__main, .template-page-segmented .shopify-section--accordion-content .section-stack__main { width: 100%; }
.template-page-warranty .feature-chart, .template-page-segmented .feature-chart { border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); overflow: hidden; }
.template-page-warranty .feature-chart__table-row, .template-page-segmented .feature-chart__table-row { display: grid !important; grid-template-columns: minmax(0, 1fr) 9rem !important; padding: 0 !important; gap: 0 !important; align-items: stretch; border-block-start: 1px solid var(--infa-navy-10); background: #fff; }
.template-page-warranty .feature-chart__table-row:first-child, .template-page-segmented .feature-chart__table-row:first-child { border-block-start: 0; }
.template-page-warranty .feature-chart__table-row > *, .template-page-segmented .feature-chart__table-row > * { padding: 0.75rem 1.25rem; font-size: 0.8125rem; }
.template-page-warranty .feature-chart__value, .template-page-segmented .feature-chart__value { background: var(--infa-beige-50); text-align: center; color: var(--infa-navy) !important; font-weight: 500; display: grid; place-items: center; }
.template-page-warranty .feature-chart__value p, .template-page-segmented .feature-chart__value p { margin: 0; }
.template-page-warranty .feature-chart__table, .template-page-segmented .feature-chart__table { overflow: visible; }
.template-page-warranty .shopify-section--specification-table .section-stack__intro .h2, .template-page-segmented .shopify-section--specification-table .section-stack__intro .h2 { font-family: var(--infa-serif); font-weight: 300; font-size: 1.875rem; }
.template-page-warranty .shopify-section--accordion-content .accordion-box, .template-page-segmented .shopify-section--accordion-content .accordion-box { background: transparent; border: 0; padding: 0; display: grid; gap: 0.75rem; }
.template-page-warranty .shopify-section--accordion-content .accordion, .template-page-segmented .shopify-section--accordion-content .accordion { background: #fff; border: 1px solid var(--infa-navy-10); border-radius: var(--infa-radius); padding: 0.25rem 1.25rem; }
.template-page-warranty .feature-chart__heading, .template-page-segmented .feature-chart__heading { font-weight: 400 !important; }
.template-page-warranty .shopify-section--specification-table .section, .template-page-segmented .shopify-section--specification-table .section { padding-block: 2rem !important; }
.infa-policy .prose h2, .infa-policy .prose h3 { font-size: 1.125rem; font-weight: 500; line-height: 1.3; margin-block: 1.75rem 0.5rem; }
/* PDP video: contained 16:9 (Figma) */
.template-product .shopify-section--video .content-over-media { max-width: 54rem; margin-inline: auto; aspect-ratio: 16 / 9 !important; border-radius: var(--infa-radius); overflow: hidden; }

/* Mobile pass (15 Sep) */
@media screen and (max-width: 699px) {
  .product-card { --product-card-badge-spacing: 0.5rem; }
  .product-card .badge { font-size: 0.5625rem; letter-spacing: 0.06em; padding: 0.25rem 0.5rem; }
  .product-card .product-card__badge-list { gap: 0.25rem; }
  .media-grid__item .h5, .media-grid__item .h4, .media-grid__item .h3 { font-size: 1.125rem !important; }
  .media-grid__item[style*="--media-grid-column-span: 2"] .h5, .media-grid__item[style*="--media-grid-column-span: 2"] .h4 { font-size: 1.5rem !important; }
  .media-grid__caption { font-size: 0.75rem; }
  .media-grid__item .content-over-media::before { background: linear-gradient(to top, rgb(var(--infa-navy-rgb) / .75) 0%, rgb(var(--infa-navy-rgb) / .2) 55%, rgb(var(--infa-navy-rgb) / 0) 80%); }
  .media-grid__item .content-over-media > div { padding: 0.875rem !important; }
}
/* About page hero: wordmark above the heading (Figma 10514:10995) */
.template-page-about .shopify-section--image-with-text-overlay .prose::before,
.template-page-about_combined .shopify-section--image-with-text-overlay .prose::before,
.template-page-careers .shopify-section--image-with-text-overlay .prose::before,
.template-page-join-our-team .shopify-section--image-with-text-overlay .prose::before { content: ""; display: block; width: 9.5rem; height: 2rem; margin: 0 auto 0.25rem; background: url("/cdn/shop/files/infa-wordmark-beige.svg?v=1789024016") center / contain no-repeat; opacity: .95; }
.template-page-about .shopify-section--image-with-text-overlay .subheading,
.template-page-about_combined .shopify-section--image-with-text-overlay .subheading,
.template-page-careers .shopify-section--image-with-text-overlay .subheading,
.template-page-join-our-team .shopify-section--image-with-text-overlay .subheading { background: transparent; border: 0; letter-spacing: .18em; font-size: 0.6875rem; opacity: .8; }

.template-page-warranty .feature-chart, .template-page-segmented .feature-chart { padding: 0 !important; }
.template-page-warranty .feature-chart__table, .template-page-segmented .feature-chart__table { padding: 0 !important; margin: 0 !important; }

.infa-brand-bar__logo--mono { filter: brightness(0) saturate(100%) invert(8%) sepia(38%) saturate(2800%) hue-rotate(198deg) brightness(92%); }
.search-banner { padding-block-end: var(--spacing-8); }
@media screen and (min-width: 1000px) { .search-banner { padding-block-end: var(--spacing-12); } }

/* Bundler app widget (bundle products): restyled to match the Infa buy box */
/* Bundle "Colours available" row reuses the variant picker markup, so it inherits the swatch styles above */
.bundler-target-element { margin: 0 !important; }
.bndlr-container, .bndlr-products-container, .bndlr-inner-products-container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.bndlr-inner-products-container > div:first-child { display: grid !important; grid-template-columns: 100%; gap: 0.5rem; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; justify-items: stretch; }
/* Bundler's own title ("Bundle & Save!" etc, set per bundle in the Bundler app) and description are hidden: the theme's "What's in the bundle" heading does that job. Everything inside left-aligns. */
.bndlr-bundle-title, .bndlr-bundle-description, .bndlr-product-overlay, .bndlr-bottom-pusher, .bndlr-product-price, .sealsubs-target-element { display: none !important; }
.bndlr-container, .bndlr-container * { text-align: left !important; }
.bndlr-product {
  display: grid !important; grid-template-columns: 2.75rem minmax(0, 1fr) auto; align-items: center; gap: 0.875rem;
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0.625rem 0.75rem !important;
  border: 1px solid var(--infa-navy-10) !important; border-radius: var(--infa-radius) !important; background: #fff; box-sizing: border-box; box-shadow: none !important;
}
.bndlr-sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bndlr-product::after, .bndlr-product::before { display: none !important; }
.bndlr-product-image-url { display: block; width: 2.75rem; height: 2.75rem; border-radius: 6px; overflow: hidden; background: var(--infa-beige-50); }
.bndlr-product-image { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; margin: 0 !important; }
.bndlr-product-qn-container { width: auto !important; text-align: left !important; margin: 0 !important; padding: 0 !important; }
.bndlr-product-title { font-size: 0.875rem; font-weight: 500; color: var(--infa-navy); text-decoration: none; display: block; }
.bndlr-price-custom { display: block; font-size: 0.75rem; font-weight: 400; color: var(--infa-navy-60); margin-top: 0.125rem; }
.bndlr-price-custom s { margin-right: 0.25rem; }
.bndlr-select-variant {
  width: auto !important; max-width: 10rem; margin: 0 !important; padding: 0.5rem 2rem 0.5rem 0.75rem !important;
  font: inherit; font-size: 0.8125rem; color: var(--infa-navy); background: #fff; border: 1px solid var(--infa-navy-20) !important; border-radius: 999px !important;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath d='m1 1.5 3 3 3-3' fill='none' stroke='%23001C3B' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.75rem center;
}
.bndlr-select-variant:only-of-type:not([multiple]) option:only-child { display: none; }
.bndlr-product:has(.bndlr-select-variant option:only-child) .bndlr-select-variant { display: none; }
.bndlr-total-price { display: none !important; } /* the bundle price already sits at the top of the buy box */
.bndlr-add-to-cart {
  display: flex !important; align-items: center; justify-content: center; width: 100% !important; max-width: none !important; min-height: 3.25rem;
  margin: 0.5rem 0 0 !important; padding: 0.9rem 1.5rem !important; border-radius: 999px !important;
  background: var(--infa-navy, #001c3b) !important; color: #e5e0d6 !important; font-weight: 500; font-size: 0.9375rem; border: 0 !important; cursor: pointer; transition: opacity .15s;
}
.bndlr-add-to-cart:hover { opacity: .9; }
.bndlr-add-to-cart[data-active="false"] { opacity: .5; cursor: not-allowed; }
.bndlr-bundle-checkout-warning { font-size: 0.75rem; color: var(--infa-navy-60); margin-top: 0.5rem; }
@media screen and (max-width: 699px) {
  .bndlr-product { grid-template-columns: 2.75rem minmax(0, 1fr); }
  .bndlr-select-variant { grid-column: 2; max-width: none; width: 100% !important; }
}

/* Product page: the product's other videos as thumbnails under the video band */
.template-product .shopify-section--video .section { padding-block-end: 3rem !important; }
.template-product .shopify-section--video:has(.infa-more-videos) .section { padding-block-end: 1.25rem !important; }
.infa-more-videos { margin: 1.25rem auto 0; padding: 0 1.25rem 3rem; max-width: 56.5rem; box-sizing: border-box; }
.infa-more-videos__title { font-family: var(--infa-sans); font-weight: 500; font-size: 1rem; margin-bottom: 0.75rem; }
.infa-more-videos__grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media screen and (min-width: 700px) { .infa-more-videos__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }
.infa-more-videos__item { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: var(--infa-radius); overflow: hidden; background: var(--infa-navy); cursor: pointer; }
.infa-more-videos__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s, opacity .3s; }
.infa-more-videos__item:hover img { transform: scale(1.04); }
.infa-more-videos__item::after { content: ''; position: absolute; inset: 0; background: rgb(0 28 59 / .2); }
.infa-more-videos__item.is-active::after { background: rgb(0 28 59 / .5); }
.infa-more-videos__play { position: absolute; inset: 0; display: grid; place-items: center; z-index: 1; color: #fff; }
.infa-more-videos__play svg { width: 2.5rem; height: 2.5rem; filter: drop-shadow(0 2px 6px rgb(0 0 0 / .2)); }
.infa-video-playing { position: relative; }
.content-over-media > .infa-video-swapped { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; z-index: 3; background: #000; grid-area: auto; }
.infa-video-swapped iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.infa-video-playing > .place-self-center { display: none; }

/* Sub-collection tiles: photo variant (Category card image) fills the well */
.infa-subcol__well--photo { padding: 0 !important; background: var(--infa-navy-10) !important; }
.infa-subcol__well--photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; mix-blend-mode: normal !important; }

/* Active filter pills: their own row under the toolbar, smaller and quieter */
.infa-active-facets { display: none; grid-column: 1 / -1; margin-top: -0.5rem; }
@media screen and (min-width: 1000px) { .infa-active-facets { display: block; } }
.infa-active-facets .active-facets { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.infa-active-facets .removable-facet { padding: 0.35rem 0.75rem !important; font-size: 0.75rem; gap: 0.5rem; background: #fff; border: 1px solid var(--infa-navy-10); color: var(--infa-navy); }
.infa-active-facets .removable-facet svg { width: 0.625rem; height: 0.625rem; }
.infa-active-facets .facet-clear-all { font-size: 0.75rem; margin-left: 0.25rem; }
.collection__top-bar .facets-summary:empty { display: none; }

/* INFA: product cards on phones (two per row). Tighter padding and smaller type so titles, the ProductReview
   rating and the price pair get the width they need and wrap far less. */
@media screen and (max-width: 699px) {
  .shopify-section--main-collection .product-list, .shopify-section--featured-collection .product-list { --container-gutter: 0.75rem; }
  .main-collection .product-list { margin-inline: -0.25rem; }
  .product-card__figure { padding: 0.75rem 0.75rem 0.25rem; }
  .product-card__info { padding: 0.5rem 0.625rem 0.75rem !important; gap: 0.125rem; }
  .product-card__chips { gap: 0.25rem; margin-block-end: 0.25rem; }
  .product-card__chips .infa-chip { font-size: 0.5625rem; letter-spacing: 0.04em; padding: 0.25rem 0.45rem; }
  .product-card__title { font-size: 0.875rem; line-height: 1.25; }
  .product-card__description { font-size: 0.6875rem; line-height: 1.3; }
  .product-card__info .pr-inline-rating { margin-block: 0 0.125rem; display: flex; flex-wrap: nowrap; align-items: center; gap: 0.25rem; overflow: hidden; max-width: 100%; zoom: 0.82; }
  .product-card__info .pr-inline-rating, .product-card__info .pr-inline-rating * { white-space: nowrap; }
  .product-card .price-list { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 0.375rem; font-size: 0.875rem; margin-block-start: 0.25rem; }
  .product-card__cta { margin-block-start: 0.5rem; }
  .product-card__cta .button { font-size: 0.6875rem; padding: 0.5rem 0.75rem; }
}

/* INFA: pre-order note (variant metafield infa.preorder_note) shown in the stock bar */
.infa-product__stock--preorder { color: var(--infa-navy); }

/* ------------------------------------------------------------------ */
/* INFA compare (native): toggle, sticky bar                            */
/* ------------------------------------------------------------------ */
.infa-compare-toggle { display: inline-block; position: relative; }
.infa-compare-toggle__button { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--infa-navy-60); background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-size: 0.8125rem; }
.infa-compare-toggle__button:hover { color: var(--infa-navy); }
.infa-compare-toggle__box { width: 0.875rem; height: 0.875rem; border: 1px solid var(--infa-navy-40); border-radius: 3px; background: #fff; position: relative; flex: none; }
.infa-compare-toggle.is-active .infa-compare-toggle__button { color: var(--infa-navy); }
.infa-compare-toggle.is-active .infa-compare-toggle__box { background: var(--infa-navy); border-color: var(--infa-navy); }
.infa-compare-toggle.is-active .infa-compare-toggle__box::after { content: ""; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.infa-compare-toggle__tip { position: absolute; left: 0; top: calc(100% + 0.25rem); background: var(--infa-navy); color: #fff; font-size: 0.75rem; padding: 0.375rem 0.625rem; border-radius: 6px; white-space: nowrap; z-index: 5; opacity: 0; pointer-events: none; transition: opacity 0.2s; }
.infa-compare-toggle.is-limit .infa-compare-toggle__tip { opacity: 1; }
.infa-compare-toggle--card { margin-top: 0.5rem; }
.infa-compare-toggle--card .infa-compare-toggle__button { font-size: 0.75rem; }
.product-card__info--center .infa-compare-toggle--card { justify-self: center; }

.infa-compare-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; border-top: 1px solid var(--infa-navy-10); box-shadow: 0 -8px 24px rgba(0, 28, 59, 0.08); padding-block: 0.75rem; }
.infa-compare-bar[hidden] { display: none; }
.infa-compare-bar__inner { display: flex; align-items: center; gap: 1rem 1.5rem; flex-wrap: wrap; }
.infa-compare-bar__summary { display: flex; align-items: baseline; gap: 0.5rem; }
.infa-compare-bar__title { font-weight: 600; color: var(--infa-navy); }
.infa-compare-bar__count { font-size: 0.8125rem; color: var(--infa-navy-60); }
.infa-compare-bar__items { display: flex; gap: 0.5rem; flex: 1 1 auto; flex-wrap: wrap; }
.infa-compare-bar__item { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--infa-beige-25); border-radius: 999px; padding: 0.25rem 0.5rem 0.25rem 0.25rem; font-size: 0.8125rem; color: var(--infa-navy); }
.infa-compare-bar__item img { width: 1.75rem; height: 1.75rem; border-radius: 999px; object-fit: cover; background: #fff; }
.infa-compare-bar__item button { background: none; border: 0; padding: 0 0.125rem; color: var(--infa-navy-60); font-size: 1rem; line-height: 1; cursor: pointer; }
.infa-compare-bar__item button:hover { color: var(--infa-navy); }
.infa-compare-bar__actions { display: flex; align-items: center; gap: 1rem; margin-left: auto; }
.infa-compare-bar__actions .is-disabled { opacity: 0.5; pointer-events: none; }
html.infa-compare-bar-open body { padding-bottom: 4.5rem; }
@media (max-width: 699px) {
  .infa-compare-bar__items { display: none; }
  .infa-compare-bar__inner { gap: 0.75rem; }
  html.infa-compare-bar-open body { padding-bottom: 3.75rem; }
}

/* ---- Colour swatches (Theme settings > Product cards > Colour swatches > Shape = Round) ----
   Circle swatch, thin hairline so pale finishes show on white, navy ring round the selected one. */
.color-swatch { --swatch-offset: 3px; --swatch-size: 1.75rem; box-shadow: inset 0 0 0 1px rgba(0, 28, 59, 0.12); }
.color-swatch--sm { --swatch-size: 1rem; --swatch-offset: 2px; }
.color-swatch:before { box-shadow: 0 0 0 2px var(--infa-navy); }
.color-swatch.ring-inset { box-shadow: inset 0 0 0 1px rgba(0, 28, 59, 0.25); }
:focus-visible + .color-swatch { outline-color: var(--infa-navy); }

/* ---- Swym registry / wishlist buttons mounted in the Infa: list / registry block ----
   Swym injects its pop-up markup next to the registry button, so every rule here targets the button itself, not descendants. */
.infa-product__action { padding: 0; border-radius: 999px; overflow: visible; min-height: 2.5rem; }
.infa-product__action:empty { display: none; }
.infa-product__action > *, .infa-product__action .swym-button-content, .infa-product__action .swym-registry-add-btn-container { width: 100%; margin: 0 !important; }
.infa-product__action .swym-custom-pdp-button { position: static; }
.infa-product__action .swym-button-content > button, .infa-product__action .swym-registry-add-btn-container > #swym-registry-add-modal-btn {
  display: inline-flex !important; width: 100%; min-height: 2.5rem; align-items: center; justify-content: center; gap: 0.5rem;
  margin: 0; padding: 0.7rem 0.5rem; border: 0 !important; border-radius: 999px; box-shadow: none !important;
  background: transparent !important; color: var(--infa-navy) !important; font-family: inherit; font-size: 0.8125rem; font-weight: 400;
  line-height: 1.2; letter-spacing: normal; text-transform: none; white-space: nowrap; cursor: pointer; transition: none;
}
.infa-product__action .swym-button-content > button:hover, .infa-product__action .swym-registry-add-btn-container > #swym-registry-add-modal-btn:hover { transform: none; }
.infa-product__action .swym-button-content > button .swym-icon, .infa-product__action .swym-button-content > button svg { width: 0.875rem; height: 0.875rem; margin: 0; flex: none; }
.infa-product__action .swym-added .swym-button-content > button, .infa-product__action .is-added { color: var(--infa-navy) !important; }
.infa-product__action .swym-registry-disable-add-to-registry-btn, .infa-product__action .swym-registry-disabled { opacity: 0.5; pointer-events: none; }
.infa-product__action .swym-registry-add-btn-container > #swym-registry-add-modal-btn::before { content: ""; width: 0.875rem; height: 0.875rem; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v9H4v-9'/%3E%3Cpath d='M2 7h20v5H2z'/%3E%3Cpath d='M12 21V7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 010-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 000-5C13 2 12 7 12 7z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v9H4v-9'/%3E%3Cpath d='M2 7h20v5H2z'/%3E%3Cpath d='M12 21V7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 010-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 000-5C13 2 12 7 12 7z'/%3E%3C/svg%3E") no-repeat center / contain; }
/* Product-card wishlist heart (Swym quick save, attached to .product-card__figure): pinned bottom left of the image so it never sits on the badge pills */
.product-card__figure > .swym-advanced-wishlist-collections-container, product-card > .swym-advanced-wishlist-collections-container { top: auto !important; bottom: 0.5rem !important; left: 0.5rem !important; right: auto !important; width: auto !important; height: auto !important; padding: 0 !important; }
.swym-advanced-wishlist-collections-container .swym-icon-bg { width: 2.25rem; height: 2.25rem; box-shadow: 0 1px 4px rgba(0, 28, 59, 0.15); }
.swym-advanced-wishlist-collections-container button.swym-advanced-wishlist-collections { color: var(--infa-navy) !important; }
.product-card__figure > .swym-advanced-wishlist-collections-container button.swym-advanced-wishlist-collections { transform: none !important; }
/* Registry pop-ups (Swym renders them inside the mount): undo the theme's button defaults and use the navy */
.swym-registry-add-to-registry-modal-container button, .swym-registry-add-to-registry-success-modal-container button { width: auto; display: inline-flex; align-items: center; justify-content: center; font-family: inherit; }
.swym-registry-modal-close { width: 2rem !important; height: 2rem; padding: 0; top: 0.75rem; right: 0.75rem; background: transparent; color: var(--infa-navy); }
#swym-registry-create-registry-btn, #swym-registry-update-registry { background: var(--infa-navy) !important; color: #fff !important; border-radius: 999px !important; padding: 0.75rem 1.5rem !important; margin-top: 1rem; }
.swym-ui-component { --swym-theme-layout-button-color-bg-primary: #001c3b; --swym-theme-layout-button-border-color-primary: #001c3b; }
.swym-registry-add-to-registry-modal-container, .swym-registry-add-to-registry-success-modal-container { font-size: 1rem; line-height: 1.5; text-align: center; }
.swym-registry-modal-container h2 { font-size: 1.5rem; font-weight: 500; margin: 0 0 0.5rem; }
.swym-registry-modal-container p { margin: 0 0 1rem; }
.swym-registry-modal-container { padding: 2rem 1.5rem !important; border-radius: var(--infa-radius, 8px); }
#swym-registry-create-registry-btn, #swym-registry-update-registry { width: auto !important; min-width: 12rem; font-size: 1rem; }

/* Image with text overlay: brand logo block */
.infa-overlay-logo { margin-block-end: 0.75rem !important; line-height: 0; }
.infa-overlay-logo img { height: var(--infa-overlay-logo-height, 56px); width: auto; max-width: min(70vw, 360px); object-fit: contain; }
@media screen and (max-width: 699px) { .infa-overlay-logo img { height: calc(var(--infa-overlay-logo-height, 56px) * 0.7); } }
