@import url("club-events-landing.css");
@import url("club-events-page.css");

/* Native selects + Bootstrap form-select: uniform 12px corners */
select,
.form-select,
.form-select-sm,
.form-select-lg {
  border-radius: 6px;
}

/* Club Events (user v2): landing + list styles imported above — no per-page <link> */
/* Storefront headings/sections: same stack as :root --jw-typeface in mystyle.css (no the-seasons split) */

/* === block 2 (from home.html) === */
body {
  --header-v2-logo-max: 150px;
  --header-v2-logo-min: 100px;
  --header-v2-logo-d: var(--header-v2-logo-max);
  --header-v2-nav-outer-h: 38px;
}

.header-v2 {
  position: sticky;
  top: 0;
  z-index: 99999999;
  overflow: visible;
  background: #fff;
  transition: box-shadow 0.35s ease;
}

.header-v2.header-v2--scrolled {
  --header-v2-logo-d: var(--header-v2-logo-min);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.header-v2.header-v2--scrolled .header-v2-top {
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.header-v2 .header-v2-top__left .toggleSidemenu img,
.header-v2 .header-v2-social img {
  transition:
    filter 0.3s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
}

.header-v2 .header-v2-social img {
  filter: brightness(0);
  opacity: 1;
}

.header-v2 .header-v2-top {
  padding: 14px 0 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  transition:
    background-color 0.3s ease,
    border-color 0.3s ease;
}

.header-v2 .header-v2-top__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 16px;
}

.header-v2 .header-v2-logo-mobile {
  display: none;
  text-decoration: none;
  flex-shrink: 0;
}

.header-v2 .header-v2-logo-mobile .header-v2-logo {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.header-v2 .header-v2-logo-mobile img {
  width: var(--header-v2-logo-d);
  height: var(--header-v2-logo-d);
  min-width: var(--header-v2-logo-min);
  min-height: var(--header-v2-logo-min);
  max-width: var(--header-v2-logo-max);
  max-height: var(--header-v2-logo-max);
  object-fit: contain;
  transition: width 0.35s ease, height 0.35s ease;
}

.header-v2 .header-v2-top__left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.header-v2 .header-v2-account-mobile {
  display: none;
  border: 0;
  background: transparent;
  padding: 0;
  color: #111;
  line-height: 0;
  cursor: pointer;
}

.header-v2 .header-v2-social {
  display: flex;
  align-items: center;
  gap: 10px 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-v2 .header-v2-social a {
  display: flex;
  opacity: 0.9;
}

.header-v2 .header-v2-social a:hover {
  opacity: 1;
}

.header-v2 .header-v2-social a:hover img {
  filter: none;
  opacity: 1;
  transform: translateY(-1px);
}

.header-v2 .header-v2-social a:focus-visible img,
.header-v2 .header-v2-social a:active img,
.header-v2 .header-v2-social a.active img {
  filter: none;
  opacity: 0.9;
  transform: scale(0.95);
}

.header-v2 .header-v2-top__right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-v2 .header-v2-search {
  background: none;
  border: 0;
  padding: 4px;
  cursor: pointer;
  line-height: 0;
  color: #111;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-v2 .header-v2-search:hover {
  opacity: 0.75;
}

/* Global header search modal */
.header-search-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(16px, 5vh, 48px) 16px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.header-search-modal:not([hidden]) {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.header-search-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(20, 18, 16, 0.55);
  cursor: pointer;
}

.header-search-modal__panel {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
  padding: 1.25rem 1.35rem 1.5rem;
}

.header-search-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 1rem;
}

.header-search-modal__title {
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 400;
  margin: 0;
  color: #111;
}

.header-search-modal__dismiss {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 8px;
  background: #f3f0eb;
  color: #111;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-search-modal__dismiss:hover {
  background: #e8e4de;
}

.header-search-modal__field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid #e0dcd6;
  border-radius: 10px;
  background: #faf9f7;
}

.header-search-modal__field:focus-within {
  border-color: #c5a97b;
  background: #fff;
}

.header-search-modal__field-icon {
  flex-shrink: 0;
  color: #8a8580;
}

.header-search-modal__input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 14px 0;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 15px;
  color: #111;
  outline: none;
}

.header-search-modal__hint {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a8580;
  margin: 1rem 0 0.5rem;
}

.header-search-modal__scopes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.header-search-modal__chip {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.header-search-modal__chip input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.header-search-modal__chip span {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5c5348;
  background: #f3f0eb;
  border: 1px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.header-search-modal__chip input:checked + span {
  background: rgba(197, 169, 123, 0.22);
  color: #3d362e;
  border-color: rgba(197, 169, 123, 0.55);
}

.header-search-modal__chip input:focus-visible + span {
  outline: 2px solid #c5a97b;
  outline-offset: 2px;
}

.header-search-modal__actions {
  margin-top: 1.25rem;
}

.header-search-modal__submit {
  width: 100%;
  padding: 12px 20px;
  border: 0;
  border-radius: 8px;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  background: #c5a97b;
  cursor: pointer;
}

.header-search-modal__submit:hover {
  filter: brightness(0.96);
}

.header-search-modal__submit--compact {
  width: auto;
  min-width: 118px;
  padding: 9px 18px;
  border-radius: 9999px;
  letter-spacing: 0.09em;
  font-size: 11px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header-v2 .btn-join-club {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff !important;
  background: #c5a97b;
  border-radius: 4px;
  border: 0;
  white-space: nowrap;
}

.header-v2 .btn-join-club:hover {
  filter: brightness(0.95);
  color: #fff !important;
}

.header-v2 .header-v2-nav {
  position: relative;
  z-index: 2;
  overflow: visible;
}

.header-v2 .header-v2-nav__row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 8px 12px;
  padding: 8px clamp(12px, 3vw, 40px);
  background-color: #c5a97b;
  transition: background-color 0.35s ease;
}

.header-v2.header-v2--scrolled .header-v2-nav__row {
  background-color: #fff;
}

.header-v2 .header-v2-nav__links {
  display: flex;
  align-items: center;
  gap: 18px 28px;
  flex-wrap: nowrap;
  min-width: 0;
}

.header-v2 .header-v2-nav__links--left {
  flex: 1 1 0;
  justify-content: flex-end;
  padding-right: calc(var(--header-v2-logo-d) * 0.5 + 6px);
}

.header-v2 .header-v2-nav__links--right {
  flex: 1 1 0;
  justify-content: flex-start;
  padding-left: calc(var(--header-v2-logo-d) * 0.5 + 6px);
}

.header-v2 .header-v2-nav__links a {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: var(--font14);
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.header-v2:not(.header-v2--scrolled) .header-v2-nav__links a {
  color: #fff;
}

.header-v2:not(.header-v2--scrolled) .header-v2-nav__links a:hover {
  color: rgba(255, 255, 255, 0.88);
}

.header-v2.header-v2--scrolled .header-v2-nav__links a {
  color: #c5a97b;
}

.header-v2.header-v2--scrolled .header-v2-nav__links a:hover {
  color: #c5a97b;
}

.header-v2 .header-v2-nav__links a.is-active,
.header-v2 .header-v2-nav__links a.is-active:hover {
  color: #111111;
}

.header-v2 .header-v2-logo-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  flex-shrink: 0;
}

.header-v2 .header-v2-logo {
  display: block;
  width: var(--header-v2-logo-d);
  height: var(--header-v2-logo-d);
  min-width: var(--header-v2-logo-min);
  min-height: var(--header-v2-logo-min);
  max-width: var(--header-v2-logo-max);
  max-height: var(--header-v2-logo-max);
  border-radius: 50%;
  /* border: 2px solid #c5a97b; */
  background: #fff;
  /* padding: clamp(8px, 1.1vw, 12px); */
  box-sizing: border-box;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.1);
  transition: width 0.35s ease, height 0.35s ease, box-shadow 0.35s ease;
}

.header-v2 .header-v2-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: width 0.35s ease, height 0.35s ease;
}

header.header-v2 ~ .slider {
  margin-top: calc(
    (var(--header-v2-nav-outer-h) - var(--header-v2-logo-d)) / 2
  );
  position: relative;
  z-index: 1;
}

.sidebar  .header-v2-social img:hover {
    filter: brightness(0);
    opacity: 1;
}

.toggleSidemenu {
  background-color: transparent;
  border: none;
  background-color: transparent;
  outline: 0;
  padding: 0;
}

/* Tablet / small laptop: horizontal nav + centered logo overflow — use compact header + drawer only */
@media (max-width: 1199.98px) {
  .header-v2 {
    --header-v2-logo-max: 90px;
    --header-v2-logo-min: 64px;
    --header-v2-logo-d: var(--header-v2-logo-max);
  }

  .header-v2 .header-v2-nav {
    display: none !important;
  }

  header.header-v2 ~ .slider {
    margin-top: 0;
  }

  .header-v2 .header-v2-top {
    position: relative;
    padding: 12px 0 24px;
    /* border-bottom: 4px solid #c5a97b; */
  }
.header-v2{
  border-bottom: 4px solid #c5a97b;
}
  .header-v2 .header-v2-social {
    display: none !important;
  }

  .header-v2 .header-v2-top__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    row-gap: 0;
  }

  .header-v2 .header-v2-logo-mobile {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 50%;
    right: auto;
    top: 100%;
    bottom: auto;
    transform: translate(-50%, -50%);
    max-width: none;
    z-index: 4;
  }

  .header-v2 .header-v2-top__left {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    gap: 14px;
    flex-wrap: nowrap;
  }

  .header-v2 .header-v2-account-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
  }

  .header-v2 .header-v2-top__right {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    justify-content: flex-end;
    min-width: 0;
    max-width: 100%;
    flex-wrap: nowrap;
    gap: clamp(8px, 2vw, 16px);
  }

  .header-v2 .header-v2-search {
    display: inline-flex;
  }

  .header-v2 .header-v2-logo-mobile img {
    width: var(--header-v2-logo-d);
    height: var(--header-v2-logo-d);
    min-width: var(--header-v2-logo-min);
    min-height: var(--header-v2-logo-min);
    max-width: var(--header-v2-logo-max);
    max-height: var(--header-v2-logo-max);
  }

  .header-v2 .btn-join-club {
    padding: 12px 30px;
    font-size: 13px;
    letter-spacing: 0.02em;
    text-transform: none;
    max-width: 100%;
    border-radius: 8px;
  }
}

@media (min-width: 1200px) {
  /* intentionally left blank (toggle hidden via layout) */

  .header-v2 .header-v2-logo-wrap .header-v2-logo img {
    /* width: var(--header-v2-logo-d); */
    height: auto;
    max-height: min(192px, 22vw);
  }
}

@media (max-width: 380px) {
  .header-v2 .btn-join-club {
    padding: 10px 24px;
    font-size: 12px;
    margin-left: 1rem;
  }
  .sm-mg-low{
    margin-top: 0rem;;
  }
  .footer-v2__col--left, .footer-v2__col--right {
    padding-top: 20px!important;
  }
  .col-lg-4.col-md-5.col-12.dailyclub-block__intro{
    margin-top: 0rem!important;
  }
}

/* === Shop page hero (full-bleed background image) === */
.shop-page-hero {
  position: relative;
  overflow: hidden;
  /* min-height: clamp(320px, 42vh, 580px); */
  height: 500px;
  display: flex;
  align-items: center;
  background: #2a2622;
}

.shop-page-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.shop-page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  display: block;
}

.shop-page-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    rgba(249, 249, 249, 0.96) 2%,
    rgba(249, 249, 249, 0.82) 25%,
    rgba(249, 249, 249, 0.42) 28%,
    rgba(249, 249, 249, 0.12) 58%,
    rgba(249, 249, 249, 0) 88%
  )
}

.shop-page-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: clamp(2.25rem, 5vw, 4.25rem);
  padding-bottom: clamp(2.25rem, 5vw, 4.25rem);
}

/* .shop-page-hero__copy {
  max-width: 560px;
} */

.shop-page-hero__crumb-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: clamp(0.6875rem, 0.55rem + 0.45vw, 0.75rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #777;
}

.shop-page-hero__crumb-list li {
  display: inline-flex;
  align-items: center;
}

.shop-page-hero__crumb-list li:not(:last-child)::after {
  content: "/";
  margin: 0 0.5rem;
  color: #b0b0b0;
  font-weight: 500;
}

.shop-page-hero__crumb-list a {
  /* color: #777; */
  text-decoration: none;
}

.shop-page-hero__crumb-list a:hover {
  color: #111;
}

.shop-page-hero__title {
  font-size: clamp(2.1rem, 1.35rem + 3.4vw, 3.85rem);
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 1.15rem;
  letter-spacing: 0.02em;
}

.shop-page-hero__title-dark {
  color: #111;
}

.shop-page-hero__title-gold {
  color: #c5a97b;
}

