/** Shopify CDN: Minification failed

Line 1227:0 Expected "}" to go with "{"

**/
/* =====================================
   JOAN'S LOCKED HEADER
===================================== */

@media screen and (min-width: 1001px) {
  .header__row--top {
    min-height: 190px !important;
    padding-block: 14px !important;
  }

  .header-logo,
  .header-logo__image-container {
    overflow: visible !important;
  }

  .header-logo__image {
    width: auto !important;
    height: 148px !important;
    max-width: none !important;
    max-height: none !important;
  }

  .header__navigation-bar-row {
    min-height: 48px !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 1000px) {
  .header__row--top {
    min-height: 190px !important;
    padding-block: 14px !important;
  }

  .header-logo,
  .header-logo__image-container {
    overflow: visible !important;
  }

  .header-logo__image {
    width: auto !important;
    height: 150px !important;
    max-width: none !important;
    max-height: none !important;
  }

  .header__navigation-bar-row {
    min-height: 48px !important;
  }
}

@media screen and (max-width: 749px) {
  .header__row--top {
    min-height: 154px !important;
    padding-block: 10px !important;
  }

  .header-logo,
  .header-logo__image-container {
    overflow: visible !important;
  }

  .header-logo__image {
    width: auto !important;
    height: 118px !important;
    max-width: none !important;
    max-height: none !important;
  }

  .header__navigation-bar-row {
    min-height: 44px !important;
  }
}


/* =====================================
   JOAN'S LOCKED NAVIGATION
   Desktop and tablet
===================================== */

@media screen and (min-width: 750px) {

  /* -------------------------------------
     CHALK NAVIGATION BAR
  ------------------------------------- */

  .header__row--bottom {
    position: relative;
    min-height: 48px !important;
    border-bottom: 1px solid #D9D0C6 !important;
  }

  .header__row--bottom .header__columns {
    min-height: 48px !important;
    padding-block: 0 !important;
  }

  /* Keep main navigation centred */
  .header-menu {
    justify-self: center !important;
  }

  /* Main navigation links */
  .header__row--bottom .menu-list__link {
    color: #2F2A28 !important;

    font-family: "Source Sans 3", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;

    text-decoration-line: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 1px;
    text-underline-offset: 7px;

    transition: text-decoration-color 180ms ease;
  }

  /* Ochre active and hover underline */
  .header__row--bottom .menu-list__link:hover,
  .header__row--bottom .menu-list__link:focus-visible,
  .header__row--bottom .menu-list__link[aria-current="page"],
  .header__row--bottom .menu-list__link--active {
    text-decoration-color: #C4A45F !important;
  }


  /* -------------------------------------
     PINK MASTHEAD
  ------------------------------------- */

  .header__row--top {
    position: relative !important;
  }


  /* -------------------------------------
     SEARCH + ACCOUNT + BAG
     Three equal 40px positions
  ------------------------------------- */

  .header__row--top header-actions {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    right: var(--page-margin) !important;
    z-index: 20;

    display: grid !important;
    grid-template-columns: repeat(2, 40px) !important;
    align-items: center !important;

    width: 80px !important;
    height: 48px !important;

    gap: 0 !important;
    column-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Account and bag each occupy one equal slot */
  .header__row--top header-actions .header-actions__action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    min-width: 40px !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #2F2A28 !important;
  }

  /* Search sits directly before Account and Bag */
  .header__row--top .search-action {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    right: calc(var(--page-margin) + 80px) !important;
    z-index: 21;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    min-width: 40px !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #2F2A28 !important;
  }

  .header__row--top .search-action button,
  .header__row--top .search-action a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #2F2A28 !important;
  }


  /* -------------------------------------
     CURRENCY — QUIET TOP-RIGHT POSITION
     Design Bible: Source Sans 3 / Ink Soft
  ------------------------------------- */

  .header__row--top .dropdown-localization {
    position: absolute !important;
    top: 16px !important;
    right: var(--page-margin) !important;
    z-index: 30;

    display: flex !important;
    align-items: flex-start !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .header__row--top .dropdown-localization__button,
  .header__row--top .localization-selector {
    min-width: 0 !important;
    min-height: 36px !important;
    height: 36px !important;

    margin: 0 !important;
    padding: 0 3px !important;

    color: #6F6660 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    font-family: "Source Sans 3", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;

    opacity: 0.82 !important;
  }

  .header__row--top .dropdown-localization__button:hover,
  .header__row--top .localization-selector:hover {
    color: #2F2A28 !important;
    opacity: 1 !important;
  }

  .header__row--top .dropdown-localization .icon-caret {
    margin-left: 5px !important;
    opacity: 0.7;
  }
}

/* =====================================
   JOAN'S PRODUCT PAGE
===================================== */

@media screen and (min-width: 750px) {
  .product-information__grid {
    padding-block-start: 34px !important;
    padding-block-end: 28px !important;
  }

  .product-information__grid:not(
      .product-information__grid--half,
      .product-information--media-none
    ).product-information--media-left {
    grid-template-columns:
      minmax(0, 43fr)
      minmax(0, 57fr) !important;
    column-gap: 42px !important;
  }

  .product-information__media,
  .product-details {
    align-self: start !important;
  }

  .product-information__media media-gallery,
  .product-information__media .media-gallery__grid,
  .product-information__media .product-media-container,
  .product-information__media .product-media {
    width: 100% !important;
    max-width: none !important;
  }

  .product-information__media .product-media-container img,
  .product-information__media .product-media__image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
  }

  .product-details {
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .product-details > .group-block {
    width: 100%;
    max-width: none;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-top: 0 !important;
    gap: 0 !important;
    justify-content: flex-start !important;
  }

  .product-details h1 {
    margin: 0 0 10px !important;
    font-size: clamp(34px, 2.6vw, 44px) !important;
    line-height: 1 !important;
  }

  .product-details .price,
  .product-details [class*="price"] {
    margin: 0 0 10px !important;
    font-size: 18px !important;
  }

  .product-details hr,
  .product-details [class*="divider"] {
    margin: 0 0 12px !important;
  }

  .product-details .rte {
    max-width: 600px;
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
  }

 .product-details .rte p {
    margin: 0 0 8px !important;
    font-size: inherit !important;
    line-height: 1.32 !important;
}

  .product-details .rte p:last-child {
    margin-bottom: 0 !important;
  }

  /*
   * Fabric summary row.
   * Keep this deliberately simple so it does not affect
   * the title, price, description or purchase controls.
   */
  .product-details .group-block:has(img) {
    margin-top: 6px !important;
    padding-top: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .product-details .group-block:has(img) img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 64px !important;
    max-height: 54px !important;
    object-fit: contain !important;
    margin-inline: auto !important;
  }

  .product-details .group-block:has(img) p,
  .product-details .group-block:has(img) span {
    margin-top: 6px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }
}

@media screen and (max-width: 749px) {
  .product-information__grid {
    padding-block-start: 24px !important;
  }
}
/* =====================================
   JOAN'S PRODUCT DETAILS — STOP STRETCHING
===================================== */

@media screen and (min-width: 750px) {
  .product-information__grid .product-details > .group-block {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    align-self: start !important;

    height: fit-content !important;
    min-height: 0 !important;
    block-size: fit-content !important;

    gap: 0 !important;
  }
}

/* ==========================================================
   JOAN'S GLOBAL TYPOGRAPHY
   ========================================================== */

:root {
  /* Main website body and interface text */
  --font-body--family: "Source Sans 3", Arial, sans-serif;
  --font-body--style: normal;
  --font-body--weight: 400;

  /* Small headings, labels and supporting headings */
  --font-subheading--family: "Source Sans 3", Arial, sans-serif;
  --font-subheading--style: normal;
  --font-subheading--weight: 600;

  /* Main headings and product titles */
  --font-heading--family: "Atkinson Hyperlegible Next", Arial, sans-serif;
  --font-heading--style: normal;
  --font-heading--weight: 600;

  /* Navigation, buttons and accent text */
  --font-accent--family: "Source Sans 3", Arial, sans-serif;
  --font-accent--style: normal;
  --font-accent--weight: 600;
}
/* Joan's product page: give the gallery more room */
@media screen and (min-width: 750px) {
  product-component.product-information__grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr) !important;
  }
}
/* Slightly reduce the desktop gallery without cropping the images */
@media screen and (min-width: 750px) {
  product-component.product-information__grid
  .product-information__media {
    width: 93%;
    justify-self: start;
  }
}
/* ==========================================================
   JOAN'S TOP PRODUCT PAPER PANEL
   Gallery + description treated as one editorial section
   ========================================================== */

