:root {
  --irida-gb-purple: #8d359f;
  --irida-gb-purple-deep: #682177;
  --irida-gb-lilac: #f7eff9;
  --irida-gb-border: #ead7ee;
  --irida-gb-ink: #2e2731;
  --irida-gb-muted: #736a75;
  --irida-gb-gold: #b9954f;
}

/* --------------------------------------------------------------------------
   One modern icon system for desktop, sticky and mobile navigation
   -------------------------------------------------------------------------- */
.irida-menu-icon-home {
  --irida-menu-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5M5.5 10v10h13V10M9 20v-6h6v6'/%3E%3C/svg%3E");
}

.irida-menu-icon-shop {
  --irida-menu-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8Zm4 1V6a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E");
}

.irida-menu-icon-kbeauty {
  --irida-menu-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.4 4.1 4.1 1.4-4.1 1.4L12 14l-1.4-4.1-4.1-1.4 4.1-1.4L12 3Zm6 11 .8 2.2L21 17l-2.2.8L18 20l-.8-2.2L15 17l2.2-.8L18 14'/%3E%3C/svg%3E");
}

.irida-menu-icon-bio {
  --irida-menu-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4C11 4 5 9 5 15c0 3 2 5 5 5 6 0 10-6 10-16ZM8 17c2-3 5-5 9-7'/%3E%3C/svg%3E");
}

.irida-menu-icon-living {
  --irida-menu-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12V8a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v4M5 11a2 2 0 0 0-2 2v5h18v-5a2 2 0 0 0-2-2M6 18v2m12-2v2'/%3E%3C/svg%3E");
}

.irida-menu-icon-box {
  --irida-menu-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 7 8-4 8 4-8 4-8-4Zm0 0v10l8 4 8-4V7M12 11v10'/%3E%3C/svg%3E");
}

#menu-main-navigation > .irida-menu-icon > a::before,
#menu-mobile-navigation > .irida-menu-icon > a::before {
  content: "";
  width: 16px !important;
  height: 16px !important;
  display: block;
  flex: 0 0 16px;
  position: absolute !important;
  inset: 50% auto auto -4px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: currentColor !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
  -webkit-mask: var(--irida-menu-mask) center / contain no-repeat;
  mask: var(--irida-menu-mask) center / contain no-repeat;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   Dedicated Gift Card entry below the shop price filter
   -------------------------------------------------------------------------- */
.irida-gift-sidebar-card {
  width: 100%;
  margin: 18px 0 6px;
}

.irida-gift-sidebar-card > a {
  min-height: 210px;
  padding: 22px 18px 18px;
  border: 1px solid #dfc6e4;
  border-radius: 17px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #3f2d43;
  background:
    radial-gradient(circle at 100% 0, rgba(192, 119, 205, .2), transparent 42%),
    linear-gradient(145deg, #fff, #f8eef9);
  box-shadow: 0 12px 30px rgba(91, 48, 99, .1);
  text-decoration: none !important;
  overflow: hidden;
  isolation: isolate;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.irida-gift-sidebar-card > a::after {
  content: "";
  width: 94px;
  height: 94px;
  border: 18px solid rgba(141, 53, 159, .055);
  border-radius: 50%;
  position: absolute;
  right: -49px;
  top: -49px;
  z-index: -1;
}

.irida-gift-sidebar-card > a:hover,
.irida-gift-sidebar-card > a:focus-visible {
  color: #39243e;
  border-color: #cda5d5;
  box-shadow: 0 16px 36px rgba(91, 48, 99, .15);
  transform: translateY(-2px);
}

.irida-gift-sidebar-card > a:focus-visible {
  outline: 3px solid rgba(141, 53, 159, .2);
  outline-offset: 3px;
}

.irida-gift-sidebar-icon {
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--irida-gb-purple-deep), #b451c1);
  box-shadow: 0 8px 18px rgba(104, 33, 119, .2);
}

.irida-gift-sidebar-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.irida-gift-sidebar-kicker {
  margin-bottom: 5px;
  color: var(--irida-gb-purple);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .12em;
}

.irida-gift-sidebar-card strong {
  margin-bottom: 7px;
  color: #38283c;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.15;
}

.irida-gift-sidebar-copy {
  color: #736a75;
  font-size: 12px;
  line-height: 1.5;
}

.irida-gift-sidebar-cta {
  width: 100%;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(141, 53, 159, .13);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #723181;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .045em;
}

/* Basel gives the mobile off-canvas sidebar two nested, full-viewport scroll
   layers. Their combined height clips the last widget even at maximum scroll.
   Keep the close row fixed and make one correctly sized element responsible
   for scrolling the complete category/price/Gift Card stack. */
@media (max-width: 1024px) {
  body.woocommerce.archive.offcanvas-sidebar-mobile .sidebar-container.area-sidebar-shop > .sidebar-inner.basel-scroll,
  body.offcanvas-sidebar-mobile .sidebar-container.area-sidebar-shop > .sidebar-inner.basel-scroll {
    top: 67px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100vh - 67px) !important;
    height: calc(100dvh - 67px) !important;
    max-height: calc(100vh - 67px) !important;
    max-height: calc(100dvh - 67px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce.archive.offcanvas-sidebar-mobile .sidebar-container.area-sidebar-shop > .sidebar-inner.basel-scroll > .widget-area.basel-sidebar-content,
  body.offcanvas-sidebar-mobile .sidebar-container.area-sidebar-shop > .sidebar-inner.basel-scroll > .widget-area.basel-sidebar-content {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    padding-bottom: max(34px, env(safe-area-inset-bottom)) !important;
    position: static !important;
    inset: auto !important;
    overflow: visible !important;
    box-sizing: border-box;
  }
}

.irida-feature-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  flex: 0 0 16px;
  position: static !important;
  margin: 0 !important;
}

.irida-feature-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

/* Basel draws a decorative ::before underline/icon on every menu link. The
   feature links already contain their own SVG, so the theme pseudo-element
   must not sit behind it as an extra square. */
#menu-main-navigation > .irida-menu-feature > .irida-feature-link::before,
#menu-mobile-navigation > .irida-menu-feature > .irida-feature-link::before {
  content: none !important;
  display: none !important;
}