.shop-page-hero__lead {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: clamp(0.8125rem, 0.55rem + 1.15vw, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #555;
  margin: 0;
  max-width: 28rem;
  line-height: 1.6;
}

@media (max-width: 991.98px) {
  .shop-page-hero {
    height: auto;
    min-height: clamp(280px, 42vh, 480px);
    align-items: flex-start;
  }

  .shop-page-hero__overlay {
    background: linear-gradient(
      180deg,
      rgba(249, 249, 249, 0.94) 0%,
      rgba(249, 249, 249, 0.78) 38%,
      rgba(249, 249, 249, 0.35) 72%,
      rgba(249, 249, 249, 0.08) 100%
    );
  }

  .shop-page-hero__copy {
    max-width: none;
  }
}

/* === Shop listing (luxury layout) === */
.shop-v2-page {
  background: #fff;
}

/* Allow Bootstrap product rows to shrink inside flex layout (fixes overflow / broken grid on narrow screens) */
.shop-v2-page .col-lg-9.col-md-8 {
  min-width: 0;
}

.shop-products-grid.row {
  min-width: 0;
}

.filter-panel--luxury {
  background: #fcfaf8;
  border: 1px solid rgba(181, 154, 118, 0.5);
  border-radius: 10px;
  padding: 1.35rem 1.25rem 1.5rem;
  margin-bottom: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.filter-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(92, 83, 72, 0.12);
}

.filter-panel__title {
  font-size: clamp(1.35rem, 2.4vw, 1.65rem);
  font-weight: 400;
  color: #3d362e;
  margin: 0;
  letter-spacing: 0.02em;
}

.filter-panel__clear-all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.9rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  /* text-transform: uppercase; */
  color: #5c5348;
  text-decoration: none;
  white-space: nowrap;
  background: #ebe4d4;
  border: 1px solid rgba(197, 169, 123, 0.45);
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(61, 54, 46, 0.04);
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.filter-panel__clear-all:hover {
  color: #2a241c;
  background: #fff;
  border-color: rgba(197, 169, 123, 0.75);
}

.filter-panel__clear-icon {
  font-size: 1rem;
  line-height: 1;
  font-weight: 600;
  margin-top: -1px;
}

.filter-panel__clear-text {
  letter-spacing: inherit;
}

.filter-panel--luxury .filter-block {
  padding-top: 1.1rem;
  margin-top: 1.1rem;
  border-top: 1px solid rgba(92, 83, 72, 0.1);
}

.filter-panel__head + .filter-block {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.filter-block__title {
  /* font-family: "Josefin Sans", system-ui, sans-serif; */
      font-family: var(--jw-typeface);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5c5348;
  margin-bottom: 0.75rem;
}

.filter-panel__input {
  border: 1px solid rgba(92, 83, 72, 0.18);
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
  font-size: 14px;
  background: #fcfaf8;
}
.shop-toolbar__sort .select-dropdown__button {
      border-color:#eae7e7;
    border-radius:6px !important;
}
@media screen and (min-width: 767px) {
 .shop-toolbar__sort {
  width: 310px !important;
  }
}
.filter-panel__price-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.filter-panel__price-range input {
  flex: 1 1 0;
  min-width: 0;
  border: 1px solid rgba(92, 83, 72, 0.18);
  border-radius: 8px;
  padding: 0.55rem 0.65rem;
  font-size: 14px;
  background: #fff;
}

.filter-panel__price-sep {
  color: #8a8580;
  flex-shrink: 0;
}

.filter-panel--luxury .filter-option {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
  cursor: pointer;
}

.filter-panel--luxury .filter-option:last-child {
  margin-bottom: 0;
}

.filter-panel--luxury .filter-option input[type="checkbox"],
.filter-panel--luxury .filter-option input[type="radio"] {
  width: 17px;
  height: 17px;
  accent-color: #c5a97b;
  cursor: pointer;
}

.filter-panel--luxury .filter-option label {
  cursor: pointer;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 14px;
  color: #3d362e;
  margin: 0;
}

.shop-v2-apply-filters {
  margin-top: 1.35rem;
  padding: 0.75rem 1rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 8px;
  border: 0;
}

.shop-toolbar {
  display: grid;
  grid-template-columns: max-content 1fr max-content;
  align-items: center;
  gap: 0.75rem 1.25rem;
  padding: 0.95rem 1.2rem;
  /* background: #f4efe8; */
  border: 1px solid rgba(181, 154, 118, 0.55);
  border-radius: 10px;
  margin-bottom: 1.25rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.shop-toolbar__views {
  display: inline-flex;
  gap: 0.35rem;
}

.shop-view-btn {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(92, 83, 72, 0.2);
  border-radius: 8px;
  background: #fff;
  color: #5c5348;
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.shop-view-btn:hover {
  border-color: #c5a97b;
  color: #3d362e;
}

.shop-view-btn.is-active {
  background: #c5a97b;
  border-color: #c5a97b;
  color: #fff;
}

.shop-toolbar__count {
  margin: 0;
  text-align: center;
  justify-self: center;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 13px;
  color: #5c5348;
  min-width: 0;
  max-width: 100%;
  padding: 0 0.5rem;
}

.shop-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 230px;
}

.shop-toolbar__sort-label {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5c5348;
  margin: 0;
  white-space: nowrap;
}

.shop-toolbar__select {
  min-width: 10.5rem;
  max-width: 100%;
  border: 1px solid #2c2825;
  border-radius: 6px;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 13px;
  color: #3d362e;
  background-color: #fff;
  background-position: right 0.55rem center;
}

.shop-toolbar__select:focus {
  border-color: #c5a97b;
  box-shadow: 0 0 0 2px rgba(197, 169, 123, 0.25);
  outline: none;
}

@media (max-width: 767.98px) {
  .shop-toolbar__filters-btn {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
  }

  .shop-toolbar {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }

  .shop-toolbar__views {
    grid-column: 1;
    grid-row: 1;
  }

  .shop-toolbar__sort {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    flex-wrap: nowrap;
    min-width: 0;
  }

  .shop-toolbar__select {
    min-width: 0;
    max-width: 100%;
  }

  .shop-toolbar__count {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    text-align: center;
    padding-top: 0.15rem;
    font-size: 0.875rem;
    line-height: 1.45;
  }

  .shop-toolbar__sort-label {
    font-size: 0.75rem;
  }

  .shop-toolbar__select {
    font-size: 0.875rem;
    padding: 0.55rem 2rem 0.55rem 0.75rem;
  }
}

/* List view */
#products-grid.products-grid--list > .col {
  flex: 0 0 100%;
  max-width: 100%;
}

#products-grid.products-grid--list .product-card--luxury {
  flex-direction: row;
  align-items: stretch;
  gap: 1.25rem;
}

#products-grid.products-grid--list .product-card--luxury .product-img {
  width: 200px;
  min-width: 180px;
  max-width: 38%;
  align-self: stretch;
}

#products-grid.products-grid--list .product-card--luxury .product-info {
  flex: 1;
  min-width: 0;
  justify-content: center;
}

@media (max-width: 575.98px) {
  #products-grid.products-grid--list .product-card--luxury {
    flex-direction: column;
  }

  #products-grid.products-grid--list .product-card--luxury .product-img {
    width: 100%;
    max-width: none;
  }
}

/* Luxury product card tweaks */
.product-card--luxury .product-title {
  font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.2rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-top: 0.65rem;
  line-height: 1.3;
}

.product-card--luxury .product-title a:hover {
  color: #c5a97b !important;
}

.product-card__vendor-tag {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  max-width: calc(100% - 20px);
  padding: 6px 10px 5px;
  border-radius: 8px;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #3d362e;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(4px);
  line-height: 1.2;
  pointer-events: none;
}

@media screen and (max-width: 383px) {
  .shop-toolbar {
    display: flex!important;
    flex-wrap: wrap;
  }
}

.shop-toolbar__sort  .select-dropdown__button {
 margin-bottom: 0rem!important;
}

.product-card__actions-row {
  margin-top: 0.85rem;
}

/* Grid view: full-width primary actions */
#products-grid:not(.products-grid--list) .product-card__actions-row {
  display: block;
}

#products-grid:not(.products-grid--list) .product-card--luxury .add-to-cart-form {
  display: block;
  width: 100%;
}

#products-grid:not(.products-grid--list) .product-card--luxury .product-card__view-link {
  display: block;
  width: 100%;
}

#products-grid:not(.products-grid--list) .product-card--luxury .add-to-cart-btn {
  width: 100% !important;
  max-width: none;
}

/* List view: content-width buttons (horizontal card layout) */
#products-grid.products-grid--list .product-card__actions-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#products-grid.products-grid--list .product-card--luxury .add-to-cart-form {
  display: inline-block;
  width: auto;
  max-width: 100%;
}

#products-grid.products-grid--list .product-card--luxury .product-card__view-link {
  display: inline-block;
  width: auto;
  max-width: 100%;
}

#products-grid.products-grid--list .product-card--luxury .add-to-cart-btn {
  width: auto !important;
  max-width: 100%;
}

.product-card--luxury .add-to-cart-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 8px;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: none;
  padding: 0.65rem 1.35rem;
  line-height: 1;
  min-height: 2.75rem;
}

/* Override mystyle.css .product-card .add-to-cart-btn svg { margin-top: -4px } */
.product-card--luxury .add-to-cart-btn svg {
  flex-shrink: 0;
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0 !important;
  /* Cart glyph sits low in the viewBox; nudge for optical vertical balance with label */
  transform: translateY(0.5px);
}

.product-card--luxury .add-to-cart-btn > span {
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.product-rating__count {
  font-size: 12px;
  color: #8a8580;
}

@media (max-width: 575.98px) {
  .filter-panel--luxury {
    padding: 1.2rem 1.1rem 1.4rem;
  }

  .filter-block__title {
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
  }

  .filter-panel--luxury .filter-option label {
    font-size: 0.875rem;
    line-height: 1.35;
  }

  .filter-panel__input,
  .filter-panel__price-range input {
    font-size: 0.9375rem;
  }

  .shop-v2-apply-filters {
    font-size: 0.8125rem;
    padding: 0.8rem 1rem;
  }

  .shop-view-btn {
    width: 42px;
    height: 42px;
  }

  .product-card--luxury .product-title {
    font-size: clamp(1.05rem, 0.4rem + 2.1vw, 1.2rem);
  }

  .product-card--luxury .product-price {
    font-size: clamp(1.0625rem, 0.6rem + 1.2vw, 1.2rem);
  }

  .product-card--luxury .product-rating,
  .product-rating__count {
    font-size: 0.8125rem;
  }

  .product-card--luxury .add-to-cart-btn {
    font-size: 0.8125rem;
    min-height: 2.85rem;
  }
}

/* === home.html block 3 === */
.dailyclub-block {
  background: #fff;
  --dailyclub-gold: #c5a97b;
}

.dailyclub-block__intro {
  text-align: center;
}

@media (min-width: 768px) {
  .dailyclub-block__intro {
    text-align: left;
  }
}

.dailyclub-block__logo {
  width: 220px;
  height: 220px;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  /* border: 2px solid var(--dailyclub-gold); */
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .dailyclub-block__logo {
    margin-left: 0;
    margin-right: 0;
  }
}

.dailyclub-block__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.dailyclub-block__title {
  font-family: var(--jw-typeface);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 400;
  color: var(--dailyclub-gold);
  margin: 0 0 0.75rem;
  line-height: 1.15;
}

.dailyclub-block__tagline {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(27, 28, 25, 0.45);
  margin: 0 0 1.5rem;
  max-width: 22rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .dailyclub-block__tagline {
    margin-left: 0;
    margin-right: 0;
  }
}

.dailyclub-block__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 12px 22px;
  background: #111;
  color: #c5a97b !important;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 6px;
  border: 0;
}

.dailyclub-block__cta:hover {
  filter: brightness(1.08);
  color: #fff !important;
}

.dailyclub-block__cta span {
  font-size: 1.1em;
  line-height: 1;
  opacity: 0.95;
}

.dailyclub-block__rule {
  margin: 1.75rem 0 0;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  opacity: 1;
}

.dailyclub-block__section-rule {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: 3rem;
}

.dailyclub-card-v2 {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(27, 28, 25, 0.08);
  box-shadow:
    0 18px 40px rgba(27, 28, 25, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transition:
    transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.dailyclub-card-v2__cover {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.dailyclub-card-v2__media {
  width: 100%;
  flex-shrink: 0;
  aspect-ratio: 360 / 220;
  background: #f3f0eb;
  position: relative;
  overflow: hidden;
}

/* Keeps media slot height when there is no <img> or the image fails to load */
.dailyclub-card-v2__media--empty {
  background:
    linear-gradient(135deg, rgba(197, 169, 123, 0.12) 0%, rgba(243, 240, 235, 1) 45%, rgba(230, 225, 216, 1) 100%);
}

.dailyclub-card-v2__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.55s ease;
  filter: saturate(1.02) contrast(1.02);
}

.dailyclub-card-v2__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.06) 40%, rgba(0, 0, 0, 0.0) 62%),
    radial-gradient(70% 60% at 30% 20%, rgba(197, 169, 123, 0.16) 0%, rgba(197, 169, 123, 0.0) 60%);
  pointer-events: none;
}

.dailyclub-card-v2__body {
  padding: 14px 16px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}