product-component.product-information__grid {
  background: #fffbf6;
  padding: clamp(24px, 3vw, 42px);
}

/* Remove the separate inner paper panel if you already added it */
product-component.product-information__grid .product-details {
  padding: 0;
  background: transparent;
}

/* Mobile */
@media screen and (max-width: 749px) {
  product-component.product-information__grid {
    padding: 20px;
  }
}
/* =========================================================
   JOAN'S CART DRAWER COLOURS
   ========================================================= */

cart-drawer,
cart-drawer-component,
.cart-drawer,
.cart-drawer__content,
.cart-drawer__inner,
.drawer__inner {
  --color-foreground: #3a312d;
  --color-foreground-heading: #3a312d;
  --color-border: rgb(58 49 45 / 18%);
  color: #3a312d;
}

/* Drawer heading and item names */

cart-drawer h1,
cart-drawer h2,
cart-drawer h3,
cart-drawer a,
cart-drawer .cart-item__name,
cart-drawer .cart-items__title,
cart-drawer .cart-drawer__heading,
cart-drawer-component h1,
cart-drawer-component h2,
cart-drawer-component h3,
cart-drawer-component a,
cart-drawer-component .cart-item__name {
  color: #3a312d !important;
}

/* Prices, totals and primary information */

cart-drawer .price,
cart-drawer .cart-item__price,
cart-drawer .cart-item__totals,
cart-drawer .totals,
cart-drawer .totals__total,
cart-drawer .totals__total-value,
cart-drawer-component .price,
cart-drawer-component .cart-item__price,
cart-drawer-component .cart-item__totals,
cart-drawer-component .totals {
  color: #3a312d !important;
}