/* --------------------------------------------------------------------------
   Desktop + sticky navigation
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
  #menu-main-navigation {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap !important;
  }

  #menu-main-navigation > li {
    flex: 0 0 auto;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  #menu-main-navigation > li > a {
    min-height: 44px;
    padding-right: 2px !important;
    padding-left: 18px !important;
    display: inline-flex !important;
    position: relative;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 11px !important;
    line-height: 1;
    letter-spacing: .035em;
    white-space: nowrap;
  }

  #menu-main-navigation > .menu-item-has-children > a {
    padding-right: 14px !important;
  }

  #menu-main-navigation > .irida-menu-feature {
    display: inline-flex;
    align-items: center;
    margin-left: 4px !important;
    vertical-align: middle;
  }

  #menu-main-navigation > .irida-menu-feature > .irida-feature-link {
    min-height: 34px;
    padding: 7px 11px !important;
    border: 1px solid var(--irida-gb-border);
    border-radius: 10px;
    color: #6c3977;
    background: #fbf7fc;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(104, 33, 119, .055);
    transition: transform .2s ease, border-color .2s ease, color .2s ease, background-color .2s ease;
  }

  #menu-main-navigation > .irida-menu-brands > .irida-feature-link {
    color: #5c5360;
    background: #fff;
  }

  #menu-main-navigation > .irida-menu-feature > .irida-feature-link:hover,
  #menu-main-navigation > .irida-menu-feature > .irida-feature-link:focus-visible {
    color: var(--irida-gb-purple-deep);
    border-color: #d9b9df;
    background: #f8effa;
    transform: translateY(-1px);
  }

  #menu-main-navigation > .irida-menu-feature > .irida-feature-link.is-current {
    border-color: #cfa8d7;
    background: #f5eaf7;
  }

  .sticky-header #menu-main-navigation > li > a,
  .header-clone #menu-main-navigation > li > a {
    min-height: 42px;
    padding-right: 0 !important;
    padding-left: 16px !important;
    gap: 5px;
    font-size: 10px !important;
  }

  .sticky-header #menu-main-navigation > .menu-item-has-children > a,
  .header-clone #menu-main-navigation > .menu-item-has-children > a {
    padding-right: 11px !important;
  }

  .sticky-header #menu-main-navigation > .irida-menu-feature > .irida-feature-link,
  .header-clone #menu-main-navigation > .irida-menu-feature > .irida-feature-link {
    min-height: 32px;
    padding: 6px 8px !important;
  }

  .sticky-header #menu-main-navigation > .irida-menu-icon > a::before,
  .header-clone #menu-main-navigation > .irida-menu-icon > a::before,
  .sticky-header .irida-feature-icon,
  .header-clone .irida-feature-icon {
    width: 14px !important;
    height: 14px !important;
    flex-basis: 14px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1199px) {
  #menu-main-navigation > li > a {
    padding-right: 0 !important;
    padding-left: 14px !important;
    gap: 4px;
    font-size: 10px !important;
  }

  #menu-main-navigation > .menu-item-has-children > a {
    padding-right: 11px !important;
  }

  #menu-main-navigation > .irida-menu-feature {
    margin-left: 2px !important;
  }

  #menu-main-navigation > .irida-menu-feature > .irida-feature-link {
    padding: 6px 7px !important;
  }

  #menu-main-navigation > .irida-menu-icon > a::before,
  #menu-main-navigation .irida-feature-icon {
    width: 13px !important;
    height: 13px !important;
    flex-basis: 13px !important;
  }
}

/* --------------------------------------------------------------------------
   Mobile drawer: same source, same order, same visual language
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  body #menu-mobile-navigation > li > a {
    min-height: 50px;
    padding: 13px 18px !important;
    display: flex !important;
    align-items: center;
    gap: 10px;
  }

  body #menu-mobile-navigation > .menu-item-has-children > a {
    padding-right: 48px !important;
  }

  body #menu-mobile-navigation > .irida-menu-feature-mobile {
    display: block;
    padding: 0;
    border-top: 0;
    background: transparent;
  }

  body #menu-mobile-navigation > .irida-menu-feature-mobile > .irida-feature-link {
    min-height: 50px;
    padding: 13px 18px !important;
    border: 0;
    border-left: 3px solid #d4b1db;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    color: #65406d;
    background: #fcf8fd;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .035em;
    text-align: left;
    box-shadow: none;
  }

  body #menu-mobile-navigation > .irida-menu-brands > .irida-feature-link {
    color: #5c5360;
    border-left-color: #e2d4e5;
    background: #fff;
  }

  body #menu-mobile-navigation > .irida-menu-feature-mobile > .irida-feature-link:active {
    color: var(--irida-gb-purple-deep);
    background: #f7eef9;
  }

  #menu-mobile-navigation > .irida-menu-icon > a::before,
  #menu-mobile-navigation .irida-feature-icon {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
    color: var(--irida-gb-purple);
  }

  #menu-mobile-navigation > .irida-menu-icon > a::before {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }
}

/* --------------------------------------------------------------------------
   Brands directory
   -------------------------------------------------------------------------- */