.dailyclub-card-v2__meta {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(27, 28, 25, 0.72);
  margin: 0 0 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.dailyclub-card-v2__source {
  color: rgba(27, 28, 25, 0.86);
}

.dailyclub-card-v2__dot {
  opacity: 0.55;
}

.dailyclub-card-v2__title {
  font-family: var(--jw-typeface);
  font-size: 1.08rem;
  font-weight: 400;
  color: #1b1c19;
  margin: 0 0 0.5rem;
  line-height: 1.3;
  min-height: calc(1.3em * 2);
  max-height: calc(1.3em * 2);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
}

.dailyclub-card-v2__excerpt {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(27, 28, 25, 0.62);
  margin: 0 0 1rem;
  min-height: calc(1.5em * 3);
  max-height: calc(1.5em * 3);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-break: break-word;
}

.dailyclub-card-v2__pill {
  display: inline-block;
  align-self: flex-start;
  margin-top: auto;
  padding: 7px 12px 6px;
  border-radius: 999px;
  background: rgba(197, 169, 123, 0.16);
  border: 1px solid rgba(197, 169, 123, 0.26);
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(27, 28, 25, 0.82);
  text-transform: uppercase;
}

.dailyclub-card-v2:hover,
.dailyclub-card-v2:focus-within {
  transform: translateY(-6px);
  border-color: rgba(197, 169, 123, 0.34);
}

.dailyclub-card-v2:hover .dailyclub-card-v2__media img,
.dailyclub-card-v2:focus-within .dailyclub-card-v2__media img {
  transform: scale(1.06);
}

.dailyclub-card-v2:has(.dailyclub-card-v2__cover:focus-visible) {
  outline: 3px solid rgba(197, 169, 123, 0.35);
  outline-offset: 2px;
}

/* Daily Club home swiper: match slide heights so cards stay aligned */
.dailyslide .swiper-wrapper {
  align-items: stretch;
}

.dailyslide .swiper-slide {
  height: auto;
}

.dailyslide .swiper-slide:has(.dailyclub-card-v2) {
  display: flex;
}

.dailyslide .swiper-slide .dailyclub-card-v2 {
  flex: 1 1 auto;
  width: 100%;
  min-height: 100%;
}

/* === home.html block 4 === */
.featured-head-v2 {
  --fh-gold: #c5a97b;
  --fh-muted: #8a8580;
}

.featured-head-v2__title {
  font-family: var(--jw-typeface);
  font-size: clamp(1.85rem, 3.2vw, 2.45rem);
  font-weight: 400;
  line-height: 1.15;
  /* margin: 1rem 0 0.5rem; */
  letter-spacing: 0.02em;
}

.featured-head-v2__title span:first-child {
  color: #111;
}

.featured-head-v2__title span:last-child {
  color: var(--fh-gold);
}

.featured-head-v2__tagline {

  color: var(--fh-muted);
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.55;
   /* margin: 0 0 clamp(1.75rem, 3vw, 2.5rem); */

}

.featured-head-v2__all {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #5c5348;
  text-decoration: underline !important;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  white-space: nowrap;
}

.featured-head-v2__all:hover {
  color: #111;
}

.featured-head-v2 .tablist .tabsbtn {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--fh-muted);
  border-bottom: 2px solid transparent !important;
  padding-bottom: 2px;
}

.featured-head-v2 .tablist .tabsbtn:hover {
  color: #111;
}

.featured-head-v2 .tablist .tabsbtn.active {
  color: #111;
  border-bottom-color: var(--fh-gold) !important;
}

/* Featured articles v3 */
.featured-articles-v3 {
  --fa-gold: #c5a97b;
  --fa-muted: #8a8580;
  --fa-radius: 12px;
}

.featured-articles-v3__grid {
  margin-top: 0.5rem;
}

.feat-hero {
  position: relative;
  border-radius: var(--fa-radius);
  overflow: hidden;
  background: #f3f0eb;
  width: 100%;
  aspect-ratio: 800 / 1000;
}

.feat-hero__link {
  display: block;
  position: absolute;
  inset: 0;
  color: inherit;
  text-decoration: none;
}

.feat-hero__link:hover {
  color: inherit;
}

.feat-hero__media {
  position: absolute;
  inset: 0;
}

.feat-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.feat-hero__overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.35rem 1.25rem 1.5rem;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(60, 48, 36, 0.55) 35%,
    rgba(45, 36, 28, 0.92) 100%
  );
}

.feat-hero__title {
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 0.4rem;
  color: #fff;
}

.feat-hero__by {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.88);
  margin: 0 0 0.5rem;
}

.feat-hero__excerpt {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
  margin: 0 0 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.feat-hero__more {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: #fff;
}

.feat-hero__link:hover .feat-hero__more {
  color: var(--fa-gold);
}

.featured-articles-v3 .feat-card-v3 {
  height: auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.feat-card-v3__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.feat-card-v3__link:hover {
  color: inherit;
}

.feat-card-v3__media {
  border-radius: var(--fa-radius);
  overflow: hidden;
  width: 100%;
  aspect-ratio: 360 / 260;
  background: #f0eeeb;
}

.feat-card-v3__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.feat-card-v3__link:hover .feat-card-v3__media img {
  transform: scale(1.03);
}

.feat-card-v3__body {
  padding-top: 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  padding-bottom: 0.8rem;
}

.feat-card-v3__meta {
  margin: 0 0 0.5rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fa-muted);
}

.feat-card-v3__meta .feat-card-v3__date {
  /* color: var(--fa-muted); */
  color: var(--fa-gold);
}

.feat-card-v3__sep {
  margin: 0 0.4rem;
  color: rgba(138, 133, 128, 0.65);
}

.feat-card-v3__title {
  margin: 0 0 0.5rem;
  font-size: 1.12rem;
  line-height: 1.34;
  color: #1b1c19;
}

.feat-card-v3__author {
  margin: 0;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #4b463f;
  font-style: italic;
}

/* Keep old small/medium/big rhythm while image ratio stays fixed */
.feat-card-v3--small .feat-card-v3__title {
  font-size: 1.04rem;
  line-height: 1.32;
}

.feat-card-v3--medium .feat-card-v3__title {
  font-size: 1.1rem;
}

.feat-card-v3--big .feat-card-v3__title {
  font-size: 1.16rem;
  line-height: 1.36;
}

.feat-card-v3--small .feat-card-v3__body {
  padding-top: 0.9rem;
}

.feat-card-v3--small .feat-card-v3__media
{
  aspect-ratio: 396 / 180;
}

.feat-card-v3--big .feat-card-v3__body {
  padding-top: 1.1rem;
}

/* Match old mycard image size behavior on desktop */
@media (min-width: 992px) {
  .ftartimain .feat-card-v3--small .feat-card-v3__media {
    height: 32vh;
    aspect-ratio: auto;
  }

  .ftartimain .feat-card-v3--medium .feat-card-v3__media {
    height: 58vh;
    aspect-ratio: auto;
  }
}

@media (max-width: 991.98px) {
  .featured-articles-v3 .featstick {
    position: static !important;
  }

  .featured-articles-v3 .col-lg-7 .row > .col {
    gap: 1.25rem !important;
  }
}

/* === home.html block 5 — Club Insights (card UI) === */
.club-insights-v2 {
  --df-gold-title: #d4c4a8;
  --df-card-cream: #f9f7f2;
  --df-badge-new: #c5a367;
  --df-badge-featured: #7eb0a6;
  --df-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --df-dur: 0.45s;
}

.club-insights-v2__band {
  background: #000;
  padding: clamp(2.25rem, 5vw, 3.25rem) 0;
}

.club-insights-v2 .df-head__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}

.club-insights-v2 .club-insights-v2__head-text {
  min-width: 0;
}

.club-insights-v2 .df-title {
  font-family: var(--jw-typeface);
  font-size: clamp(2rem, 4.2vw, 3.1rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  margin: 0;
  font-weight: 500;
}

.club-insights-v2 .club-insights-v2__title span:first-child {
  color: #fff;
}

.club-insights-v2 .club-insights-v2__title span:last-child {
  color: var(--df-gold-title);
}

.club-insights-v2 .df-all {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  white-space: nowrap;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.club-insights-v2 .df-all:hover {
  color: #e8dcc4;
}

.club-insights-v2 .df-desc {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.88);
   /* margin: 0 0 clamp(1.75rem, 3vw, 2.5rem); */
  max-width: 44rem;
}

.club-insights-v2 .df-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (max-width: 991.98px) {
  .club-insights-v2 .df-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .club-insights-v2 .df-grid {
    grid-template-columns: 1fr;
  }
}

.club-insights-v2 .df-card {
  background: var(--df-card-cream);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition:
    transform 0.28s var(--df-ease),
    box-shadow 0.28s var(--df-ease);
}

.club-insights-v2 .df-media {
  position: relative;
  background: #e8dfd2;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
}

.club-insights-v2 .df-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--df-dur) var(--df-ease);
}

.club-insights-v2 .df-media .df-media__img--secondary {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition:
    opacity var(--df-dur) var(--df-ease),
    transform var(--df-dur) var(--df-ease);
}

.club-insights-v2 .df-tag {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
}

.club-insights-v2 .df-tag--new {
  background: var(--df-badge-new);
}

.club-insights-v2 .df-tag--featured {
  background: var(--df-badge-featured);
}

.club-insights-v2 .df-body {
  padding: 1rem 1.15rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 130px;
}

.club-insights-v2 .df-name {
  font-size: 1.05rem;
  line-height: 1.3;
  color: #15110c;
  margin: 0;
  font-weight: 500;
  min-height: calc(1.3em * 2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.club-insights-v2 .df-stars {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 16px;
  color: #b89a6a;
  letter-spacing: 0.04em;
  margin: 0;
  line-height: 1;
}

.club-insights-v2 .df-price {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 16px;
  color: #15110c;
  margin: auto 0 0;
  font-weight: 600;
}

@media (max-width: 575.98px) {
  .club-insights-v2 .df-body {
    min-height: 112px;
  }
}

/* === Home: Featured Designer (same layout language as store Designer Focus) === */
.home-designer-focus.df-bleed {
  width: 100%;
}

.home-designer-focus .df-section {
  background: #12100e;
  padding: clamp(2.25rem, 5vw, 3.25rem) 0;
}

.home-designer-focus .df-section > .cmpad {
  width: 100%;
  max-width: min(92vw, 1320px);
  margin-left: auto;
  margin-right: auto;
}

.home-designer-focus .df-kicker {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 0.5rem;
}

.home-designer-focus .df-head__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}

.home-designer-focus .df-title {
  font-family: var(--jw-typeface);
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  margin: 0;
  font-weight: 500;
  /* color: rgba(255, 255, 255, 0.94); */
color: #d4c4a8;
}

.home-designer-focus .df-all {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 14px;
  color: #fff;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  white-space: nowrap;
  transition: color 0.22s ease, opacity 0.22s ease;
}

.home-designer-focus .df-all:hover {
  color: #e8d4a8;
}

.home-designer-focus .df-desc {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.88);
  margin: 0 0 1.5rem;
  max-width: 44rem;
}

.home-designer-focus .df-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

@media (max-width: 991.98px) {
  .home-designer-focus .df-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .home-designer-focus .df-grid {
    grid-template-columns: 1fr;
  }
}

.home-designer-focus .df-card {
  background: #f9f6f1;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.user-home .home-designer-focus .df-card:hover,
.user-home .home-designer-focus .df-card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.35);
}

.home-designer-focus .df-card:focus-visible {
  outline: 2px solid #d4b87a;
  outline-offset: 4px;
}