/* Secondary copy */

cart-drawer .caption,
cart-drawer .product-option,
cart-drawer .cart__ctas + *,
cart-drawer small,
cart-drawer-component .caption,
cart-drawer-component .product-option,
cart-drawer-component small {
  color: #756e69 !important;
}

/* Quantity controls and remove icons */

cart-drawer quantity-selector-component,
cart-drawer cart-quantity-selector-component,
cart-drawer .quantity-selector,
cart-drawer .quantity-selector button,
cart-drawer .quantity-selector input,
cart-drawer .cart-remove-button,
cart-drawer-component quantity-selector-component,
cart-drawer-component cart-quantity-selector-component,
cart-drawer-component .quantity-selector,
cart-drawer-component .quantity-selector button,
cart-drawer-component .quantity-selector input {
  color: #3a312d !important;
  border-color: rgb(58 49 45 / 35%) !important;
}

/* Divider lines */

cart-drawer .cart-item,
cart-drawer .cart-items,
cart-drawer .cart-drawer__footer,
cart-drawer-component .cart-item,
cart-drawer-component .cart-items,
cart-drawer-component .cart-drawer__footer {
  border-color: rgb(58 49 45 / 18%) !important;
}

/* Cart drawer prices */

cart-drawer .price,
cart-drawer .price-item,
cart-drawer .cart-item__price,
cart-drawer .cart-item .price,
cart-drawer .cart-item__details .price,
cart-drawer .cart-item__details .price-item {
    color: #3a312d !important;
    opacity: 1 !important;
}