.irida-brands-directory {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(38px, 6vw, 76px) 0 clamp(54px, 7vw, 92px);
  color: var(--irida-gb-ink);
}

.irida-brands-hero {
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 44px);
  text-align: center;
}

.irida-brands-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--irida-gb-purple);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.irida-brands-hero h1 {
  margin: 0 0 12px;
  color: #332737;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 4.3vw, 54px);
  font-weight: 600;
  line-height: 1.08;
}

.irida-brands-hero p {
  max-width: 640px;
  margin: 0 auto;
  color: var(--irida-gb-muted);
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.65;
}

.irida-brands-tools {
  margin-bottom: 28px;
  padding: 18px;
  border: 1px solid var(--irida-gb-border);
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #fbf6fc);
  box-shadow: 0 12px 34px rgba(91, 48, 99, .07);
}

.irida-brands-search {
  width: min(500px, 100%);
  min-height: 48px;
  margin: 0 auto 16px;
  padding: 0 16px;
  border: 1px solid #dfc9e4;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
}

.irida-brands-search:focus-within {
  border-color: var(--irida-gb-purple);
  box-shadow: 0 0 0 4px rgba(141, 53, 159, .1);
}

.irida-brands-search svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  fill: none;
  stroke: var(--irida-gb-purple);
  stroke-linecap: round;
  stroke-width: 1.8;
}

.irida-brands-search input {
  width: 100%;
  height: 46px;
  padding: 0;
  border: 0 !important;
  outline: 0;
  color: var(--irida-gb-ink);
  background: transparent;
  box-shadow: none !important;
  font-size: 15px;
}

.irida-brands-az {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
}