.home-designer-focus .df-media {
  position: relative;
  background: #e4d8c8;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}

.home-designer-focus .df-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-designer-focus .df-media .df-media__img--secondary {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.user-home .home-designer-focus .df-card:hover .df-media img,
.user-home .home-designer-focus .df-card:focus-within .df-media img {
  transform: scale(1.06);
}

.user-home .home-designer-focus .df-card:hover .df-media .df-media__img--secondary,
.user-home .home-designer-focus .df-card:focus-within .df-media .df-media__img--secondary {
  opacity: 1;
}

.home-designer-focus .df-tag {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
  background: #b89a6a;
}

.home-designer-focus .df-body {
  padding: 1rem 1.15rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 130px;
}

.home-designer-focus .df-name {
  font-size: 1.05rem;
  line-height: 1.3;
  color: #15110c;
  margin: 0;
  font-weight: 500;
  min-height: calc(1.3em * 2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-designer-focus .df-stars {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 16px;
  color: #b89a6a;
  letter-spacing: 0.04em;
  margin: 0;
  line-height: 1;
}

.home-designer-focus .df-price {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 16px;
  color: #15110c;
  margin: auto 0 0;
  font-weight: 600;
}

/* When Featured Designer is rendered in the Club Insights skin,
   ensure the shared DOM uses the Club Insights values (not the old designer-focus ones). */
.club-insights-v2.home-designer-focus .df-grid {
  gap: 1.5rem;
}

.club-insights-v2.home-designer-focus .club-insights-v2__band {
  background: #fff;
}

.club-insights-v2.home-designer-focus .club-insights-v2__title span:first-child {
  color: #111;
}

.club-insights-v2.home-designer-focus .df-all {
  color: #111;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.club-insights-v2.home-designer-focus .df-all:hover {
  color: #6b5a3e;
}

.club-insights-v2.home-designer-focus .df-desc {
  color: rgba(17, 17, 17, 0.78);
}

.club-insights-v2.home-designer-focus .df-desc {
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
}

.club-insights-v2.home-designer-focus .df-card {
  background: var(--df-card-cream);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  box-shadow: none;
  transition:
    transform 0.28s var(--df-ease),
    box-shadow 0.28s var(--df-ease);
}

.club-insights-v2.home-designer-focus .df-media {
  background: #e8dfd2;
  border-radius: 18px 18px 0 0;
}

.club-insights-v2.home-designer-focus .df-media img {
  transition: transform var(--df-dur) var(--df-ease);
}

.club-insights-v2.home-designer-focus .df-media .df-media__img--secondary {
  transition:
    opacity var(--df-dur) var(--df-ease),
    transform var(--df-dur) var(--df-ease);
}

.club-insights-v2.home-designer-focus .df-tag--new {
  background: var(--df-badge-new);
}

.club-insights-v2.home-designer-focus .df-tag--featured {
  background: var(--df-badge-featured);
}

.club-insights-v2.home-designer-focus .df-title {
  color: inherit;
}


.vault-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  --vc-bg: #fdfaf4;
  --vc-border: #e7ded2;
  --vc-border-strong: #d8cfc3;
  --vc-text: #1e1a16;
  --vc-muted: #6f675f;
  --vc-soft: #f3eee6;

  background: var(--vc-bg);
  border: 1px solid var(--vc-border);
  border-radius: 20px;
  padding: 0;
  box-shadow:
    0 18px 46px rgba(28, 22, 16, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.vault-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 24px 60px rgba(24, 18, 12, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.65) inset;
  border-color: var(--vc-border-strong);
}

.vault-card__media {
  display: block;
  position: relative;
  border-radius: 20px 20px 14px 14px;
  overflow: hidden;
  background: var(--vc-soft);
  aspect-ratio: 360 / 235;
  line-height: 0;
}

.vault-card__badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(30, 26, 22, 0.1);
  color: var(--vc-text);
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  backdrop-filter: blur(4px);
}

.vault-card__date {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(30, 26, 22, 0.1);
  color: var(--vc-text);
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  backdrop-filter: blur(4px);
}

.vault-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
  display: block;
}

.vault-card__media:hover img {
  transform: scale(1.03);
}

.vault-card__body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  min-height: 250px;
}

.vault-card__top {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.vault-card__meta {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: var(--vc-muted);
}

.vault-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vault-card__pin {
  width: 14px;
  height: 14px;
  display: inline-block;
  background: currentColor;
  opacity: 0.9;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.vault-card__dot {
  opacity: 0.75;
}

.vault-card__rating {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
  opacity: 0.55;
}

.vault-card__star {
  width: 12px;
  height: 12px;
  display: inline-block;
  background: #c5a97b;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m12 17.27l5.18 3.09l-1.64-5.81L20 10.24l-5.9-.5L12 4.2L9.9 9.74L4 10.24l4.46 4.31l-1.64 5.81z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m12 17.27l5.18 3.09l-1.64-5.81L20 10.24l-5.9-.5L12 4.2L9.9 9.74L4 10.24l4.46 4.31l-1.64 5.81z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.vault-card__pill {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5e554c;
  background: rgba(197, 169, 123, 0.2);
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  margin-bottom: 0.65rem;
}

.vault-card__title {
  font-family: var(--jw-typeface);
  font-size: 1.05rem;
  font-weight: 400;
  color: var(--vc-text);
  line-height: 1.35;
  margin: 0 0 0.45rem;
  min-height: calc(1.35em * 2);
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vault-card__excerpt {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: var(--vc-muted);
  margin: 0 0 0.85rem;
  flex: 1;
  min-height: calc(1.5em * 3);
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .vault-card__body {
    min-height: 230px;
  }
}

.vault-card__rating {
  margin: 0 0 0.95rem;
  opacity: 0.55;
}

.vault-card__btn {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vc-text);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid var(--vc-border-strong);
  background: transparent;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.vault-card__btn-arrow {
  margin-left: 8px;
  font-size: 14px;
  line-height: 1;
  transform: translateY(-1px);
}

.vault-card__btn:hover {
  background: rgba(255, 255, 255, 0.28);
  border-color: var(--vc-border-strong);
}

/* Daily club video collage */
.daily-club-video-wall {
  background: #fff;
}

.daily-club-video-wall__frame {
  background: #f6f6f6;
  border: 1px solid #ececec;
  border-radius: 4px;
  /* padding: 14px; */
}

.daily-club-video-wall__grid {
  display: grid;
  grid-template-columns: 1.12fr 1fr 1fr;
  gap: 10px;
  justify-content: center;
  align-items: center;
}

.daily-club-video-wall__tile {
  position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  background: #f6f6f6;
  aspect-ratio: 16 / 9;
  max-height: 245px;
}

.daily-club-video-wall__tile--hero {
  grid-row: span 2;
  aspect-ratio: auto;
  max-height: none;
  align-self: stretch;
}

@media (min-width: 992px) {
  .daily-club-video-wall__tile--hero {
    min-height: clamp(280px, 42vw, 520px);
  }
}

.club-insight-video-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 140px;
}

.club-insight-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.club-insight-video__symbol {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.club-insight-video-wrap:hover .club-insight-video__symbol {
  transform: translate(-50%, -50%) scale(1.05);
}

.daily-club-video-wall__grid--interactive .club-insight-video-wrap[data-video-wall-tile] {
  cursor: pointer;
}

.daily-club-video-wall__grid--interactive .club-insight-video-wrap[data-video-wall-tile]:focus-visible {
  outline: 2px solid rgba(195, 169, 117, 0.85);
  outline-offset: 3px;
}

/* Modal: click tile → fullscreen-style player (above .header-v2: 200, search modal: 10050, toasts: 9999) */
.daily-club-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10060;
  isolation: isolate;
  display: none;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right))
    max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}

.daily-club-video-modal.is-open {
  display: flex;
}

.daily-club-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.94);
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.daily-club-video-modal__inner {
  position: relative;
  z-index: 1;
  width: min(96vw, 1600px);
  max-height: min(92vh, 900px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.daily-club-video-modal__video {
  width: 100%;
  max-height: min(92vh, 900px);
  height: auto;
  object-fit: contain;
  vertical-align: middle;
  background: #000;
  border-radius: 6px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
}

.daily-club-video-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  left: auto;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: #c5a97b;
  color: #141414;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  transition: background 0.2s ease, color 0.2s ease;
}

/* × sits low in most fonts — explicit box + metric font for predictable centering */
.daily-club-video-modal__close-icon {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  transform: translateY(-1px);
}

.daily-club-video-modal__close:hover {
  background: #b69868;
  color: #0a0a0a;
}

.daily-club-video-modal__close:focus-visible {
  outline: 2px solid #c5a97b;
  outline-offset: 3px;
}

@media (max-width: 575.98px) {
  .daily-club-video-modal__inner {
    width: 100%;
    max-height: none;
  }

  .daily-club-video-modal__video {
    max-height: 88vh;
  }

  .daily-club-video-modal__close {
    top: max(-48px, -3vh);
    right: 4px;
    left: auto;
  }
}

/* Keep support for image fallback cards */
.daily-club-video-wall__tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.daily-club-video-wall__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.daily-club-video-wall__play::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 14px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid rgba(80, 80, 80, 0.95);
}

@media (max-width: 991.98px) {
  .daily-club-video-wall__grid {
    grid-template-columns: 1fr;
  }

  .daily-club-video-wall__tile--hero {
    grid-column: auto;
    grid-row: auto;
    max-height: 260px;
  }
}

@media (max-width: 575.98px) {
  .daily-club-video-wall__frame {
    padding: 10px;
  }

  .daily-club-video-wall__grid {
    gap: 8px;
  }

  .daily-club-video-wall__tile {
    max-height: 220px;
  }

  .daily-club-video-wall__tile--hero {
    max-height: 220px;
  }
}

/* === home.html block 7 === */
.explore-collection-block {
  /* background: #fff; */
  background: #000;

  --ec-muted: #8a8580;
  --ec-border: rgba(0, 0, 0, 0.08);
}

.explore-collection-block__head {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

@media (min-width: 768px) {
  .explore-collection-block__head {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
  }
}

.explore-collection-block__title {
  font-family: var(--jw-typeface);
  font-size: clamp(1.85rem, 3.5vw, 2.5rem);
  font-weight: 400;
  color: #111;
  margin: 0;
  line-height: 1.2;
}

.explore-collection-block__tagline {
  font-family: "Josefin Sans", system-ui, sans-serif;
    font-size: clamp(0.95rem, 1.5vw, 1.05rem);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
    /* margin: 0 0 clamp(1.75rem, 3vw, 2.5rem); */
    /* max-width: 44rem; */
}

/* Match .club-insights-v2 .df-all on dark band */
.explore-collection-block__link {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  white-space: nowrap;
}

.explore-collection-block__link:hover {
  color: #e8dcc4;
}

.explore-collection-block__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ec-border);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.explore-collection-block__card:hover {
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.1);
}

.explore-collection-block__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #f4f2ef;
  overflow: hidden;
}

.explore-collection-block__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.explore-collection-block__split {
  position: absolute;
  inset: 0;
  display: flex;
  width: 100%;
  height: 100%;
}

.explore-collection-block__split > div {
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: 100%;
}

.explore-collection-block__split img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.explore-collection-block__body {
  padding: 1.35rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
}

.explore-collection-block__label {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ec-muted);
  margin: 0 0 0.4rem;
}

.explore-collection-block__card-title {
  font-family: var(--jw-typeface);
  font-size: 1.2rem;
  font-weight: 400;
  color: #111;
  line-height: 1.3;
  margin: 0 0 1.1rem;
}

.explore-collection-block__btn {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  
  text-transform: uppercase;
  color: #c5a97b;
  background: #111;
  border: none;
  border-radius: 3px;
  padding: 0.65rem 1.35rem;
  text-decoration: none;
  display: inline-block;
  margin-top: auto;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.explore-collection-block__btn:hover {
  background: #2a2a2a;
  color: #fff;
}

.explore-collection-block__title-part--dark {
  color: #ffffff;
}

.explore-collection-block__title-part--gold {
  color: var(--dv-gold);
}

.explore-collection-block__head {
  /* background: #fff; */
  background: transparent;
  --dv-gold: #c5a97b;
  --dv-muted: #8a8580;
}

/* === home.html block 8 === */
.contributors-v2 {
  background: #0c0c0c;
}

.contributors-v2 .mainhead {
  font-size: clamp(1.85rem, 3.5vw, 2.5rem);
  font-family: var(--jw-typeface);
  color: #c5a97b;
  letter-spacing: 0.02em;
}

.contributors-v2 .mainhead .text-white {
  color: #c5a97b !important;
}

.contributors-v2 .mycard .cardcont .head {
  font-family: var(--jw-typeface);
  color: #c5a97b;
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  line-height: 1.2;
}

/* === home.html block 9 === */
/* Override global mystyle footer:before split-panel */
footer.footer-v2::before {
  display: none !important;
  content: none !important;
}

.footer-v2 {
  background: #0c0c0c !important;
  --fv-gold: #c5a97b;
  --fv-pad-top: clamp(3.25rem, 6.5vw, 5rem);
  --fv-pad-bottom: clamp(2.5rem, 4.5vw, 3.5rem);
  --fv-title: clamp(1.5rem, 2.4vw, 1.875rem);
  --fv-body: 0.875rem;
  --fv-nav: 0.75rem;
  --fv-btn: 0.6875rem;
  --fv-copy: 0.6875rem;
  --fv-rhythm-sm: 0.875rem;
  --fv-rhythm-md: 1.375rem;
  --fv-rhythm-lg: 1.875rem;
  --fv-rhythm-xl: 2.25rem;
  color: rgba(255, 255, 255, 0.92);
  padding: var(--fv-pad-top) 0 var(--fv-pad-bottom) !important;
}

.footer-v2 .cmpad {
  position: relative;
}

.footer-v2__col--left,
.footer-v2__col--right {
  text-align: left;
  padding-top: 100px;
}

.footer-v2 .backtop {
  filter: none;
  opacity: 0.85;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 99999999;
}

.footer-v2 .backtop .backtop-arrow {
  font-size: 22px;
  line-height: 1;
  color: #ffffff;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  transform: translateY(-1px);
}

.footer-v2__title {
  font-family: var(--jw-typeface);
  font-size: clamp(1.85rem, 3.5vw, 2.5rem);
  font-weight: 400;
  color: var(--fv-gold);
  margin: 0rem;
  line-height: 1.2;
  letter-spacing: 0.025em;
  margin-bottom: 0.5rem;
}

.footer-v2__text {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: var(--fv-body);
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  max-width: 40ch;
}

.footer-v2__col--right .footer-v2__text {
  max-width: 48ch;
}

.footer-v2__social,
.footer-v2 .social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 1rem;
  list-style: none;
  padding: 0;
  margin-top: 0.5rem;
}

.footer-v2__social a,
.footer-v2 .social a {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.92;
  transition: opacity 0.2s ease;
}