/* Cart drawer unit price beneath product title */

.cart-items__unit-price-wrapper
  > div
  > span:not(.visually-hidden) {
  color: #3a312d !important;
  opacity: 1 !important;
}
/* =====================================
   JOAN'S HEADER — STOP BACKGROUND SHIFT
===================================== */

#header-component .header__underlay-closed,
#header-component .header__underlay-open,
#header-component .header__underlay-open::after {
  transition: none !important;
}

/* Lock each visible row to its configured Horizon colour */

#header-component .header__row--top {
  background-color: var(--color-background-top-row) !important;
}

#header-component .header__row--bottom,
#header-component .header__navigation-bar-row {
  background-color: var(--color-background-bottom-row) !important;
}

/* =====================================
   JOAN'S A0 PRINT PAGE
   REMOVE EMPTY HORIZON DETAILS AREA
===================================== */

.shopify-section:has(.joans-a0-purchase)
  .product-information__media,
.shopify-section:has(.joans-a0-purchase)
  .product-details {
  display: none !important;
}

.shopify-section:has(.joans-a0-purchase)
  .product-information__grid {
  display: block !important;

  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;

  margin: 0 !important;
  padding-block-start: 0 !important;
  padding-block-end: 0 !important;

  gap: 0 !important;

  background: transparent !important;
}

.shopify-section:has(.joans-a0-purchase)
  .product-details > .group-block,