.irida-brands-az button {
  min-width: 38px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #e2cee7;
  border-radius: 9px;
  color: #655c67;
  background: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.irida-brands-az button:hover,
.irida-brands-az button:focus-visible,
.irida-brands-az button.is-active {
  color: #fff;
  border-color: var(--irida-gb-purple);
  background: var(--irida-gb-purple);
  transform: translateY(-1px);
}

.irida-brands-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.irida-brand-card {
  min-width: 0;
  min-height: 240px;
  padding: 24px 18px 18px;
  border: 1px solid var(--irida-gb-border);
  border-radius: 17px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--irida-gb-ink);
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 30px rgba(67, 44, 72, .06);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.irida-brand-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--irida-gb-purple), #ca8bd2, var(--irida-gb-gold));
  opacity: 0;
  transition: opacity .22s ease;
}

.irida-brand-card:hover,
.irida-brand-card:focus-visible {
  color: var(--irida-gb-ink);
  border-color: #d5acde;
  transform: translateY(-6px);
  box-shadow: 0 18px 42px rgba(89, 46, 98, .14);
}

.irida-brand-card:hover::before,
.irida-brand-card:focus-visible::before {
  opacity: 1;
}

.irida-brand-logo {
  width: 100%;
  height: 122px;
  margin-bottom: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.irida-brand-logo img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 112px;
  object-fit: contain;
  filter: saturate(.94);
  transition: transform .22s ease, filter .22s ease;
}

.irida-brand-card:hover .irida-brand-logo img {
  transform: scale(1.04);
  filter: saturate(1.05);
}

.irida-brand-fallback {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #e0bce6, var(--irida-gb-purple));
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
}

.irida-brand-card strong {
  width: 100%;
  margin-bottom: 5px;
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.irida-brand-count {
  margin-top: auto;
  padding-right: 24px;
  color: var(--irida-gb-muted);
  font-size: 12px;
}

.irida-brand-arrow {
  position: absolute;
  right: 17px;
  bottom: 15px;
  color: var(--irida-gb-purple);
  font-size: 20px;
  transition: transform .2s ease;
}

.irida-brand-card:hover .irida-brand-arrow {
  transform: translateX(3px);
}

.irida-brand-card[hidden] {
  display: none !important;
}

.irida-brands-no-results,
.irida-brands-empty {
  padding: 28px;
  border: 1px solid var(--irida-gb-border);
  border-radius: 16px;
  color: var(--irida-gb-muted);
  background: #fbf7fc;
  text-align: center;
}

/* --------------------------------------------------------------------------
   Gift-card product page: scoped so normal products cannot be affected
   -------------------------------------------------------------------------- */
.irida-gift-card-page .single-product-content,
.irida-gift-card-page .product-design-default {
  --irida-gift-field-border: #dbc5e0;
}

.irida-gift-card-page .woocommerce-product-gallery {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(87, 53, 93, .12);
}

/*
 * WebToffee renders the whole gift-card configurator inside Basel's
 * .product-images column, while Basel leaves an almost empty 50% summary
 * column beside it.  Make the configurator the main centred content and place
 * the remaining product utilities underneath.  The selectors are intentionally
 * limited to the managed Gift Card page.
 */
.irida-gift-card-page .product-image-summary > .row {
  display: block;
}

.irida-gift-card-page .product-image-summary .product-images {
  float: none !important;
  width: min(100%, 920px) !important;
  max-width: 920px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  clear: both;
}

.irida-gift-card-page .product-image-summary .summary.entry-summary {
  display: none !important;
}

/* Physical delivery is intentionally disabled until the store confirms it.
   The PHP setup removes it from WebToffee; these selectors protect cached or
   delayed frontend markup during the transition. */
.irida-gift-card-page #wt_gc_gift_card_action_physical-card,
.irida-gift-card-page label[for="wt_gc_gift_card_action_physical-card"],
.irida-gift-card-page span:has(> #wt_gc_gift_card_action_physical-card) {
  display: none !important;
}

.irida-gift-card-page .wt_gc_gift_card_product_page_wrapper,
.irida-gift-card-page .wt_gc_gift_card_product_page_bottom,
.irida-gift-card-page .wt_gc_gift_card_product_page_form,
.irida-gift-card-page .wt_gc_gift_card_product_page_form_wrapper {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.irida-gift-card-page .product_title {
  color: #342537;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.1;
}

.irida-gift-card-page form.cart {
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--irida-gb-border);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #fcf7fd);
  box-shadow: 0 14px 36px rgba(87, 53, 93, .08);
}

.irida-gift-card-page form.cart label,
.irida-gift-card-page [class*="wt_gc"] label,
.irida-gift-card-page [class*="wbte_gc"] label {
  color: #463b49;
  font-weight: 700;
}

.irida-gift-card-page form.cart input:not([type="radio"]):not([type="checkbox"]),
.irida-gift-card-page form.cart select,
.irida-gift-card-page form.cart textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--irida-gift-field-border);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}