.footer-v2__social a:hover,
.footer-v2 .social a:hover {
  opacity: 1;
}

.footer-v2__social img,
.footer-v2 .social img {
  width: 22px;
  height: 22px;
  filter: brightness(0) saturate(100%) invert(72%) sepia(18%) saturate(497%)
    hue-rotate(5deg) brightness(95%) contrast(88%);
}

.footer-v2__center {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-v2__logo-wrap {
  position: relative;
  width: clamp(148px, 24vw, 172px);
  height: clamp(148px, 24vw, 172px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(10px, 2vw, 14px);
  background: transparent;
}

.footer-v2__logo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
  z-index: 1;
}

.footer-v2__vline {
  width: 1px;
  min-height: 3rem;
  background: var(--fv-gold);
  margin-top: var(--fv-rhythm-md);
}

@media (min-width: 992px) {
  .footer-v2__vline {
    min-height: 15rem;
  }
}

.footer-v2__form {
  /* margin-top: var(--fv-rhythm-md); */
  margin-top: 1rem;
}

.footer-v2__form .footer-v2__field {
  display: flex;
  flex-direction: column;
  gap: var(--fv-rhythm-sm);
}

@media (min-width: 576px) {
  .footer-v2__form .footer-v2__field {
    flex-direction: row;
    align-items: stretch;
  }
}

.footer-v2__form input[type="email"] {
  flex: 1;
  min-width: 0;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: var(--fv-body);
  color: #fff;
  background: #080808;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 12px;
  padding: 0.8125rem 1.125rem;
  min-height: 3rem;
  box-sizing: border-box;
}

.footer-v2__form input[type="email"]:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.85);
}

.footer-v2__form input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

.footer-v2__form button[type="submit"] {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: var(--fv-btn);
  font-weight: 700;
  
  text-transform: uppercase;
  color: #111;
  background: var(--fv-gold);
  border: none;
  border-radius: 6px;
  padding: 0.8125rem 1.625rem;
  min-height: 3rem;
  box-sizing: border-box;
  white-space: nowrap;
  cursor: pointer;
  transition: filter 0.2s ease;
}

.footer-v2__form button[type="submit"]:hover {
  filter: brightness(1.08);
}

.footer-v2__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1.35rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  /* border-top: 1px solid rgba(197, 169, 123, 0.25); */
}

.footer-v2__nav a {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: var(--fv-nav);
  font-weight: 500;
  letter-spacing: 0.035em;
  text-transform: none;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  padding: 0.25rem 0;
}

.footer-v2__nav a:hover {
  color: var(--fv-gold);
}

.footer-v2__copy {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: var(--fv-copy);
  letter-spacing: 0.05em;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  margin: var(--fv-rhythm-xl) 0 0;
  padding-bottom: 0.125rem;
}

@media (max-width: 991.98px) {
  .footer-v2 {
    --fv-pad-top: clamp(2.2rem, 8vw, 3.25rem);
    --fv-pad-bottom: clamp(1.9rem, 6vw, 2.6rem);
  }

  .footer-v2__main {
    row-gap: 1.5rem !important;
  }

  .footer-v2__col--left,
  .footer-v2__col--right {
    padding-top: 0 !important;
    text-align: center;
  }

  .footer-v2__text,
  .footer-v2__col--right .footer-v2__text {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-v2__social,
  .footer-v2 .social {
    justify-content: center;
  }

  .footer-v2__center {
    margin-bottom: 0.5rem;
  }

  .footer-v2__vline {
    display: none;
  }

  .footer-v2__form .footer-v2__field {
    flex-direction: column;
    width: 100%;
  }

  .footer-v2__form button[type="submit"] {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .footer-v2__title {
    font-size: clamp(1.6rem, 8vw, 2rem);
  }

  .footer-v2__logo-wrap {
    width: 128px;
    height: 128px;
    padding: 10px;
  }

  .footer-v2__nav {
    gap: 0.45rem 0.9rem;
    margin-top: 1.6rem;
    padding-top: 1.3rem;
  }

  .footer-v2__copy {
    margin-top: 1.6rem;
    line-height: 1.45;
  }
}

/* === home.html block 10 === */
/* Position toast container at the bottom */
#toast-container {
  position: fixed;
  bottom: 140px;
  left: 0;
  right: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: column;
  pointer-events: none;
  z-index: 9999;
  padding: 0 15px;
  box-sizing: border-box;
}

/* Style individual toasts */
#toast-container > div {
  opacity: 1 !important;
  -ms-filter: none !important;
  filter: none !important;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 20px 0;
  padding: 12px 24px;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: auto;
}

/* Gold color for success and info */
.toast-success,
.toast-info {
  background-color: #c3a975 !important;
}

/* Red color for error and warning */
.toast-error,
.toast-warning {
  background-color: #c3a975 !important;
}

/* Adjust close button position */
.toast-close-button {
  position: absolute;
  top: 5px;
  right: 5px;
}

.toast-message {
  padding-left: 25px !important;
}

/* === home.html block 11 === */
.loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-family: "Josefin Sans", system-ui, sans-serif;
  flex-direction: column;
}

.loader-spinner img.loader-logo {
  width: 100px;
  height: 100px;
  animation: pulse 1.5s infinite;
  border-radius: 50%;
  object-fit: cover;
  /* optional: ensures image doesn't stretch */
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }

  50% {
    transform: scale(1.1);
    opacity: 1;
  }

  100% {
    transform: scale(1);
    opacity: 0.6;
  }
}
.mycard .head , .btn-secondary   {
  font-family: var(--jw-typeface);
  font-style: normal;
}

/* START Customer-side global pill buttons */
/* Default: Rounded buttons */
button,
button.btn,
button.btn-join-club,
.btn,
input.btn,
a.btn,
a.btn-join-club,
a.explore-collection-block__btn,
a.dailyclub-block__cta {
  border-radius: 9999px !important;
}
/* Exception: square controls (not select-like dropdowns) */
button.shop-view-btn,
button.header-search-modal__backdrop,
button.tabsbtn,
button#billing-tab,
button#shipping-tab
{
  border-radius: 0 !important;
}

button.select-dropdown__button {
  border-radius: 6px !important;
}
/* END Customer-side global pill buttons */

button.select-dropdown__button,
input#keyword
{
  border-color: var(--primary);
}

/* === blog.html === */
body.jw-blog-page {
  --jw-accent: #c5a97b;
  --jw-text: #333333;
  --jw-sans: "Josefin Sans", system-ui, sans-serif;
  --jw-serif: "the-seasons", sans-serif;
  --font14: 14px;
  margin: 0;
  background: #ffffff;
  color: var(--jw-text);
  font-family: var(--jw-sans);
  -webkit-font-smoothing: antialiased;
}

.jw-hero {
  position: relative;
  min-height: clamp(280px, 52vh, 640px);
  /* background: #0a0a0a url("https://thejewels.club/storage/featuredarticle-images/1442/wI5Kk3abkPMPbHFawZ0WhQL2jUX6qdPCbdXjkn7f.jpg") center center / cover no-repeat; */
}

.jw-hero__fade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.35) 100%);
}

.jw-hero-card-wrap {
  position: relative;
  z-index: 2;
  margin-top: clamp(-12rem, -14vw, -3rem);
  padding: 0 clamp(1rem, 4vw, 2rem) 0;
}

.jw-hero-card {
  margin: 0 auto;
  background: #ffffff;
  border-radius: 2px;
  padding: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 3.25rem) clamp(2rem, 4vw, 2.75rem);
  text-align: center;
}

.jw-hero-card__title {
  /* font-family: var(--jw-serif); */
  font-family: var(--jw-typeface);
  font-size: clamp(1.65rem, 3.8vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: 0.02em;
  color: #111;
  font-weight: 500;
}

.jw-hero-card__subtitle {
  font-family: var(--jw-sans);
  font-weight: 500;
  font-size: clamp(0.95rem, 1.9vw, 1.05rem);
  line-height: 1.55;
  color: var(--jw-text);
}

.jw-hero-card__intro {
  font-family: var(--jw-sans);
  font-weight: 400;
  font-size: clamp(0.8rem, 1.35vw, 0.9rem);
  line-height: 1.6;
  color: #555;
}

.jw-author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.jw-author__row {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: left;
  max-width: 28rem;
}

.jw-author__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid rgba(197, 160, 89, 0.35);
}

.jw-author__name {
  font-family: var(--jw-sans);
  font-weight: 700;
  font-size: 0.95rem;
  color: #111;
  margin: 0 0 0.2rem;
}

.jw-author__role {
  font-family: var(--jw-sans);
  font-weight: 600;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--jw-accent);
  margin: 0 0 0.45rem;
}

.jw-author__bio {
  font-family: var(--jw-sans);
  font-weight: 400;
  font-size: 0.72rem;
  line-height: 1.55;
  color: #666;
  margin: 0;
}

.jw-dna {
  background: #fff;
  padding: 0 clamp(1rem, 4vw, 2rem) clamp(3rem, 8vw, 5rem);
}

.jw-dna__inner {
  max-width: 1040px;
  margin: 0 auto;
}

.jw-dna__title {
  font-family: var(--jw-serif);
  font-weight: 600;
  font-size: clamp(1.65rem, 3.5vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: 0.02em;
  color: var(--jw-accent);
  text-align: center;
  margin: 0 0 1.25rem;
}



.jw-hero {
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.42) 100%),
    var(--jw-hero-image) center center / cover no-repeat !important;
  min-height: clamp(340px, 56vh, 720px);
}

.jw-hero-card-wrap {
  margin-top: clamp(-17rem, -22vw, -7rem);
}

.jw-hero-card__title {
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.08;
}

.jw-author__bio {
  max-width: 760px;
  margin: 0 auto;
}

.jw-dna__inner {
  max-width: 1120px;
  border-top: 1px solid #ece6db;
  padding-top: 1.5rem;
}
/* 
@media (max-width: 768px) {
  .jw-hero__img {
    height: 600px;
  }

  .jw-hero-card-wrap {
    margin-top: clamp(-17rem, -22vw, -17rem);
  }
} */

@media (max-width: 768px) {
  .jw-hero {
    min-height: 600px;
  }

  .jw-hero__img {
    height: 600px;
  }

  .jw-hero-card-wrap {
    margin-top: -16rem;
  }
}

#sort-form .select-dropdown {
  width: 240px !important;
}

/* === Product detail page (PDP) /products/{slug} === */
@media (max-width: 575.98px) {
  html:has(.product-page-v2) {
    font-size: 100%;
  }
}

.product-page-v2 .breadcrumb {
  font-size: clamp(0.8125rem, 0.72rem + 0.35vw, 0.875rem);
  flex-wrap: wrap;
  row-gap: 0.15rem;
}