.shopify-section:has(.joans-a0-purchase)
  [data-testid="product-information-details"] {
  display: none !important;

  min-height: 0 !important;
  height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* =====================================
   JOAN'S A0 EXTRAS — CHECKBOX POSITION
===================================== */

.joans-a0-purchase__extra-choice {
  grid-template-columns: 18px minmax(0, 1fr) auto !important;
  gap: 9px !important;
}

.joans-a0-purchase__checkbox {
  width: 18px !important;
  height: 18px !important;

  margin-top: 0 !important;
  transform: translate(-5px, -2px);

  background: #FAF4EA !important;
  box-shadow:
    inset 0 0 0 1px rgba(58, 49, 45, 0.28) !important;
}

.joans-a0-purchase__extra-choice
  > input:checked
  + .joans-a0-purchase__checkbox {
  background:
    linear-gradient(
      135deg,
      transparent 0 42%,
      #FAF4EA 42% 55%,
      transparent 55%
    ),
    #3A312D !important;
}

/* =====================================
   JOAN'S PRODUCT BRAND LINE
===================================== */

.joans-product-brand {
  display: block;

  margin: 7px 0 0 !important;

  color: #6f6660 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 0.68rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

.joans-product-brand:empty {
  display: none;
}

/* =====================================
   JOAN'S PRODUCT BRAND LINE
===================================== */

.joans-product-brand {
  display: block;

  margin: 4px 0 10px !important;

  color: #6f6660 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 0.6rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
}

.joans-product-brand:empty {
  display: none;
}

/* ==========================================================
   JOAN'S PRODUCT HEADER TYPOGRAPHY — FINAL ALIGNMENT
   Fabric, patterns and notions
   ========================================================== */

/* Product titles */

.product-information__grid .product-details h1,
.product-information__grid .product-details .joans-notion-summary__title {
  margin: 0 0 5px !important;

  color: #2f2a28 !important;

  font-family:
    "Atkinson Hyperlegible Next",
    Arial,
    sans-serif !important;

  font-size: 32px !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
}

/* Brand / designer */

.product-information__grid .product-details .joans-product-brand,
.product-information__grid .product-details .joans-notion-summary__vendor {
  display: block;

  margin: 0 0 18px !important;

  color: #6f6660 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Match notions description to fabric and pattern copy */

.product-information__grid
  .product-details
  .joans-notion-summary__description,
.product-information__grid
  .product-details
  .joans-notion-summary__description p,
.product-information__grid
  .product-details
  .joans-notion-summary__description span,
.product-information__grid
  .product-details
  .joans-notion-summary__description em,
.product-information__grid
  .product-details
  .joans-notion-summary__description a {
  color: #2f2a28 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

/* Mobile */

@media screen and (max-width: 749px) {
  .product-information__grid .product-details h1,
  .product-information__grid
    .product-details
    .joans-notion-summary__title {
    font-size: 29px !important;
  }
}

/* ==========================================================
   JOAN'S PRODUCT TOP — FINAL CONSISTENCY
   Fabric, patterns and notions
   ========================================================== */

/* -------------------------------------
   PRODUCT TITLES
   Exactly the same across all templates
------------------------------------- */

.product-information__grid .product-details h1,
.product-information__grid
  .product-details
  .joans-notion-summary__title {
  margin: 0 0 5px !important;

  color: #2f2a28 !important;

  font-family:
    "Atkinson Hyperlegible Next",
    Arial,
    sans-serif !important;

  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: -0.035em !important;
}

/* -------------------------------------
   BRAND / DESIGNER
------------------------------------- */

.product-information__grid
  .product-details
  .joans-product-brand,
.product-information__grid
  .product-details
  .joans-notion-summary__vendor {
  color: #6f6660 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Remove padding and margins from the separate
   fabric and pattern Custom Liquid brand block */

.product-information__grid
  .product-details
  *:has(> .joans-product-brand) {
  margin: 0 !important;
  padding: 0 !important;
}

.product-information__grid
  .product-details
  .joans-product-brand {
  margin: 0 !important;
}

/* Create one consistent gap between the separate
   brand block and the following description block */

.product-information__grid
  .product-details
  *:has(> .joans-product-brand) + * {
  margin-top: 18px !important;
  padding-top: 0 !important;
}

/* The notions brand and description are inside
   the same snippet, so its gap is controlled here */

.product-information__grid
  .product-details
  .joans-notion-summary__vendor {
  margin: 0 0 18px !important;
}

/* -------------------------------------
   PRODUCT DESCRIPTIONS
------------------------------------- */

.product-information__grid .product-details .rte,
.product-information__grid
  .product-details
  .joans-notion-summary__description {
  margin: 0 !important;
  padding: 0 !important;

  color: #2f2a28 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

.product-information__grid .product-details .rte p,
.product-information__grid
  .product-details
  .joans-notion-summary__description p,
.product-information__grid
  .product-details
  .joans-notion-summary__description span,
.product-information__grid
  .product-details
  .joans-notion-summary__description em,
.product-information__grid
  .product-details
  .joans-notion-summary__description a {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}

.product-information__grid .product-details .rte > :first-child,
.product-information__grid
  .product-details
  .joans-notion-summary__description > :first-child {
  margin-top: 0 !important;
}

.product-information__grid .product-details .rte > :last-child,
.product-information__grid
  .product-details
  .joans-notion-summary__description > :last-child {
  margin-bottom: 0 !important;
}

/* -------------------------------------
   SMALL PRODUCT-DETAIL HEADINGS
------------------------------------- */

.product-information__grid
  .product-details
  .joans-summary-heading {
  display: block !important;

  margin: 0 0 10px !important;
  padding: 0 !important;
  min-height: 0 !important;

  color: #2f2a28 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Pattern summary headings use h3 elements */

.pattern-summary .summary-copy h3 {
  margin: 0 0 6px !important;

  color: #2f2a28 !important;

  font-family:
    "Source Sans 3",
    Arial,
    sans-serif !important;

  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* =====================================
   JOAN'S MEGA MENUS — SHARED STYLE
   Fabric, Patterns and Notions
===================================== */

@media screen and (min-width: 750px) {

  /* Overall dropdown spacing */

  #header-component .menu-list__submenu-inner {
    padding-block-start: 22px !important;
    padding-block-end: 30px !important;
  }

  #header-component .mega-menu__grid {
    column-gap: clamp(38px, 4vw, 72px) !important;
    row-gap: 24px !important;
    align-items: start !important;
  }

  #header-component .mega-menu__column {
    min-width: 0;
  }

  /* Normal menu links */

  #header-component .mega-menu__link {
  padding: 2px 0 !important;

    color: #2f2a28 !important;

    font-family:
      "Source Sans 3",
      Arial,
      sans-serif !important;

    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;

    text-decoration: none !important;
  }

  #header-component .mega-menu__link:hover,
  #header-component .mega-menu__link:focus-visible {
    color: #2f2a28 !important;

    text-decoration-line: underline !important;
    text-decoration-color: #c4a45f !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 4px !important;
  }

  /* Column headings */

  #header-component .mega-menu__link--parent {
    position: relative;

    display: inline-flex !important;
    width: auto !important;

    margin: 0 0 8px !important;
    padding: 0 0 9px !important;

    color: #6f6660 !important;

    font-family:
      "Source Sans 3",
      Arial,
      sans-serif !important;

    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;

    text-decoration: none !important;
  }

  /* Short rule beneath each heading */

  #header-component .mega-menu__link--parent::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 26px;
    height: 1px;

    background: #6f6660;
    opacity: 0.65;
  }

  #header-component .mega-menu__link--parent:hover,
  #header-component .mega-menu__link--parent:focus-visible {
    color: #2f2a28 !important;
    text-decoration: none !important;
  }

  /* PATTERNS MEGA MENU — keep a generous desktop depth */
@media screen and (min-width: 990px) {
  .menu-list__list-item:has(
      > .menu-list__link[href*="/collections/patterns"]
    )
    > .menu-list__submenu
    .menu-list__submenu-inner {
    min-height: 350px !important;
    max-height: calc(100dvh - var(--header-height) - 12px) !important;
    padding-block-start: 18px !important;
    padding-block-end: 22px !important;
  }
}

/* =====================================
   JOAN'S COLLECTION CARDS
   NATURAL PRODUCT TITLE HEIGHT
===================================== */

#ResultsList product-card [ref="productTitleLink"] .text-block,
#ResultsList product-card [ref="productTitleLink"] p[role="heading"] {
  height: auto !important;
  min-height: 0 !important;
}