.irida-gift-card-page form.cart textarea {
  min-height: 112px;
  resize: vertical;
}

.irida-gift-card-page form.cart input:focus,
.irida-gift-card-page form.cart select:focus,
.irida-gift-card-page form.cart textarea:focus {
  border-color: var(--irida-gb-purple);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(141, 53, 159, .1);
}

/* Keep the four predefined values and WebToffee's custom amount control in
   one tidy responsive group. These selectors only exist on the Gift Card. */
.irida-gift-card-page .wt_gc_credit_denominations {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  float: none;
}

.irida-gift-card-page .wt_gc_credit_amount_label {
  flex: 0 0 100%;
  margin: 0 0 3px;
}

.irida-gift-card-page .wt_gc_credit_denomination {
  height: auto;
  margin: 0 0 15px;
  float: none;
}

.irida-gift-card-page .wt_gc_credit_denominations .denominaton_label {
  min-width: 76px;
  height: 39px;
  margin: 0;
  padding: 8px 13px;
  border-color: var(--irida-gift-field-border);
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.irida-gift-card-page .wt_gc_gift_card_custom_price {
  width: 154px;
  min-height: 39px;
  margin: 0 0 15px;
  display: inline-flex;
  align-items: center;
  float: none;
  position: relative;
}

.irida-gift-card-page .wt_gc_gift_card_custom_price > label {
  display: none !important;
}

.irida-gift-card-page form.cart #wt_user_credit_amount {
  width: 154px !important;
  min-width: 154px !important;
  min-height: 39px !important;
  height: 39px;
  margin: 0;
  padding: 7px 12px !important;
  border: 2px solid var(--irida-gift-field-border);
  border-radius: 9px;
  box-sizing: border-box;
  color: #332d35 !important;
  background: #fff !important;
  text-align: center !important;
  opacity: 1 !important;
}

.irida-gift-card-page form.cart .single_add_to_cart_button {
  min-height: 50px;
  padding-inline: 26px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--irida-gb-purple-deep), #b451c1);
  box-shadow: 0 10px 25px rgba(112, 34, 127, .2);
}

.irida-gift-card-page form.cart .single_add_to_cart_button:hover,
.irida-gift-card-page form.cart .single_add_to_cart_button:focus-visible {
  background: linear-gradient(135deg, #571563, #9d3daf);
  transform: translateY(-1px);
}

@media (max-width: 991px) {
  .irida-brands-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .irida-brands-directory {
    width: min(100% - 24px, 680px);
    padding-top: 34px;
  }

  .irida-brands-tools {
    padding: 14px;
    border-radius: 15px;
  }

  .irida-brands-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .irida-brand-card {
    min-height: 205px;
    padding: 20px 12px 15px;
    border-radius: 14px;
  }

  .irida-brand-logo {
    height: 98px;
    margin-bottom: 13px;
  }

  .irida-brand-logo img {
    max-height: 90px;
  }

  .irida-brand-count {
    padding-right: 18px;
    font-size: 11px;
  }

  .irida-brand-arrow {
    right: 12px;
    bottom: 12px;
  }

  .irida-gift-card-page form.cart {
    padding: 16px;
    border-radius: 15px;
  }

  .irida-gift-card-page .wt_gc_gift_card_custom_price,
  .irida-gift-card-page form.cart #wt_user_credit_amount {
    width: 100% !important;
    min-width: 0 !important;
  }

  .irida-gift-card-page .wt_gc_gift_card_custom_price {
    flex: 1 0 100%;
  }

  .irida-gift-card-page .product-image-summary .product-images {
    width: 100% !important;
    max-width: 100% !important;
  }

  .irida-gift-sidebar-card > a {
    min-height: 188px;
    padding: 18px 16px 16px;
  }
}

@media (max-width: 359px) {
  .irida-brands-directory {
    width: min(100% - 18px, 340px);
  }

  .irida-brands-grid {
    grid-template-columns: 1fr;
  }

  .irida-brand-card {
    min-height: 210px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .irida-feature-link,
  .irida-brand-card,
  .irida-brand-card::before,
  .irida-brand-logo img,
  .irida-brand-arrow,
  .irida-brands-az button {
    transition: none !important;
  }
}