.product-page-v2 h1.mainhead {
  font-family: var(--jw-typeface);
  font-size: clamp(1.6rem, 1.1rem + 2.1vw, 2.2rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: var(--primary, #c3a975);
}

.product-page-v2 h2.mainhead {
  font-family: var(--jw-typeface);
  font-size: clamp(1.3rem, 1rem + 1vw, 1.7rem);
  line-height: 1.25;
  font-weight: 500;
}

.product-page-v2 h3.font20 {
  font-size: clamp(1.05rem, 0.92rem + 0.4vw, 1.25rem) !important;
}

.product-page-v2 .pdp-price-head {
  font-size: clamp(1.35rem, 0.95rem + 1.6vw, 2rem);
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
}

.product-page-v2 .pdp-price-head .discounted-price {
  font-size: inherit;
  font-weight: 600;
}

.product-page-v2 .pdp-hero-stars {
  font-size: clamp(1.125rem, 0.9rem + 0.7vw, 1.25rem);
}

.product-page-v2 .col-lg-6.product-detail .product-rating {
  font-size: clamp(0.875rem, 0.8rem + 0.25vw, 0.9375rem);
}

.product-page-v2 .product-description,
.product-page-v2 .product-description p {
  font-size: clamp(0.9375rem, 0.88rem + 0.2vw, 1.0625rem);
  line-height: 1.65;
  color: var(--textclr, #555);
}

.product-page-v2 .pdp-review-summary-score {
  font-size: clamp(1.75rem, 1.35rem + 1.4vw, 2rem);
  font-weight: 600;
  color: var(--primary, #c3a975);
  line-height: 1.2;
}

.product-page-v2 .pdp-review-summary-meta {
  font-size: 0.8125rem;
  color: var(--textclr, #555) !important;
  margin-top: 0.25rem;
}

.product-page-v2 .pdp-review-dist-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  font-size: 0.8125rem;
}

.product-page-v2 .pdp-review-dist-label {
  flex: 0 0 5.5rem;
  min-width: 0;
}

.product-page-v2 .pdp-review-bar-track {
  flex: 1 1 120px;
  min-width: 0;
  height: 8px;
  background: #eee;
  border-radius: 4px;
  overflow: hidden;
}

.product-page-v2 .pdp-review-bar-fill {
  height: 100%;
  background: var(--primary, #c3a975);
  border-radius: 4px;
  min-width: 0;
  transition: width 0.2s ease;
}

.product-page-v2 .pdp-review-dist-pct {
  flex: 0 0 auto;
  min-width: 2.5rem;
  text-align: right;
  color: var(--textclr, #555);
}

@media (max-width: 575.98px) {
  .product-page-v2 .pdp-review-dist-label {
    flex: 0 0 100%;
  }

  .product-page-v2 .pdp-review-bar-track {
    flex: 1 1 calc(100% - 3.5rem);
  }
}

.product-page-v2 .pdp-review-filters .btn {
  font-size: 0.8125rem;
  padding: 0.4rem 0.75rem;
}

@media (max-width: 767.98px) {
  .product-page-v2__inner.pt-5 {
    padding-top: 1.5rem !important;
  }

  .product-page-v2 .row.g-5 {
    --bs-gutter-y: 1.75rem;
  }

  .product-page-v2 .pdp-vendor-card {
    flex-wrap: wrap;
  }

  .product-page-v2 .pdp-vendor-card .btn-secondary {
    width: 100%;
    margin-top: 0.35rem;
  }

  .product-page-v2 .add-to-cart-form.d-flex.flex-wrap {
    flex-direction: column;
    align-items: stretch !important;
  }

  .product-page-v2 .add-to-cart-form .d-flex.gap-3 {
    flex-direction: column;
  }

  .product-page-v2 .add-to-cart-form .d-flex.gap-3 .btn {
    width: 100%;
  }
}

/* === Home (/) — motion + hovers (scoped: .user-home) === */
@keyframes user-home-hero-in {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .user-home .slider-con {
    animation: user-home-hero-in 0.9s ease-out 0.1s both;
  }
}

/* Vendor store hero: breadcrumbs above title — align with inner-page `.breadcrumb` (instyle + --jw-typeface) */
.slider .breadcrumb.breadcrumb--hero {
  --bs-breadcrumb-divider: "/";
  font-family: var(--jw-typeface);
  font-size: var(--font12);
  background: transparent;
  padding: 0;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 0.25rem;
}

.slider .breadcrumb.breadcrumb--hero .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.88);
}

.slider .breadcrumb.breadcrumb--hero .breadcrumb-item.active {
  color: rgba(255, 255, 255, 0.95);
}

.slider .breadcrumb.breadcrumb--hero .breadcrumb-item a:hover,
.slider .breadcrumb.breadcrumb--hero .breadcrumb-item a:focus-visible {
  color: #fff;
}

.slider .breadcrumb.breadcrumb--hero .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.45);
}

.user-home .slideimg .morebtn {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    filter 0.3s ease;
  will-change: transform;
}

.user-home .slideimg .morebtn:hover,
.user-home .slideimg .morebtn:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
}

.user-home .dailyclub-block__logo img {
  transition: transform 0.45s ease;
}

.user-home .dailyclub-block__intro:hover .dailyclub-block__logo img {
  transform: scale(1.04);
}

.user-home .dailyclub-block__cta {
  transition:
    color 0.2s ease,
    letter-spacing 0.2s ease,
    transform 0.2s ease;
}

.user-home .dailyclub-block__cta:hover,
.user-home .dailyclub-block__cta:focus-visible {
  letter-spacing: 0.12em;
  transform: translateX(2px);
}

.user-home .dailyclub-card-v2 {
  border-radius: 14px;
  transition:
    transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1),
    box-shadow 0.4s ease;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.user-home .dailyclub-card-v2__media img {
  transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.user-home .dailyclub-card-v2:hover {
  transform: translateY(-6px);
  box-shadow: none;
}

.user-home .dailyclub-card-v2:hover .dailyclub-card-v2__media img {
  transform: scale(1.05);
}

.user-home .feat-hero {
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.12);
}

.user-home .feat-hero__media img {
  transition: transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.user-home .feat-hero__link:hover .feat-hero__media img,
.user-home .feat-hero__link:focus-visible .feat-hero__media img {
  transform: scale(1.06);
}

.user-home .feat-hero:has(.feat-hero__link:hover),
.user-home .feat-hero:has(.feat-hero__link:focus-visible) {
  transform: translateY(-4px);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.16);
}

.user-home .feat-card-v3 {
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.user-home .feat-card-v3:hover,
.user-home .feat-card-v3:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.08);
}

.user-home .featstick .bordercard {
  border-radius: 12px;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.user-home .featstick .bordercard:hover,
.user-home .featstick .bordercard:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.07);
}

.user-home .featured-head-v2__all,
.user-home .club-insights-v2 .df-all,
.user-home .home-designer-focus .df-all,
.user-home .explore-collection-block__link {
  font-size: 14px;
  color: #c5a97b;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  transition:
    color 0.2s ease,
    letter-spacing 0.25s ease,
    transform 0.2s ease;
}

.user-home .featured-head-v2__all:hover,
.user-home .club-insights-v2 .df-all:hover,
.user-home .home-designer-focus .df-all:hover,
.user-home .explore-collection-block__link:hover,
.user-home .featured-head-v2__all:focus-visible,
.user-home .club-insights-v2 .df-all:focus-visible,
.user-home .home-designer-focus .df-all:focus-visible,
.user-home .explore-collection-block__link:focus-visible {
  color: #b38f5b;
  letter-spacing: 0.1em;
  transform: translateY(-1px);
}

/* Reuse the home-page "df-all" link animation site-wide */
a.df-all,
a.fd-all,
a.ep-all {
  display: inline-block;
  transition:
    color 0.2s ease,
    letter-spacing 0.25s ease,
    transform 0.2s ease;
}

a.df-all:hover,
a.df-all:focus-visible,
a.fd-all:hover,
a.fd-all:focus-visible,
a.ep-all:hover,
a.ep-all:focus-visible {
  letter-spacing: 0.1em;
  transform: translateY(-1px);
}

.user-home .club-insights-v2 .df-card {
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.2);
}

.user-home .club-insights-v2 .df-card:hover,
.user-home .club-insights-v2 .df-card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.35);
}

.user-home .club-insights-v2 .df-card:hover .df-media img,
.user-home .club-insights-v2 .df-card:focus-within .df-media img {
  transform: scale(1.06);
}

.user-home .club-insights-v2 .df-card:hover .df-media .df-media__img--secondary,
.user-home .club-insights-v2 .df-card:focus-within .df-media .df-media__img--secondary {
  opacity: 1;
}

.user-home .club-insights-v2 .df-card:focus-visible {
  outline: 2px solid var(--primary, #c5a97b);
  outline-offset: 4px;
}

.user-home .daily-vault-df .df-card.daily-vault-df__card:focus-visible {
  outline: 2px solid #d4b87a;
  outline-offset: 4px;
}

.user-home .explore-collection-block__card {
  transition:
    box-shadow 0.35s ease,
    transform 0.35s ease;
}

.user-home .explore-collection-block__card:hover,
.user-home .explore-collection-block__card:focus-within {
  transform: translateY(-5px);
}

.user-home .explore-collection-block__media > img,
.user-home .explore-collection-block__split img {
  transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.user-home .explore-collection-block__card:hover .explore-collection-block__media > img,
.user-home .explore-collection-block__card:hover .explore-collection-block__split img,
.user-home .explore-collection-block__card:focus-within .explore-collection-block__media > img,
.user-home .explore-collection-block__card:focus-within .explore-collection-block__split img {
  transform: scale(1.05);
}

.user-home .daily-club-video-wall__frame .overcard {
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
  border-radius: 12px;
}

.user-home .daily-club-video-wall__frame .overcard:hover,
.user-home .daily-club-video-wall__frame .overcard:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
}

.user-home .contributors-v2 .mycard {
  border-radius: 15px;
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
}

.user-home .contributors-v2 .mycard:hover,
.user-home .contributors-v2 .mycard:focus-within {
  transform: translateY(-5px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
}

@media (prefers-reduced-motion: reduce) {
  .user-home .slider-con {
    animation: none;
  }

  .user-home .slider .mainslider .swiper-slide-active .slideimg > img {
    animation: none !important;
  }

  .user-home .slideimg .morebtn,
  .user-home .dailyclub-block__logo img,
  .user-home .dailyclub-block__cta,
  .user-home .dailyclub-card-v2,
  .user-home .dailyclub-card-v2__media img,
  .user-home .feat-hero,
  .user-home .feat-hero__media img,
  .user-home .feat-card-v3,
  .user-home .featstick .bordercard,
  .user-home .featured-head-v2__all,
  .user-home .club-insights-v2 .df-all,
  .user-home .home-designer-focus .df-all,
  .user-home .explore-collection-block__link,
  .user-home .club-insights-v2 .df-card,
  .user-home .club-insights-v2 .df-media img,
  .user-home .home-designer-focus .df-card,
  .user-home .home-designer-focus .df-media img,
  .user-home .explore-collection-block__card,
  .user-home .explore-collection-block__media > img,
  .user-home .explore-collection-block__split img,
  .user-home .daily-club-video-wall__frame .overcard,
  .user-home .contributors-v2 .mycard {
    transition: none !important;
    transform: none !important;
  }

  .user-home .dailyclub-card-v2:hover .dailyclub-card-v2__media img,
  .user-home .feat-hero__link:hover .feat-hero__media img,
  .user-home .explore-collection-block__card:hover .explore-collection-block__media > img,
  .user-home .explore-collection-block__card:hover .explore-collection-block__split img,
  .user-home .club-insights-v2 .df-card:hover .df-media img,
  .user-home .club-insights-v2 .df-card:focus-within .df-media img,
  .user-home .home-designer-focus .df-card:hover .df-media img,
  .user-home .home-designer-focus .df-card:focus-within .df-media img {
    transform: none !important;
  }
}

/* === Login (/login) — design v2 (scoped: .login-page-v2) === */
.login-page-v2 {
  --login-ink: #141414;
  --login-muted: rgba(20, 20, 20, 0.66);
  --login-line: rgba(20, 20, 20, 0.18);
  --login-card: rgba(255, 255, 255, 0.92);
  --login-sheen: rgba(195, 169, 117, 0.22);
}

.login-page-v2 {
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.9) 35%, rgba(255, 255, 255, 0.0) 62%),
    url("../img/shared-images/sharedimage1.jpg");
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

.label_login{
  text-transform: none!important;
}

.login-page-v2 .container,
.login-page-v2 .row,
.login-page-v2 .col-xl-5,
.login-page-v2 .col-lg-6,
.login-page-v2 .col-sm-10,
.login-page-v2 .col-12 {
  position: relative;
  z-index: 1;
}

.login-page-v2 .container {
  width: min(1180px, 100%);
}

.login-page-v2 .row {
  width: 100%;
  margin: 0;
}

.login-page-v2 .breadcrumb {
  display: none;
}

.login-page-v2__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 16px;
  position: relative;
  padding-top: 28px;
}

.login-page-v2__logo {
  width: 84px;
  height: 84px;
  border-radius: 999px;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
  position: absolute;
  top: -38px;
  left: 50%;
  transform: translateX(-50%);
}

.login-page-v2__logo img {
  width: 74px;
  height: 74px;
  object-fit: contain;
}

.login-page-v2__title {
  font-family: "the-seasons", sans-serif;
  font-weight: 400;
  color: var(--login-ink);
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0;
  font-size: clamp(28px, 3vw, 40px);
  margin-top: 26px;

}

.login-page-v2__title span {
  position: relative;
  display: inline-block;
}

.login-page-v2__title span::after {
  content: "";
  position: absolute;
  left: -0.1em;
  right: -0.08em;
  bottom: 0.1em;
  height: 0.55em;
  background: linear-gradient(90deg, rgba(195, 169, 117, 0.15), rgba(195, 169, 117, 0.32));
  border-radius: 999px;
  z-index: -1;
  filter: blur(0.2px);
}

.login-page-v2__card {
  border: 1px solid var(--login-line);
  border-radius: 18px;
  padding: 48px 34px;
  background: #fff;
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.08),
    0 2px 0 rgba(255, 255, 255, 0.55) inset;
}

.login-page-v2__field {
  margin-bottom: 18px;
}

.login-page-v2__label {
  position: static !important;
  display: block;
  margin: 0 0 8px 4px;
  font-size: 12px;
  letter-spacing: 0.02em;
  font-weight: 600;
  text-transform: none;
  color: rgba(20, 20, 20, 0.85);
}

.login-page-v2__label span {
  color: #d02929;
}

.login-page-v2__control {
  position: relative;
}

.login-page-v2__control input {
  width: 100%;
  display: block !important;
  height: 44px !important;
  line-height: 44px !important;
  border: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-bottom: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-radius: 999px;
  padding: 0 14px 0 44px !important;
  font-size: 14px !important;
  background: #fff !important;
  color: rgba(20, 20, 20, 0.92) !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-page-v2__control input::placeholder {
  color: rgba(20, 20, 20, 0.45);
}

.login-page-v2 .form-group input {
  /* override instyle.css underline inputs on login only */
  border: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-bottom: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-radius: 999px !important;
}

.login-page-v2__control input:focus {
  border-color: rgba(20, 20, 20, 0.35);
  box-shadow: 0 0 0 4px rgba(195, 169, 117, 0.18);
}

.login-page-v2__control::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  opacity: 0.55;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.login-page-v2__control--email::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

.login-page-v2__control--password::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}