#ResultsList product-card [ref="productTitleLink"] .text-block {
  margin: 0 !important;
}

#ResultsList product-card [ref="productTitleLink"] p[role="heading"] {
  margin: 0 !important;
}

/* ==========================================================
   JOAN'S PRODUCT TOP — IMAGE-LED FINAL PROPORTIONS
   Fabric, Patterns + Notions
   ========================================================== */

/* DESKTOP — give photography equal visual weight */
@media screen and (min-width: 1100px) {

  product-component.product-information__grid:not(
      .product-information__grid--half,
      .product-information--media-none
    ).product-information--media-left {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr) !important;

    column-gap: 36px !important;
  }

  product-component.product-information__grid
    .product-information__media {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
}


/* TABLET / NARROW DESKTOP
   Keep a little more room for the information column */
@media screen and (min-width: 750px) and (max-width: 1099px) {

  product-component.product-information__grid:not(
      .product-information__grid--half,
      .product-information--media-none
    ).product-information--media-left {
    grid-template-columns:
      minmax(0, 46fr)
      minmax(0, 54fr) !important;

    column-gap: 28px !important;
  }

  product-component.product-information__grid
    .product-information__media {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
}


/* PRODUCT ATTRIBUTE / SUMMARY ICONS
   Slightly quieter so the photography stays dominant */
@media screen and (min-width: 750px) {

  .product-information__grid
    .product-details
    .group-block:has(img) img {
    width: auto !important;
    height: auto !important;
    max-width: 56px !important;
    max-height: 46px !important;
    object-fit: contain !important;
  }
}


