/* Public offer cards are siblings of products, never products themselves. */
body.archive.woocommerce ul.products > li.fn-catalog-gift {
  --fn-gift-ink: var(--sg-ink, #222831);
  --fn-gift-line: rgb(34 40 49 / 18%);
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 26px;
  color: var(--fn-gift-ink);
  background: #f4e5bd;
  border: 1px solid #ddcc9f;
  list-style: none;
}

body.archive.woocommerce ul.products > li.fn-catalog-gift--upgrade {
  --fn-gift-ink: var(--sg-mist, #eeeeee);
  --fn-gift-line: rgb(238 238 238 / 24%);
  --sg-focus-ring-inner: var(--sg-mist, #eeeeee);
  color: var(--fn-gift-ink);
  background: var(--sg-ink, #222831);
  border-color: var(--sg-ink, #222831);
}

.fn-catalog-gift__eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  font: 500 9px/1.5 var(--sg-body, Inter, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.fn-catalog-gift__eyebrow > svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.fn-catalog-gift__visual {
  position: relative;
  display: grid;
  place-items: center;
  flex: 1 0 200px;
  min-height: 200px;
  margin: 20px 0;
  isolation: isolate;
}

.fn-catalog-gift__measure {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: -1;
  transform: translateY(-56%);
  font: 400 clamp(100px, 10vw, 150px)/1 var(--sg-display, Georgia, serif);
  letter-spacing: -.09em;
  opacity: .1;
  white-space: nowrap;
}

.fn-catalog-gift__measure > span {
  margin-left: 8px;
  font-size: .28em;
  letter-spacing: -.04em;
}

.fn-catalog-gift__visual > .fn-catalog-gift__vial {
  display: block;
  width: auto;
  height: 208px;
  max-width: none;
  object-fit: contain;
  margin-left: 35px;
  filter: drop-shadow(6px 10px 8px rgb(0 0 0 / 20%));
  transform: rotate(12deg);
}

.fn-catalog-gift--upgrade .fn-catalog-gift__vial {
  transform: rotate(-10deg);
}

.fn-catalog-gift__compliment {
  position: absolute;
  right: -6px;
  bottom: 32px;
  writing-mode: vertical-rl;
  font: 400 italic 13px/1.2 var(--sg-display, Georgia, serif);
  opacity: .75;
}

.fn-catalog-gift__label {
  margin: 0 0 10px;
  font: 600 10px/1.5 var(--sg-body, Inter, sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fn-catalog-gift--upgrade .fn-catalog-gift__label {
  color: var(--sg-accent, #ffd369);
}

body.archive.woocommerce .fn-catalog-gift__title {
  margin: 0 0 16px;
  padding: 0;
  color: inherit;
  font: 400 clamp(28px, 2.7vw, 38px)/1.12 var(--sg-display, Georgia, serif);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.fn-catalog-gift__text {
  margin: 0 0 20px;
  color: inherit;
  font: 400 13px/1.7 var(--sg-body, Inter, sans-serif);
}

.fn-catalog-gift__details {
  padding-top: 5px;
  border-top: 1px solid var(--fn-gift-line);
}

.fn-catalog-gift__details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
  color: inherit;
  font: 500 12px/1.5 var(--sg-body, Inter, sans-serif);
}

.fn-catalog-gift__details > summary::-webkit-details-marker {
  display: none;
}

.fn-catalog-gift__details > summary > span {
  font: 400 22px/1 var(--sg-body, Inter, sans-serif);
}

.fn-catalog-gift__details[open] > summary > span {
  transform: rotate(45deg);
}

.fn-catalog-gift__details > p {
  margin: 4px 0 8px;
  color: inherit;
  font: 400 12px/1.7 var(--sg-body, Inter, sans-serif);
}

@media (min-width: 640px) and (max-width: 1099px) {
  body.archive.woocommerce ul.products > li.fn-catalog-gift {
    padding: 20px;
  }
}

@media (max-width: 639px) {
  body.archive.woocommerce ul.products > li.fn-catalog-gift {
    display: grid;
    grid-template-columns: minmax(85px, .7fr) minmax(0, 1.4fr);
    grid-column: 1 / -1;
    align-items: center;
    gap: 14px;
    padding: 22px 18px;
  }

  .fn-catalog-gift__eyebrow {
    grid-column: 1 / -1;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--fn-gift-line);
  }

  .fn-catalog-gift__visual {
    min-height: 190px;
    margin: 0;
  }

  .fn-catalog-gift__measure {
    font-size: 100px;
  }

  .fn-catalog-gift__visual > .fn-catalog-gift__vial {
    width: auto;
    height: 172px;
    margin: 0;
  }

  .fn-catalog-gift__compliment {
    display: none;
  }

  body.archive.woocommerce .fn-catalog-gift__title {
    margin-bottom: 12px;
    font-size: clamp(25px, 7vw, 32px);
  }

  .fn-catalog-gift__text {
    margin-bottom: 14px;
    font-size: 12px;
  }
}