.login-page-v2__submit {
  border-radius: 999px;
  padding: 12px 16px;
  background: #0f0f0f !important;
  border-color: #0f0f0f !important;
  color: #fff !important;
  letter-spacing: 0.02em;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
  text-transform: uppercase;
  font-size: 12px;
}

.login-page-v2__submit:hover,
.login-page-v2__submit:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.2);
  filter: brightness(1.02);
}

.login-page-v2__links {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.forget_password_login{
  text-decoration: underline!important;
}
.login-page-v2__link {
  color: rgba(20, 20, 20, 0.7);
  text-decoration: none;
}

.login-page-v2__link span {
  color: rgba(20, 20, 20, 0.92);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.login-page-v2__link:hover,
.login-page-v2__link:focus-visible {
  color: rgba(20, 20, 20, 0.92);
}

@media (max-width: 575.98px) {
  .login-page-v2__card {
    padding: 44px 18px 14px;
  }

  .login-page-v2 {
    background-position: 74% center;
  }
}

/* === Register (/register) — matches Login v2 (scoped: .register-page-v2) === */
.register-page-v2 {
  --reg-ink: #141414;
  --reg-line: rgba(20, 20, 20, 0.18);
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.9) 35%, rgba(255, 255, 255, 0.0) 62%),
    url("../img/shared-images/sharedimage9.jpg");
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}



.register-page-v2 .breadcrumb {
  display: none;
}

.register-page-v2 .container,
.register-page-v2 .row,
.register-page-v2 .col-xl-5,
.register-page-v2 .col-lg-6,
.register-page-v2 .col-sm-10,
.register-page-v2 .col-12 {
  position: relative;
  z-index: 1;
}

.register-page-v2__card {
  border: 1px solid var(--reg-line);
  border-radius: 18px;
  padding: 48px 34px;
  background: #fff;
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.08),
    0 2px 0 rgba(255, 255, 255, 0.55) inset;
}

.register-page-v2__brand {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding-top: 28px;
  margin-bottom: 16px;
}

.register-page-v2__logo {
  width: 84px;
  height: 84px;
  border-radius: 999px;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
  position: absolute;
  top: -38px;
  left: 50%;
  transform: translateX(-50%);
}

.register-page-v2__logo img {
  width: 74px;
  height: 74px;
  object-fit: contain;
}

.register-page-v2__title {
  margin-top: 32px!important;
  font-family: "the-seasons", sans-serif;
  font-weight: 400;
  color: var(--reg-ink);
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0;
  font-size: clamp(26px, 2.6vw, 36px);
}

.register-page-v2__title span {
  position: relative;
  display: inline-block;
}

.register-page-v2__title span::after {
  content: "";
  position: absolute;
  left: -0.1em;
  right: -0.08em;
  bottom: 0.1em;
  height: 0.55em;
  background: linear-gradient(90deg, rgba(195, 169, 117, 0.15), rgba(195, 169, 117, 0.32));
  border-radius: 999px;
  z-index: -1;
}

.register-page-v2__field {
  margin-bottom: 18px;
}

.register-page-v2__label {
  position: static !important;
  display: block;
  margin: 0 0 8px 4px;
  font-size: 12px;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: rgba(20, 20, 20, 0.85);
}

.register-page-v2__label span {
  color: #d02929;
}

.register-page-v2__control {
  position: relative;
}

.register-page-v2__control input {
  width: 100%;
  display: block !important;
  height: 44px !important;
  line-height: 44px !important;
  border: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-bottom: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-radius: 999px !important;
  padding: 0 14px 0 44px !important;
  font-size: 14px !important;
  background: #fff !important;
  color: rgba(20, 20, 20, 0.92) !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.register-page-v2__control input::placeholder {
  color: rgba(20, 20, 20, 0.45);
}

.register-page-v2__control input:focus {
  border-color: rgba(20, 20, 20, 0.35) !important;
  box-shadow: 0 0 0 4px rgba(195, 169, 117, 0.18) !important;
}

.register-page-v2__control::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  opacity: 0.55;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.register-page-v2__control--user::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.register-page-v2__control--email::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

.register-page-v2__control--password::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}

.register-page-v2__control--phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.86.3 1.7.54 2.5a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.58-1.11a2 2 0 0 1 2.11-.45c.8.24 1.64.42 2.5.54A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E");
}

.register-page-v2__submit {
  border-radius: 999px;
  padding: 12px 16px;
  background: #0f0f0f !important;
  border-color: #0f0f0f !important;
  color: #fff !important;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.02em;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

.register-page-v2__links {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.register-page-v2__link {
  color: rgba(20, 20, 20, 0.7);
  text-decoration: none;
}

.register-page-v2__link span {
  color: rgba(20, 20, 20, 0.92);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.register-page-v2__link:hover,
.register-page-v2__link:focus-visible {
  color: rgba(20, 20, 20, 0.92);
}

@media (max-width: 575.98px) {
  .register-page-v2__card {
    padding: 44px 18px 14px;
  }

  .register-page-v2 {
    background-position: 74% center;
  }
}

/* === Forgot Password (/forgot-password) — matches Login v2 (scoped: .forgot-page-v2) === */
.forgot-page-v2 {
  --fp-ink: #141414;
  --fp-line: rgba(20, 20, 20, 0.18);
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.9) 35%, rgba(255, 255, 255, 0.0) 62%),
    url("../img/shared-images/sharedimage10.jpg");
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}



.forgot-page-v2 .breadcrumb {
  display: none;
}

.forgot-page-v2 .container,
.forgot-page-v2 .row,
.forgot-page-v2 .col-xl-5,
.forgot-page-v2 .col-lg-6,
.forgot-page-v2 .col-sm-10,
.forgot-page-v2 .col-12 {
  position: relative;
  z-index: 1;
}

.forgot-page-v2__card {
  border: 1px solid var(--fp-line);
  border-radius: 18px;
  padding: 48px 34px;
  background: #fff;
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.08),
    0 2px 0 rgba(255, 255, 255, 0.55) inset;
}

.forgot-page-v2__brand {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding-top: 28px;
  margin-bottom: 16px;
}

.forgot-page-v2__logo {
  width: 84px;
  height: 84px;
  border-radius: 999px;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
  position: absolute;
  top: -38px;
  left: 50%;
  transform: translateX(-50%);
}

.forgot-page-v2__logo img {
  width: 74px;
  height: 74px;
  object-fit: contain;
}

.forgot-page-v2__title {
  margin-top: 32px!important;
  font-family: "the-seasons", sans-serif;
  font-weight: 400;
  color: var(--fp-ink);
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0;
  font-size: clamp(26px, 2.6vw, 36px);
}

.forgot-page-v2__title span {
  position: relative;
  display: inline-block;
}

.forgot-page-v2__title span::after {
  content: "";
  position: absolute;
  left: -0.1em;
  right: -0.08em;
  bottom: 0.1em;
  height: 0.55em;
  background: linear-gradient(90deg, rgba(195, 169, 117, 0.15), rgba(195, 169, 117, 0.32));
  border-radius: 999px;
  z-index: -1;
}

.forgot-page-v2__field {
  margin-bottom: 18px;
}

.forgot-page-v2__label {
  position: static !important;
  display: block;
  margin: 0 0 8px 4px;
  font-size: 12px;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: rgba(20, 20, 20, 0.85);
}

.forgot-page-v2__label span {
  color: #d02929;
}

.forgot-page-v2__control {
  position: relative;
}

.forgot-page-v2__control input {
  width: 100%;
  display: block !important;
  height: 44px !important;
  line-height: 44px !important;
  border: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-bottom: 1px solid rgba(20, 20, 20, 0.15) !important;
  border-radius: 999px !important;
  padding: 0 14px 0 44px !important;
  font-size: 14px !important;
  background: #fff !important;
  color: rgba(20, 20, 20, 0.92) !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.forgot-page-v2__control input::placeholder {
  color: rgba(20, 20, 20, 0.45);
}

.forgot-page-v2__control input:focus {
  border-color: rgba(20, 20, 20, 0.35) !important;
  box-shadow: 0 0 0 4px rgba(195, 169, 117, 0.18) !important;
}

.forgot-page-v2__control::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  opacity: 0.55;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.forgot-page-v2__control--email::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

.forgot-page-v2__submit {
  border-radius: 999px;
  padding: 12px 16px;
  background: #0f0f0f !important;
  border-color: #0f0f0f !important;
  color: #fff !important;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.02em;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

.forgot-page-v2__links {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.forgot-page-v2__link {
  color: rgba(20, 20, 20, 0.7);
  text-decoration: none;
}

.forgot-page-v2__link span {
  color: rgba(20, 20, 20, 0.92);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.forgot-page-v2__link:hover,
.forgot-page-v2__link:focus-visible {
  color: rgba(20, 20, 20, 0.92);
}

@media (max-width: 575.98px) {
  .forgot-page-v2__card {
    padding: 44px 18px 14px;
  }

  .forgot-page-v2 {
    background-position: 74% center;
  }
}

/* === Editorial blog cards (featured articles, club insights grid, etc.) === */
.blog-card--editorial {
  --blog-card-radius: 12px;
  --blog-card-shadow: 0 8px 28px rgba(15, 15, 15, 0.07);
  --blog-card-eyebrow: #8a8a8a;
  --blog-card-excerpt: #6b6b6b;
  --blog-card-pill-bg: #f3efe6;
  --blog-card-pill-text: #4a4338;
  gap: 0;
  background: #fff;
  border-radius: var(--blog-card-radius);
  box-shadow: var(--blog-card-shadow);
  overflow: hidden;
  height: 100%;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Match .user-home .contributors-v2 .mycard + base .mycard image hover */
.blog-card--editorial:hover,
.blog-card--editorial:focus-within {
  transform: translateY(-5px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
}

.blog-card--editorial > a {
  display: block;
  text-decoration: none;
}

.blog-card--editorial .blog-card__image {
  border-radius: var(--blog-card-radius) var(--blog-card-radius) 0 0;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  flex-shrink: 0;
}

.blog-card--editorial .blog-card__image:has(.embedded-content) {
  aspect-ratio: auto;
  min-height: 180px;
}

.blog-card--editorial .blog-card__image img.blogimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.45s ease, filter 0.35s ease;
}

.blog-card--editorial:hover .blog-card__image img.blogimg,
.blog-card--editorial:focus-within .blog-card__image img.blogimg {
  filter: brightness(110%);
  -webkit-filter: brightness(110%);
  transform: scale(1.1);
}

.blog-card--editorial .cardcont.blog-card__content {
  text-align: left;
  align-items: flex-start;
  justify-content: flex-start;
  padding: clamp(1.15rem, 3vw, 1.45rem) clamp(1.15rem, 3vw, 1.5rem) clamp(1.25rem, 3vw, 1.5rem);
  flex: 1 1 auto;
  gap: 0;
}

.blog-card--editorial .blog-card__eyebrow {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blog-card-eyebrow);
  margin: 0 0 0.65rem;
  line-height: 1.35;
}

.blog-card--editorial .blog-card__eyebrow-sep {
  font-weight: 400;
  opacity: 0.85;
}

.blog-card--editorial .head.blog-card__title {
  font-family: "the-seasons", sans-serif;
  font-size: clamp(1rem, 2.1vw, 1.125rem);
  font-weight: 500;
  line-height: 1.35;
  color: #0a0a0a;
  margin: 0 0 0.65rem;
  min-height: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card--editorial .desc.blog-card__excerpt {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--blog-card-excerpt);
  margin: 0 0 1.1rem;
  min-height: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1 1 auto;
}

.blog-card--editorial .morebtn.blog-card__cta {
  margin-top: auto;
  align-self: flex-start;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--blog-card-pill-text) !important;
  background: rgba(197, 169, 123, 0.16);
  border: none;
  border-radius: 9999px;
  padding: 0.55rem 1.1rem;
  position: relative;
  transition: background 0.2s ease, color 0.2s ease;
}

.blog-card--editorial .morebtn.blog-card__cta::after {
  display: none !important;
}

.blog-card--editorial .morebtn.blog-card__cta:hover,
.blog-card--editorial .morebtn.blog-card__cta:focus-visible {
  background: #e8e2d6;
  color: #2e2a24 !important;
}

.blog-card--editorial .morebtn.blog-card__cta:focus-visible {
  outline: 2px solid rgba(74, 67, 56, 0.35);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .blog-card--editorial,
  .blog-card--editorial:hover,
  .blog-card--editorial:focus-within {
    transition: none !important;
    transform: none !important;
  }

  .blog-card--editorial:hover .blog-card__image img.blogimg,
  .blog-card--editorial:focus-within .blog-card__image img.blogimg {
    transform: none !important;
    filter: none !important;
    -webkit-filter: none !important;
  }
}

/* Daily Club Vault (/daily-club-vault): uniform card grid (scoped to AJAX container) */
#dailyClubArticles > .row {
  align-items: stretch;
}

#dailyClubArticles > .row > .col {
  display: flex;
}

#dailyClubArticles .blog-card--daily-vault {
  flex: 1 1 auto;
  width: 100%;
  min-height: 100%;
  --blog-card-eyebrow: rgba(27, 28, 25, 0.72);
}

#dailyClubArticles .blog-card--daily-vault > a {
  flex-shrink: 0;
}

#dailyClubArticles .blog-card--daily-vault .blog-card__image {
  position: relative;
  overflow: hidden;
}

#dailyClubArticles .blog-card--daily-vault .blog-card__image img.blogimg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#dailyClubArticles .blog-card--daily-vault .blog-card__image-empty {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(197, 169, 123, 0.12) 0%, rgba(243, 240, 235, 1) 45%, rgba(230, 225, 216, 1) 100%);
}

#dailyClubArticles .blog-card--daily-vault .blog-card__content:not(:has(.blog-card__eyebrow))::before {
  content: "";
  display: block;
  flex-shrink: 0;
  min-height: calc(0.6875rem * 1.35);
  margin-bottom: 0.65rem;
}

#dailyClubArticles .blog-card--daily-vault .blog-card__eyebrow {
  min-height: calc(0.6875rem * 1.35);
  max-height: calc(0.6875rem * 1.35 * 2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

#dailyClubArticles .blog-card--daily-vault .head.blog-card__title {
  min-height: calc(1.35em * 2);
  max-height: calc(1.35em * 2);
  flex: 0 0 auto;
  word-break: break-word;
}

#dailyClubArticles .blog-card--daily-vault .desc.blog-card__excerpt {
  flex: 0 0 auto;
  min-height: calc(1.55em * 3);
  max-height: calc(1.55em * 3);
  word-break: break-word;
}

/* Featured Articles + Club Insights listing: same editorial eyebrow (category/tag • date) */
#featuredArticles .blog-card--editorial,
#clubInsights .blog-card--editorial {
  --blog-card-eyebrow: #8a8580;
}

/* Daily Club Vault tablet polish (767px - 991px) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .daily-club-vault-page .container {
    padding-top: 2.25rem !important;
  }

  .daily-club-vault-page #dailyClubArticles-timeline,
  .daily-club-vault-page .timeline {
    max-width: 100% !important;
    flex: 0 0 100%;
    width: 100%;
  }

  .daily-club-vault-page #dailyClubArticles-timeline .timebox {
    width: 100%;
  }

  .daily-club-vault-page #dailyClubArticles-timeline {
    margin-top: 1.5rem !important;
  }

  .daily-club-vault-page #dailyClubArticles > .row {
    row-gap: 1.75rem !important;
  }
}

/* === Editorial product cards (match Featured Articles / .blog-card--editorial) === */
.product-card.product-card--editorial {
  --blog-card-radius: 18px;
  --blog-card-shadow: 0 8px 28px rgba(15, 15, 15, 0.07);
  --blog-card-eyebrow: #8a8a8a;
  --blog-card-excerpt: #6b6b6b;
  --blog-card-pill-bg: #f3efe6;
  --blog-card-pill-text: #4a4338;
  gap: 0;
  background: #fff;
  border-radius: var(--blog-card-radius);
  box-shadow: var(--blog-card-shadow);
  overflow: hidden;
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
}

.product-card.product-card--editorial:hover,
.product-card.product-card--editorial:focus-within {
  transform: translateY(-5px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
}

.product-card.product-card--editorial .product-img {
  border: none;
  border-radius: var(--blog-card-radius) var(--blog-card-radius) 0 0;
  aspect-ratio: 3 / 2;
  background: #f0eeeb;
}

.product-card.product-card--editorial .product-info {
  display: flex;
  flex-direction: column;
  padding: clamp(1.15rem, 3vw, 1.45rem) clamp(1.15rem, 3vw, 1.5rem) clamp(1.25rem, 3vw, 1.5rem);
  flex: 1 1 auto;
  gap: 0;
  text-align: left;
}

.product-card.product-card--editorial .product-card__eyebrow {
  margin: 0 0 0.65rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blog-card-eyebrow);
  line-height: 1.35;
}

.product-card.product-card--editorial .product-title {
  margin-top: 0 !important;
  font-family: "Josefin Sans", system-ui, sans-serif !important;
  font-size: clamp(1rem, 2.1vw, 1.125rem);
  font-weight: 700;
  line-height: 1.35;
  color: #0a0a0a !important;
}

.product-card.product-card--editorial .product-title a {
  color: inherit !important;
}

.product-card.product-card--editorial .product-title a:hover {
  color: #c5a97b !important;
}

.product-card.product-card--editorial .product-rating {
  margin: 0 0 0.5rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  color: var(--blog-card-excerpt);
}

.product-card.product-card--editorial .product-rating .stars {
  font-size: 0.875rem;
  color: #c5a97b;
}

.product-card.product-card--editorial .product-price {
  margin: 0 0 0.95rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 600;
  color: #0a0a0a;
}

.product-card.product-card--editorial .product-card__actions-row {
  margin-top: auto;
}

.product-card.product-card--editorial .add-to-cart-form,
.product-card.product-card--editorial .product-card__view-link {
  display: inline-block;
  width: auto;
  max-width: 100%;
}

.product-card.product-card--editorial .add-to-cart-btn {
  width: auto !important;
  max-width: 100%;
  align-self: flex-start;
  gap: 0.4rem !important;
  min-height: 0 !important;
  line-height: 1 !important;
  border: none !important;
  border-radius: 9999px !important;
  box-shadow: none !important;
  padding: 0.55rem 1.15rem !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--blog-card-pill-text) !important;
  background: var(--blog-card-pill-bg) !important;
}

.product-card.product-card--editorial .add-to-cart-btn:hover,
.product-card.product-card--editorial .add-to-cart-btn:focus-visible {
  background: #e8e2d6 !important;
  color: #2e2a24 !important;
}

.product-card.product-card--editorial .add-to-cart-btn svg {
  width: 0.9375rem;
  height: 0.9375rem;
  opacity: 0.82;
}

#products-grid:not(.products-grid--list) .product-card.product-card--editorial .add-to-cart-form,
#products-grid:not(.products-grid--list) .product-card.product-card--editorial .product-card__view-link {
  display: inline-block;
  width: auto;
}

#products-grid:not(.products-grid--list) .product-card.product-card--editorial .add-to-cart-btn {
  width: auto !important;
  max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .product-card.product-card--editorial,
  .product-card.product-card--editorial:hover,
  .product-card.product-card--editorial:focus-within {
    transition: none !important;
    transform: none !important;
  }
}

/* === Vendor contact modal refresh === */
.contmodal .modal-dialog {
  max-width: 520px;
}

.vendor-contact-modal {
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 26px 56px rgba(16, 10, 4, 0.2);
}

.vendor-contact-modal .modal-body {
  position: relative;
  padding: 1.5rem 1.5rem 1.35rem;
  background:
    radial-gradient(circle at 105% -5%, rgba(197, 169, 123, 0.22), transparent 58%),
    linear-gradient(145deg, #fffdf9 0%, #f7f3ec 100%);
}

.vendor-contact-modal__close.btn-close {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid rgba(120, 102, 74, 0.24);
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.86);
  box-shadow: 0 3px 12px rgba(32, 24, 16, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  padding: 0;
  background-image: none;
}

.vendor-contact-modal__close.btn-close img {
  width: 0.82rem;
  height: 0.82rem;
  display: block;
  opacity: 0.86;
}

.vendor-contact-modal__close.btn-close:hover img {
  opacity: 1;
}

.vendor-contact-modal__eyebrow {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8f7a56;
}

.vendor-contact-modal__title {
  font-family: var(--jw-typeface);
  font-size: clamp(1.4rem, 2.2vw, 1.72rem);
  line-height: 1.2;
  font-weight: 500;
  color: #22170d;
  padding-right: 2.4rem;
}

.vendor-contact-modal__subtitle {
  margin-top: 0.55rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5a4c3d;
}

.vendor-contact-modal__contact-list {
  margin-top: 1.1rem;
  display: grid;
  gap: 0.68rem;
}

.vendor-contact-modal__contact-item {
  display: flex;
  align-items: center;
  gap: 0.78rem;
  padding: 0.72rem 0.82rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(197, 169, 123, 0.24);
}

.vendor-contact-modal__icon-wrap {
  width: 2.05rem;
  height: 2.05rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(197, 169, 123, 0.16);
  flex: 0 0 auto;
}

.vendor-contact-modal__contact-label {
  margin: 0 0 0.12rem;
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #8a7351;
}

.vendor-contact-modal__contact-link,
.vendor-contact-modal__contact-text {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.95rem;
  color: #292119;
  word-break: break-word;
}

.vendor-contact-modal__contact-link:hover {
  color: #8f7044;
}

.vendor-contact-modal__social-block {
  margin-top: 1.05rem;
  padding-top: 0.9rem;
  border-top: 1px dashed rgba(161, 137, 100, 0.34);
}

.vendor-contact-modal__social-title {
  font-family: "Josefin Sans", system-ui, sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #8a7351;
}

.vendor-contact-modal__social-list {
  margin-top: 0.72rem;
  gap: 0.52rem;
  flex-wrap: wrap;
}

.vendor-contact-modal__social-list li a {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(197, 169, 123, 0.28);
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.vendor-contact-modal__social-list li a:hover {
  transform: translateY(-2px);
  border-color: rgba(197, 169, 123, 0.6);
  box-shadow: 0 8px 14px rgba(34, 20, 6, 0.12);
}

@media (max-width: 575.98px) {
  .vendor-contact-modal .modal-body {
    padding: 1.3rem 1rem 1.1rem;
  }

  .vendor-contact-modal__title {
    font-size: 1.33rem;
  }
}

/* --------------------------------------------------------------------------
   Global typography + mobile type scale (single place for storefront V2 edits)
-------------------------------------------------------------------------- */

/* Font stacks */
body {
  font-family: "Josefin Sans", system-ui, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "the-seasons", sans-serif !important;
}

/* Mobile: readable consistent sizes (paragraphs/lists inherit body) */
@media (max-width: 575.98px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  :root {
    --jc-fs-body: 15px;
    --jc-lh-body: 1.65;

    --jc-fs-h1: 32px;
    --jc-fs-h2: 26px;
    --jc-fs-h3: 22px;
    --jc-fs-h4: 18px;
    --jc-fs-h5: 16px;
    --jc-fs-h6: 14px;

    /* Align mystyle.css utility classes (.font12 … .font32) with mobile readability */
    --font12: 12px;
    --font13: 12.5px;
    --font14: 13px;
    --font16: 15px;
    --font18: 16px;
    --font20: 17px;
    --font24: 20px;
    --font28: 23px;
    --font30: 26px;
    --font32: 28px;
  }

  body {
    font-size: var(--jc-fs-body);
    line-height: var(--jc-lh-body);
  }

  /* Main shells: text in div/section often had no <p>; give the container a clear base */
  main,
  article,
  section,
  .cmpad {
    font-size: var(--jc-fs-body);
    line-height: var(--jc-lh-body);
  }

  /* Typical body copy + table text (not headings) */
  p,
  li,
  td,
  th,
  label,
  figcaption,
  address,
  blockquote,
  dd,
  dt {
    font-size: var(--jc-fs-body);
    line-height: var(--jc-lh-body);
  }

  small,
  .small {
    font-size: var(--font12);
    line-height: 1.5;
  }

  /* Utility classes on headings must not shrink headings (e.g. h3.font20) */
  :is(h1, .h1):is(.font12, .font13, .font14, .font16, .font18, .font20, .font24, .font28, .font30, .font32) {
    font-size: var(--jc-fs-h1) !important;
    line-height: 1.12 !important;
  }

  :is(h2, .h2):is(.font12, .font13, .font14, .font16, .font18, .font20, .font24, .font28, .font30, .font32) {
    font-size: var(--jc-fs-h2) !important;
    line-height: 1.16 !important;
  }

  :is(h3, .h3):is(.font12, .font13, .font14, .font16, .font18, .font20, .font24, .font28, .font30, .font32) {
    font-size: var(--jc-fs-h3) !important;
    line-height: 1.2 !important;
  }

  :is(h4, .h4):is(.font12, .font13, .font14, .font16, .font18, .font20, .font24, .font28, .font30, .font32) {
    font-size: var(--jc-fs-h4) !important;
    line-height: 1.24 !important;
  }

  :is(h5, .h5):is(.font12, .font13, .font14, .font16, .font18, .font20, .font24, .font28, .font30, .font32) {
    font-size: var(--jc-fs-h5) !important;
    line-height: 1.28 !important;
  }

  :is(h6, .h6):is(.font12, .font13, .font14, .font16, .font18, .font20, .font24, .font28, .font30, .font32) {
    font-size: var(--jc-fs-h6) !important;
    line-height: 1.35 !important;
  }

  h1,
  .h1 {
    font-size: var(--jc-fs-h1);
    line-height: 1.12;
  }

  h2,
  .h2 {
    font-size: var(--jc-fs-h2);
    line-height: 1.16;
  }

  h3,
  .h3 {
    font-size: var(--jc-fs-h3);
    line-height: 1.2;
  }

  h4,
  .h4 {
    font-size: var(--jc-fs-h4);
    line-height: 1.24;
  }

  h5,
  .h5 {
    font-size: var(--jc-fs-h5);
    line-height: 1.28;
  }

  h6,
  .h6 {
    font-size: var(--jc-fs-h6);
    line-height: 1.35;
  }
}

