/** Shopify CDN: Minification failed

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

**/
li { text-align: left }
.product-details { padding: 0 !important }
.product-details .group-block { width: 100% }
.slideshow__prev svg, .slideshow__next svg { stroke-width: 2.5 }
.slideshow__dot { font-weight: 700 }
body.template-page h1 { font-size: var(--font-heading-2-size, 2rem); font-weight: var(--font-heading-weight) }
.mega-menu li:hover > ul { visibility: visible !important }
.image-block--image_paLcWN img { width: 20% !important; max-width: 20% !important }
.section-template--20553162653888__hero_p9CmMG img { filter: brightness(0.7) saturate(0.6) }

@media (max-width: 749px) {
  [data-block-id="template--20553162653888__hero_p9CmMG__text_9Q8Mrn"] { margin-top: 0 !important }
  [data-block-id="template--20553162653888__hero_p9CmMG__image_paLcWN"] { margin-bottom: 0 !important }
}
/* Safer reset: only slideshow/carousel visual buttons */
.slideshow__prev,
.slideshow__next,
.slideshow__dot,
[class*="slider__prev"],
[class*="slider__next"],
[class*="carousel__prev"],
[class*="carousel__next"],
[class*="nav-arrow"] {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Product gallery — restore clickable arrows */
@media (min-width: 750px) {
  .template-product .slider-buttons,
  .template-product .slider-button {
    pointer-events: auto !important;
    z-index: 20 !important;
  }
}

/* ================================================
   TYPOGRAPHY SCALE
   ================================================ */

/* TYPOGRAPHY SCALE */
.section-template--20553162653888__hero_p9CmMG h1,
.section-template--20553162653888__hero_p9CmMG h2,
.section-template--20553162653888__hero_pjNAy4 h1,
.section-template--20553162653888__hero_pjNAy4 h2 {
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}

p, .rte p {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.caption, small, .supporting-text {
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  opacity: 0.65 !important;
}

/* ================================================
   FOCUS RESET
   ================================================ */

.header__icon:focus,
.header__icon:focus-visible,
button:focus,
button:focus-visible,
a:focus,
a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ================================================
   COLOUR SYSTEM
   ================================================ */

:root {
  --color-background: #ffffff;
  --color-foreground: #1a1a1a;
  --color-secondary-text: #6b6b6b;
  --color-border: #e8e8e8;
  --color-button-bg: #1a1a1a;
  --color-button-text: #ffffff;
  --color-button-bg-hover: #2e2e2e;
}

body {
  background-color: #ffffff;
  color: #1a1a1a;
}

.price,
.product-card__price,
.caption {
  color: #041116;
}

/* ================================================
   PREMIUM TRANSITIONS
   ================================================ */

button,
.card,
.product-card,
[class*="card__"] {
  transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}

button:hover {
  opacity: 0.85;
}

.card:hover,
.product-card:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}

/* ================================================
   GLOBAL LINK & ARROW SYSTEM
   ================================================ */

.link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
  transition: opacity 0.2s ease-out;
}

.link::after {
  content: '→';
  opacity: 0.45;
  display: inline-block;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out;
}

.link:hover {
  opacity: 0.75;
  text-decoration: none;
}

.link:hover::after {
  transform: translateX(2px);
  opacity: 1;
}

/* ================================================
   GLOBAL INTERACTION: NO TRANSFORM ON BUTTONS
   ================================================ */

[class*="button-secondary"] {
  transform: none !important;
}

[class*="button-secondary"]:hover,
[class*="button-secondary"]:active {
  transform: none !important;
  box-shadow: none !important;
}

/* ================================================
   HERO BUTTON: WHITE GHOST
   ================================================ */

[class*="hero"] .button-secondary {
  color: #ffffff !important;
  border-color: #ffffff !important;
  background-color: transparent !important;
}

@media (hover: hover) {
  [class*="hero"] .button-secondary:hover {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border-color: #ffffff !important;
  }
}

/* ================================================
   PRIMARY BUTTONS: MINIMAL
   ================================================ */

.shopify-payment-button__button,
form[action="/cart/add"] button[type="submit"]:not(.mad-atc),
.cart__checkout-button,
a.button:not(.button-secondary) {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transition: background-color 0.25s ease-out, color 0.25s ease-out !important;
}

@media (hover: hover) {
  form[action="/cart/add"] button[type="submit"]:not(.mad-atc):hover,
  .cart__checkout-button:hover,
  a.button:not(.button-secondary):hover {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
  }
}

/* ================================================
   PDP: CONTAIN PRODUCT IMAGE
   ================================================ */

.product__media-wrapper {
  overflow: hidden !important;
  max-width: 100% !important;
}

.product__media-wrapper img,
.product__media img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

/* ================================================
   FEATURED PRODUCTS: MOBILE CAROUSEL
   ================================================ */

@media (max-width: 749px) {
  #shopify-section-template--20553162653888__product_list_themegen .collection-product-list,
  #shopify-section-template--20553162653888__product_list_themegen ul.product-grid,
  #shopify-section-template--20553162653888__product_list_themegen .product-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: scroll !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 12px !important;
    padding-bottom: 4px !important;
  }

  #shopify-section-template--20553162653888__product_list_themegen .collection-product-list::-webkit-scrollbar,
  #shopify-section-template--20553162653888__product_list_themegen .product-grid::-webkit-scrollbar {
    display: none !important;
  }

  #shopify-section-template--20553162653888__product_list_themegen li.grid__item,
  #shopify-section-template--20553162653888__product_list_themegen .grid__item {
    flex: 0 0 80vw !important;
    max-width: 80vw !important;
    scroll-snap-align: start !important;
  }

  #shopify-section-template--20553162653888__product_list_themegen slideshow-slides > * {
    flex: 0 0 80vw !important;
    max-width: 80vw !important;
  }
}

/* ================================================
   EMAIL SIGNUP SECTION
   ================================================ */

#shopify-section-sections--20553163079872__section_jehhzd {
  padding-top: 0 !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  padding-bottom: 48px !important;
}

#shopify-section-sections--20553163079872__section_jehhzd img[class*="logo"],
#shopify-section-sections--20553163079872__section_jehhzd .header__heading-logo,
#shopify-section-sections--20553163079872__section_jehhzd [class*="logo"] {
  display: none !important;
}

#shopify-section-sections--20553163079872__section_jehhzd .text-block {
  --color: #888 !important;
  --padding-block-start: 8px !important;
  --padding-block-end: 16px !important;
  margin: 0 auto !important;
  display: block !important;
}


#shopify-section-sections--20553163079872__section_jehhzd .newsletter-form__field-wrapper,
#shopify-section-sections--20553163079872__section_jehhzd input[type="email"] {
  background: none !important;
  border: none !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 !important;
  outline: none !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
}

#shopify-section-sections--20553163079872__section_jehhzd .newsletter-form__button {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 0 0 8px !important;
  min-width: unset !important;
  border-radius: 0 !important;
}

#shopify-section-sections--20553163079872__section_jehhzd .newsletter-form__heading,
#shopify-section-sections--20553163079872__section_jehhzd h2 {
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 12px !important;
}

@media (max-width: 749px) {
  #shopify-section-sections--20553163079872__section_jehhzd .text-block {
    padding: 0 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  #shopify-section-sections--20553163079872__section_jehhzd .text-block p {
    text-align: left !important;
    text-align-last: left !important;
  }
  #shopify-section-sections--20553163079872__section_jehhzd [class*="disclosure"] summary,
  #shopify-section-sections--20553163079872__section_jehhzd .footer-block__heading,
  #shopify-section-sections--20553163079872__section_jehhzd h3 {
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }
  #shopify-section-sections--20553163079872__section_jehhzd [class*="email"],
  #shopify-section-sections--20553163079872__section_jehhzd form {
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    padding: 0 !important;
  }
  #shopify-section-sections--20553163079872__section_jehhzd [class*="heading"],
  #shopify-section-sections--20553163079872__section_jehhzd h2 {
    font-size: 0.875rem !important;
    font-weight: 400 !important;
  }
  .ai-portrait-grid__container-aquextw05q1jtrkywdaigenblockc1eb63agjwaau {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}

@media (min-width: 750px) {
  #shopify-section-sections--20553163079872__section_jehhzd .text-block p {
    font-size: 0.8rem !important;
  }
}

@media (min-width: 990px) {
  #shopify-section-sections--20553163079872__section_jehhzd .text-block p {
    font-size: 1rem !important;
  }
}

/* ================================================
   STANDALONE EMAIL SIGNUP SECTION
   ================================================ */

#shopify-section-template--20553162653888__section_FPP9Hn {
  background: #fff !important;
  text-align: center !important;
}

@media (min-width: 750px) {
  #shopify-section-template--20553162653888__section_FPP9Hn {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    margin-bottom: 70px !important;
  }
}

#shopify-section-template--20553162653888__section_FPP9Hn h2,
#shopify-section-template--20553162653888__section_FPP9Hn .newsletter-form__heading {
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 16px !important;
}

#shopify-section-template--20553162653888__section_FPP9Hn form,
#shopify-section-template--20553162653888__section_FPP9Hn .newsletter-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
  padding: 0 !important;
}

#shopify-section-template--20553162653888__section_FPP9Hn .newsletter-form__field-wrapper {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 400px !important;
  background: rgba(4, 17, 22, 0.04) !important;
  border: 1px solid rgba(4, 17, 22, 0.15) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  padding: 4px 12px !important;
}

#shopify-section-template--20553162653888__section_FPP9Hn input[type="email"] {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 6px 0 !important;
  outline: none !important;
  width: 100% !important;
  font-size: 0.875rem !important;
  color: #041116 !important;
}

#shopify-section-template--20553162653888__section_FPP9Hn .newsletter-form__button {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: unset !important;
  border-radius: 0 !important;
  color: #041116 !important;
}

@media (max-width: 749px) {
  #shopify-section-template--20553162653888__section_FPP9Hn {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    margin-block-end: 0 !important;
    min-height: unset !important;
  }
  #shopify-section-template--20553162653888__section_FPP9Hn .section-content-wrapper {
    padding-block-start: 28px !important;
    padding-block-end: 28px !important;
  }
  #shopify-section-template--20553162653888__section_FPP9Hn h2 {
    font-size: 1rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 6px !important;
  }
  #shopify-section-template--20553162653888__section_FPP9Hn p {
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    opacity: 0.75 !important;
    margin-bottom: 12px !important;
  }
  #shopify-section-template--20553162653888__section_FPP9Hn .email-signup__input-group {
    border-width: 1px !important;
    min-height: unset !important;
  }
  #shopify-section-template--20553162653888__section_FPP9Hn .email-signup__input {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 0.875rem !important;
  }
}

/* ================================================
   FOOTER
   ================================================ */

.footer {
  margin-top: 0 !important;
  padding-top: 40px !important;
}

a[href*="instagram.com"] { text-decoration: none }

@media (min-width: 990px) {
  .footer { padding: 40px 0 24px !important }
  .footer__content-top { align-items: flex-start !important; row-gap: 20px !important; column-gap: 40px !important; padding-bottom: 0 !important }
  .footer-block--newsletter { margin-bottom: 8px !important; padding-bottom: 0 !important }
  .footer-block__heading { margin-bottom: 14px !important }
  .footer-block__details-content li { margin-bottom: 8px !important }
  .footer__content-bottom { margin-top: 14px !important; padding-top: 10px !important }
  .footer__content-bottom p { margin-top: 0 !important }
}

/* ================================================
   ACKNOWLEDGEMENT TEXT
   ================================================ */

[id*="text_VgLcii"],
[id*="text_VgLcii"] p,
[id*="text_VgLcii"] span {
  font-size: 12px !important;
  text-align: justify !important;
  line-height: 1.5 !important;
}

/* ================================================
   NEWSLETTER / EMAIL SIGNUP SECTION RESET
   ================================================ */

.shopify-section:has(.newsletter),
.shopify-section:has(.email-signup),
.shopify-section:has(form[action*="contact"]) {
  min-height: auto !important;
  padding-top: 40px !important;
  padding-bottom: 24px !important;
  display: block !important;
}

.newsletter,
.email-signup,
.newsletter__wrapper {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}


/* PRODUCT PAGE — fix Add to Cart being hidden by app block */

.template-product product-form-component,
.template-product .product-form,
.template-product .product-form__buttons,
.template-product .buy-buttons-block {
  position: relative !important;
  z-index: 5 !important;
}

/* push app fields slightly up and keep them below buttons */
.template-product .tpo_option-set,
.template-product .tpo_option-label,
.template-product .tpo_option,
.template-product .custom-options,
.template-product .product-options {
  position: relative;
  z-index: 1;
}

/* FIX Add to Cart visibility (product page only) */
.template-product .product-form__submit,
.template-product .shopify-payment-button__button--unbranded {
  background: #041116 !important;
  color: #ffffff !important;
  border: 1px solid #041116 !important;
  opacity: 1 !important;
}

/* Ensure text inside button is visible */
.template-product .product-form__submit span {
  color: #ffffff !important;
}

/* Product page — hide quantity selector */
.template-product .quantity-selector,
.template-product .quantity-selector-wrapper,
.template-product quantity-selector {
  display: none !important;
}

/* Hide ONLY quantity inside buy buttons */
.template-product .product-form__buttons quantity-selector,
.template-product .product-form__buttons .quantity-selector {
  display: none !important;
}

/* Mad & Darling button style */
.template-product .product-form__submit {
  background: transparent !important;
  color: #041116 !important;
  border: 1px solid rgba(4,17,22,0.2) !important;
  padding: 12px 18px !important;
  font-size: 14px;
  letter-spacing: 0.04em;
}

.template-product .product-form__submit:hover {
  border-color: #041116 !important;
  background: rgba(4,17,22,0.04) !important;
}
/* Clean arrows but KEEP functionality */
.template-product .slider-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* DO NOT remove pseudo elements completely */
/* Just make sure they are visible */
.template-product .slider-button::before,
.template-product .slider-button::after {
  opacity: 1 !important;
}

/* Product page — clean locked app + buy button spacing */
.template-product .product-form__buttons {
  margin-top: 16px !important;
  gap: 10px !important;
}

.template-product .shopify-payment-button {
  display: none !important;
}

/* Hide Shopify quantity (keep app one) */
.template-product .product-form__buttons quantity-selector,
.template-product .product-form__buttons .quantity-selector {
  display: none !important;
}

/* Remove blue outlines everywhere on product page */
.template-product .slider-button,
.template-product .slider-button:focus,
.template-product .slider-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Pull Add to Cart up under app quantity */
.template-product .product-form {
  margin-top: -12px !important;
}

.template-product .product-form__buttons {
  margin-top: 6px !important;
}

/* Mad & Darling button typography */
.template-product .product-form__submit {
  font-size: 14px;
  letter-spacing: 0.06em;
  font-weight: 400;
  text-transform: none;
}

/* FORCE Add to Cart to always be visible */
.template-product .product-form__submit {
  background-color: #041116 !important;
  color: #ffffff !important;
  border: 1px solid #041116 !important;
  opacity: 1 !important;
}

/* Fix text inside button */
.template-product .product-form__submit * {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Prevent flash of invisible button on load */
.template-product .product-form {
  opacity: 1 !important;
}

/* Product gallery arrows — remove borders + soften */
.template-product slideshow-arrows .slideshow-control,
.template-product .slider-button {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #041116 !important;
  opacity: 0.65;
}

.template-product slideshow-arrows .slideshow-control:hover,
.template-product .slider-button:hover {
  opacity: 1;
  background: transparent !important;
  border: none !important;
}


/* Product gallery numbers/dots — remove pill borders */
.template-product .slideshow-controls__dots .slideshow-control {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #041116 !important;
  opacity: 0.45;
}

.template-product .slideshow-controls__dots .slideshow-control[aria-selected="true"] {
  opacity: 1;
}

/* Product image arrows — clean + safe */
.template-product .slider-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #041116 !important;
  opacity: 0.65;
}

.template-product .slider-button:hover {
  opacity: 1;
}

/* Hover */
.product__media-wrapper button:hover {
  opacity: 1;
  background: transparent !important;
}

/* Kill any weird outline shapes */
.product__media-wrapper button::before,
.product__media-wrapper button::after {
  display: none !important;
}

/* Product gallery controls — clean minimal */
.template-product slideshow-arrows button,
.template-product slideshow-arrows .slideshow-control {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: #041116 !important;
}

/* Keep arrows visible but quiet */
.template-product slideshow-arrows svg {
  width: 18px !important;
  height: 18px !important;
}

/* Product gallery number pills */
.template-product .slideshow-controls__dots button,
.template-product .slideshow-controls__dots .slideshow-control {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  min-width: 0 !important;
  padding: 0 6px !important;
  color: #041116 !important;
  opacity: 0.45;
}

.template-product .slideshow-controls__dots [aria-selected="true"] {
  opacity: 1;
}

/* === REMOVE button styling from slideshow arrows === */
slideshow-arrows .slideshow-control.button {
  all: unset !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.6;
  color: #041116;
}

/* Arrow icon sizing */
slideshow-arrows .slideshow-control svg {
  width: 18px;
  height: 18px;
}

/* Hover */
slideshow-arrows .slideshow-control:hover {
  opacity: 1;
}


/* Hide the numbered pill buttons completely */
slideshow-controls .slideshow-control {
  display: none !important;
}

/* Keep ONLY the small dot pagination */
slideshow-controls [class*="dot"],
slideshow-controls button[aria-label*="slide"] {
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: rgba(4,17,22,0.25) !important;
  margin: 0 5px !important;
}

/* Active dot */
slideshow-controls [aria-current="true"],
slideshow-controls [aria-selected="true"] {
  background: #041116 !important;
}

/* === PRODUCT INFO — spacing system === */

/* Overall column width (tightens feel) */
.template-product .product__info-wrapper {
  max-width: 420px;
}

/* Space between main blocks */
.template-product .product__info-wrapper > * {
  margin-bottom: 18px;
}

/* Title → slightly tighter */
.template-product .product__title {
  margin-bottom: 8px;
}

/* Price spacing */
.template-product .price {
  margin-bottom: 12px;
}

/* Variant / options */
.template-product .variant-picker,
.template-product .product-form__input {
  margin-bottom: 16px;
}

/* Easify field block */
.template-product .tpo_option-set-wrapper {
  margin-bottom: 14px;
}

/* Quantity + button grouping */
.template-product .product-form {
  margin-top: 6px;
}

.template-product .product-form__buttons {
  margin-top: 8px;
}

/* Description spacing (give it breathing room) */
.template-product .product__description {
  margin-top: 22px;
  line-height: 1.5;
}

/* === PRODUCT IMAGE — scale down slightly === */

/* Reduce overall media column width */
.template-product .product__media-wrapper {
  max-width: 520px;
  margin: 0 auto;
}

/* Give breathing room between image and info */
.template-product .product {
  gap: 40px;
}

.template-product .product__media-wrapper {
  max-width: 400px;
}
.template-product .product {
  align-items: flex-start;
}
/* === HOMEPAGE POLISH ONLY === */

.template-index .banner__buttons .button,
.template-index .banner__buttons a,
.template-index .card__content a {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em;
}

.template-index .banner__buttons a::after,
.template-index .card__content a::after {
  content: " →";
}

.template-index .banner__buttons a:hover,
.template-index .card__content a:hover {
  opacity: 0.75;
}

/* Collection cards */
.template-index .card__heading {
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
}

.template-index .card__content p {
  font-size: 15px !important;
  line-height: 1.4;
}

/* Newsletter / footer spacing */
.template-index .newsletter,
.template-index #shopify-section-footer {
  padding-top: 28px !important;
  padding-bottom: 24px !important;
}

.template-index .newsletter h2,
.template-index .newsletter .h2 {
  font-size: 22px !important;
  font-weight: 400 !important;
}

.template-index .newsletter p {
  font-size: 15px !important;
  margin-bottom: 18px !important;
}

/* Footer tighter */
.template-index footer {
  margin-top: 0 !important;
}

.template-index footer .footer,
.template-index footer .section {
  padding-top: 20px !important;
  padding-bottom: 18px !important;
}

.template-index footer a,
.template-index footer p,
.template-index footer small {
  font-size: 13px !important;
}

/* === CLEAN MINIMAL FOOTER (NO MENU) === */

footer .footer__content-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

footer .newsletter {
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}

footer .newsletter h2 {
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 6px;
}

footer .newsletter p {
  font-size: 14px;
  opacity: 0.7;
  margin-bottom: 16px;
}

footer .newsletter form {
  justify-content: center;
}

footer .footer__content-bottom {
  text-align: center;
  margin-top: 18px;
}

footer .footer__content-bottom p {
  max-width: 720px;
  margin: 0 auto;
  font-size: 12px;
  line-height: 1.5;
  opacity: 0.6;
}

/* tighten overall height */
footer {
  padding-top: 24px !important;
  padding-bottom: 18px !important;
}
/* === HOMEPAGE FINAL TYPOGRAPHY + SPACING POLISH === */

/* Global homepage type rhythm */
.template-index h1,
.template-index h2,
.template-index h3,
.template-index .banner__heading,
.template-index .card__heading {
  font-weight: 400 !important;
  letter-spacing: -0.015em;
}

.template-index p,
.template-index a,
.template-index .card__content,
.template-index .newsletter p {
  letter-spacing: 0.01em;
}

/* Hero text */
.template-index .banner__heading {
  font-size: clamp(32px, 3vw, 48px) !important;
  line-height: 1.05;
  margin-bottom: 14px;
}

.template-index .banner__text,
.template-index .banner__content p {
  font-size: 17px !important;
  line-height: 1.45;
  opacity: 0.9;
}

/* Text links / CTAs */
.template-index .banner__buttons a,
.template-index .card__content a {
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em;
  text-decoration: none !important;
}

.template-index .banner__buttons a::after,
.template-index .card__content a::after {
  content: " →";
}

/* Collection card text */
.template-index .card__heading {
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.1;
}

.template-index .card__content p {
  font-size: 15px !important;
  line-height: 1.4;
  opacity: 0.88;
}

/* Section headings */
.template-index h2 {
  font-size: clamp(28px, 2.4vw, 38px) !important;
  line-height: 1.15;
  margin-bottom: 10px;
}

.template-index .section p {
  font-size: 15px;
  line-height: 1.55;
}

/* Newsletter */
.template-index .newsletter {
  padding-top: 42px !important;
  padding-bottom: 36px !important;
}

.template-index .newsletter h2,
.template-index .newsletter .h2 {
  font-size: 22px !important;
  font-weight: 400 !important;
  margin-bottom: 8px !important;
}

.template-index .newsletter p {
  font-size: 15px !important;
  line-height: 1.45;
  opacity: 0.72;
  margin-bottom: 22px !important;
}

.template-index .newsletter-form {
  max-width: 360px;
}

/* Footer */
.template-index footer {
  padding-top: 10px !important;
}

.template-index footer p {
  font-size: 13px !important;
  line-height: 1.55;
  opacity: 0.65;
}

.template-index footer small,
.template-index footer a {
  font-size: 11px !important;
  opacity: 0.7;
}
/* FIX HERO BUTTON (homepage only) */
.template-index .banner__buttons .button {
  all: unset;
  display: inline-block;
  cursor: pointer;
  font-size: 15px;
  letter-spacing: 0.04em;
}

.template-index .banner__buttons .button::after {
  content: " →";
}

.template-index .banner__buttons .button:hover {
  opacity: 0.7;
}

/* === HOMEPAGE HERO CTA — REMOVE PILL COMPLETELY === */
.template-index .banner:first-of-type .banner__buttons,
.template-index .banner:first-of-type .banner__buttons * {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

.template-index .banner:first-of-type .banner__buttons .button {
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: #fff !important;
}

/* === LOWER BANNER — MATCH HOMEPAGE TYPOGRAPHY === */
.template-index .banner:not(:first-of-type) .banner__heading,
.template-index .banner:not(:first-of-type) .banner__text,
.template-index .banner:not(:first-of-type) .banner__content p,
.template-index .banner:not(:first-of-type) .banner__buttons a {
  font-family: var(--font-paragraph--family) !important;
  font-style: normal !important;
  letter-spacing: 0.01em !important;
}

.template-index .banner:not(:first-of-type) .banner__heading {
  font-size: 32px !important;
  font-weight: 400 !important;
}

.template-index .banner:not(:first-of-type) .banner__content p {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.template-index .banner:not(:first-of-type) .banner__buttons a {
  font-size: 14px !important;
  font-weight: 400 !important;
}
/* === UNIVERSAL LINK STYLE (EXPLORE / DISCOVER / CTA) === */
.template-index .banner__buttons a,
.template-index .card__content a,
.template-index .banner__buttons .button {
  all: unset !important;
  display: inline-block !important;
  cursor: pointer !important;

  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;

  color: inherit !important;
}

/* Arrow consistency */
.template-index .banner__buttons a::after,
.template-index .card__content a::after,
.template-index .banner__buttons .button::after {
  content: " →";
}

/* Hover */
.template-index .banner__buttons a:hover,
.template-index .card__content a:hover,
.template-index .banner__buttons .button:hover {
  opacity: 0.7;
}

/* === HOMEPAGE CTA FINAL RESET === */

/* Remove pill styling from homepage CTAs */
.template-index .banner__buttons,
.template-index .banner__buttons *,
.template-index .card__content a,
.template-index .card__content a * {
  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

/* Hero/banner CTA links only */
.template-index .banner__buttons .button,
.template-index .banner__buttons a {
  all: unset !important;
  display: inline-block !important;
  cursor: pointer !important;
  color: #ffffff !important;
}

/* Card Explore links */
.template-index .card__content a {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Remove any existing arrows to avoid double arrows */
.template-index .banner__buttons a::after,
.template-index .banner__buttons .button::after,
.template-index .card__content a::after {
  content: " →" !important;
}

/* Lower banner paragraph font fix */
.template-index .banner:not(:first-of-type) .banner__content p,
.template-index .banner:not(:first-of-type) .banner__text,
.template-index .banner:not(:first-of-type) .banner__text * {
  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  letter-spacing: 0.01em !important;
  line-height: 1.45 !important;
}

/* Fix lower banner supporting text font */
.template-index .banner:not(:first-of-type) .banner__text,
.template-index .banner:not(:first-of-type) .banner__text *,
.template-index .banner:not(:first-of-type) .banner__content p,
.template-index .banner:not(:first-of-type) .banner__content p * {
  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.45 !important;
}

/* Force homepage hero CTA to text link */
.template-index .button-secondary--Aa09PaHpISW9pZkl4Z__button_nzngB6 {
  all: unset !important;
  display: inline-block !important;
  cursor: pointer !important;
  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  color: #fff !important;
}

/* Force homepage hero CTA to text link */
.template-index .button-secondary--Aa09PaHpISW9pZkl4Z__button_nzngB6 {
  all: unset !important;
  display: inline-block !important;
  cursor: pointer !important;
  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  color: #fff !important;
}

/* Force homepage hero CTA to text link */
.template-index .button-secondary--Aa09PaHpISW9pZkl4Z__button_nzngB6 {
  all: unset !important;
  display: inline-block !important;
  cursor: pointer !important;
  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  color: #fff !important;
}

/* Force homepage hero CTA to text link */
.template-index .button-secondary--Aa09PaHpISW9pZkl4Z__button_nzngB6 {
  all: unset !important;
  display: inline-block !important;
  cursor: pointer !important;
  font-family: var(--font-paragraph--family) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  color: #fff !important;
}

.template-index .button-secondary--Aa09PaHpISW9pZkl4Z__button_nzngB6::after {
  content: " →" !important;
}


/* Lower banner supporting text consistency */
.template-index .text-block,
.template-index .text-block * {
  font-family: var(--font-paragraph--family) !important;
  letter-spacing: 0.01em !important;
}

/* === FORCE ALL HOMEPAGE CTAs SAME SIZE === */
.template-index .banner__buttons a,
.template-index .banner__buttons .button,
.template-index .banner__buttons .button span,
.template-index .card__content a,
.template-index .card__content a span,
.template-index .banner__content a,
.template-index .banner__content a span {
  font-size: 16px !important;
  letter-spacing: 0.04em !important;
}

/* === MATCH ALL LINKS TO COLLECTION TILE STYLE === */

/* Base style (your gold standard) */
.template-index a:not(.button) {
  font-family: var(--font-body-family) !important;
  font-size: 17px !important;
  letter-spacing: 0.05em !important;
  font-weight: 400 !important;
  text-transform: none !important;
}

/* Kill button styling on text links */
.template-index .banner__content a,
.template-index .hero a,
.template-index .banner a {
  background: none !important;
  border: none !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}

/* Arrow alignment */
.template-index a::after {
  font-size: 17px;
  transform: translateY(1px);
}

.template-index a span {
  font-size: inherit !important;
  letter-spacing: inherit !important;
}

.template-product .product__media-wrapper {
  max-width: 380px;
}

.template-product .product {
  gap: 60px;
}

/* Remove quick add buttons from product cards only */
.card .quick-add__button,
.card .add-to-cart__added,
.card .add-to-cart-button,
.product-card .quick-add__button,
.product-card .add-to-cart__added,
.product-card .add-to-cart-button {
  display: none !important;
}

/* Slightly tighten product card spacing */
.card__information {
  padding-top: 12px;
}

/* Product subtitle under title */
.template-product .product__description > p:first-child {
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.6;
  margin-bottom: 10px;
}

/* Product subtitle */
.template-product .product__description > p:first-child {
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.6;
  margin-bottom: 10px;
}

/* Product page layout balance */
@media screen and (min-width: 990px) {
  .product {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* 60 / 40 */
    gap: 60px;
    align-items: start;
  }
}

@media screen and (min-width: 990px) {
  .product__media-wrapper {
    max-width: 60%;
  }

  .product__info-wrapper {
    max-width: 40%;
  }
}

.product__info-wrapper {
  max-width: 480px;
}

/* === Product layout refinement (Mad & Darling) === */

@media screen and (min-width: 990px) {
  .product__media-wrapper {
    flex: 0 0 58%;
    max-width: 58%;
  }

  .product__info-wrapper {
    flex: 0 0 42%;
    max-width: 42%;
    padding-left: 60px;
  }
}

.product__info-wrapper {
  max-width: 520px;
}

@media screen and (min-width: 990px) {
  .product__media-wrapper {
    width: 58% !important;
    max-width: 58% !important;
    flex: 0 0 58% !important;
  }

  .product__info-wrapper {
    width: 42% !important;
    max-width: 42% !important;
    flex: 0 0 42% !important;
    padding-left: 64px !important;
  }
}
.product__info-wrapper {
  max-width: 520px;
}

/* Reduce visual dominance of product image */
.product__media-wrapper img {
  transform: scale(0.92);
}

.product__media-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Strengthen product text column */
.product__info-wrapper {
  padding-left: 72px !important;
  max-width: 520px;
}

/* Balance product layout without breaking buttons */
@media screen and (min-width: 990px) {
  .product {
    gap: 80px !important;
  }

  .product__info-wrapper {
    max-width: 480px;
  }
}

/* Reduce product image dominance (safe) */
.product__media img {
  max-width: 92%;
  margin: 0 auto;
  display: block;
}

.product__info-wrapper {
  max-width: 460px;
}

.product__description p {
  margin-bottom: 14px;
}

.product__description strong {
  display: block;
  margin-bottom: 10px;
}

/* Tighten product image framing */
.product__media-wrapper {
  padding: 0 40px !important;
}

.product__media img {
  object-fit: cover;
}

.product__media-wrapper {
  padding: 0 60px !important;
}

.product__description p {
  line-height: 1.5;
}

.template-product .slider-button {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 20 !important;
}

/* Hover (subtle, not flashy) */
.product__media .slider-button:hover {
  background: rgba(255,255,255,0.85);
}

.product__media .slider-button {
  background: transparent;
  border: 1px solid rgba(0,0,0,0.08);
}

.product-form__buttons {
  margin-top: 16px;
}

.product__description h4 {
  margin-top: 24px;
}

.product__description p {
  line-height: 1.7;
  letter-spacing: 0.01em;
}

.product {
  gap: 80px;
}
.product__description p {
  margin-bottom: 14px;
  line-height: 1.7;
}

.product__description h4 {
  margin-top: 28px;
  margin-bottom: 10px;
}

.product-form__buttons {
  margin-top: 18px;
}

.product__description strong {
  font-weight: 500;
}

/* ===== Mad & Darling — Product Page Text System ===== */

.template-product .text-block {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #5f5f5f !important;
}

.template-product .text-block h4 {
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 600 !important;
  margin: 22px 0 8px !important;
  color: #041116 !important;
}

.template-product .text-block h4 * {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.template-product .text-block p {
  font-size: inherit !important;
  line-height: inherit !important;
  margin: 0 0 14px !important;
  color: inherit !important;
}

.template-product .text-block ul {
  margin: 8px 0 18px !important;
  padding-left: 16px !important;
}

.template-product .text-block li {
  font-size: inherit !important;
  line-height: inherit !important;
  margin-bottom: 6px !important;
  color: inherit !important;
}

.template-product .text-block li * {
  font-size: inherit !important;
  line-height: inherit !important;
}

.template-product .text-block p:first-of-type {
  font-weight: 600 !important;
  color: #041116 !important;
}

.template-product .text-block em {
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.template-product .text-block h4 + ul {
  margin-top: 6px !important;
}

/* ===== Mad & Darling — HARD RESET (everything same size) ===== */

.template-product .product__description,
.template-product .product__description * {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #5f5f5f !important;
}

/* Make headings ONLY bold (no size change) */
.template-product .product__description h4 {
  font-weight: 600 !important;
  color: #041116 !important;
  margin: 22px 0 8px !important;
}

/* Bullet spacing (keep clean) */
.template-product .product__description ul {
  padding-left: 16px !important;
  margin: 8px 0 16px !important;
}

.template-product .product__description li {
  margin-bottom: 4px !important;
}

/* Opening line stronger */
.template-product .product__description p:first-of-type {
  font-weight: 600 !important;
  color: #041116 !important;
}

/* Tighten collection header spacing */
.template-collection .section-header {
  padding-top: 40px !important;
  padding-bottom: 20px !important;
}
/* Collection title */
.template-collection h1 {
  font-size: 28px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
  margin-bottom: 6px !important;
}

/* Subtitle */
.template-collection .rte {
  font-size: 15px !important;
}

  /* Collection heading visibility */
.template-collection .collection-heading,
.template-collection .collection__title,
.template-collection h1,
.template-collection .collection-description,
.template-collection .rte {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #041116 !important;
}

/* Tighten top spacing on collection pages */
.template-collection .page-width {
  padding-top: 30px !important;
}

/* Collection title */
.template-collection h1 {
  font-size: 28px !important;
  font-weight: 500 !important;
  color: #041116 !important;
  margin-bottom: 6px !important;
}

/* Collection description */
.template-collection .rte p {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #5f5f5f !important;
  margin-bottom: 20px !important;
}

/* Reduce gap above filters */
.template-collection .facets-container {
  margin-top: 10px !important;
}

/* Product card spacing */
.card-wrapper {
  transition: transform 0.25s ease;
}

.card-wrapper:hover {
  transform: translateY(-2px);
}

/* Force product images to square */
.card__media {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden;
}

/* Ensure image fills nicely */
.card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Slight zoom on hover (very subtle) */
.card__media img {
  transition: transform 0.3s ease;
}

.card-wrapper:hover .card__media img {
  transform: scale(1.02);
}

/* Sold out badge */
.badge {
  background: #ffffff !important;
  color: #041116 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em;
  padding: 4px 8px !important;
  border-radius: 2px !important;
}

.card__heading {
  font-weight: 500 !important;
  color: #041116 !important;
}

.template-collection .price,
.template-index .product-card .price,
.product-card .price {
  color: #7a7a7a !important;
  font-size: 14px !important;
}

.template-collection h1 {
  margin-bottom: 4px !important;
}

.badge {
  top: 8px !important;
  right: 8px !important;
}

.card__information {
  padding-top: 8px !important;
}

.grid {
  row-gap: 28px !important;
}

/* Slightly more refined heading for Artist Series */
.template-collection.collection-artist h1 {
  letter-spacing: 0.02em;
}

/* Slightly more space below heading */
.template-collection.collection-artist .rte {
  margin-bottom: 28px;
}

.rich-text a {
  color: #041116 !important;
  text-decoration: none;
}

.rich-text a:hover {
  opacity: 0.7;
}

.rich-text a {
  color: #041116;
  text-decoration: none;
  display: inline-block;
  transition: all 0.25s ease;
}

.rich-text a:hover {
  opacity: 0.7;
  transform: translateX(2px);
}

/* =========================================
   MAD & DARLING — CLEAN PAGE TYPOGRAPHY
   ========================================= */

/* Text column */
body.template-page .rte {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* Spacing + readability */
body.template-page .rte p {
  margin-bottom: 12px;
  line-height: 1.6;
}

body.template-page .rte h2 {
  margin-top: 40px;
  margin-bottom: 12px;
}

/* Keep text left-aligned */
body.template-page .rte,
body.template-page .text-block,
body.template-page .rte *,
body.template-page .text-block * {
  text-align: left !important;
}

/* Editorial buttons */
body.template-page .text-block .button {
  margin-left: 0;
  margin-right: auto;
  align-self: flex-start;
}

/* Form buttons */
body.template-page form button,
body.template-page form .button,
body.template-page form input[type="submit"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-indent: 0 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

/* Editorial pages only: About + Artist */
body:has(main[data-template="page.about-us"]) .section-content-wrapper,
body:has(main[data-template="page.artist"]) .section-content-wrapper {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(main[data-template="page.about-us"]) .rte,
body:has(main[data-template="page.about-us"]) .text-block,
body:has(main[data-template="page.artist"]) .rte,
body:has(main[data-template="page.artist"]) .text-block {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 749px){
  .rte,.text-block{
    padding:0 20px !important;
    max-width: 540px;
    margin-left:auto;
    margin-right:auto;
  }

  .rte p,.text-block p{
    text-align:left !important;
  }
}
/* Mobile polish only */
@media(max-width:749px){

  /* Keep text readable */
  .rte p,
  .text-block p,
  .rte li,
  .text-block li{
    font-size:15px!important;
    line-height:1.55!important;
  }

  /* Calm heading scale */
  .rte h1,
  .text-block h1{
    font-size:30px!important;
    line-height:1.15!important;
  }

  .rte h2,
  .text-block h2{
    font-size:24px!important;
    line-height:1.2!important;
  }

  .rte h3,
  .text-block h3{
    font-size:18px!important;
    line-height:1.25!important;
  }

  /* Softer spacing */
  .rte p,
  .text-block p{
    margin-bottom:14px!important;
  }

  .rte li,
  .text-block li{
    margin-bottom:8px!important;
  }

  /* Images behave */
  .rte img,
  .text-block img{
    max-width:100%!important;
    height:auto!important;
  }

  /* Tables smaller on mobile */
  table,
  table *{
    font-size:13px!important;
    line-height:1.35!important;
  }

  table td,
  table th{
    padding:8px 6px!important;
  }
}
/* Page title consistency */
.template-page h1{
  font-size:32px!important;
  line-height:1.2!important;
}

/* Section headings */
.template-page h2{
  font-size:24px!important;
  line-height:1.2!important;
}

/* Subheadings */
.template-page h3{
  font-size:18px!important;
  line-height:1.25!important;
}

/* Mobile scaling */
@media(max-width:749px){
  .template-page h1{
    font-size:28px!important;
  }
  .template-page h2{
    font-size:22px!important;
  }
  .template-page h3{
    font-size:17px!important;
  }
}

/* Page spacing system */
.template-page .section{
  padding-top:60px;
  padding-bottom:60px;
}

/* First section tighter at top */
.template-page .section:first-child{
  padding-top:40px;
}

/* Headings rhythm */
.template-page h2{
  margin-top:32px;
  margin-bottom:12px;
}

.template-page p{
  margin-bottom:16px;
}

@media(max-width:749px){
  .template-page .section{
    padding-top:40px;
    padding-bottom:40px;
  }

  .template-page h2{
    margin-top:24px;
    margin-bottom:10px;
  }

  .template-page p{
    margin-bottom:14px;
  }
}

/* =========================================
   Mad & Darling — Engraving Fields
   Applies to keyring + brass tag personalisation fields
   ========================================= */

.mad-engraving-fields {
  margin: 30px 0 22px !important;
}

.mad-engraving-fields label {
  display: block !important;
  margin: 0 0 12px !important;
  font-size: 22px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: #5f5f5f !important;
}

.mad-engraving-fields input {
  width: 100% !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(4,17,22,0.28) !important;
  background: transparent !important;
  padding: 10px 0 12px !important;

  font-family: inherit !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: #041116 !important;
  box-shadow: none !important;
}

.mad-engraving-fields input::placeholder {
  font-size: 15px !important;
  color: #3f3f3f !important;
  -webkit-text-fill-color: #3f3f3f !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
}

.mad-engraving-fields input:focus {
  outline: none !important;
  border-bottom-color: #041116 !important;
}

.mad-engraving-fields small {
  display: block !important;
  margin-top: 10px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #3f3f3f !important;
  letter-spacing: 0.04em !important;
}

@media(max-width:749px){
  .mad-field-row {
    display: block !important;
  }

  .mad-field-row label {
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 20px !important;
  }

  .mad-field-row input {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .mad-field-row small {
    display: block !important;
    margin-top: 6px !important;
  }
}


/* =========================================
   Mad & Darling — Brass Tag Engraving Layout
   Makes front/back engraving fields stack neatly
   ========================================= */

.mad-tag-engraving-fields {
  width: 100% !important;
  flex: 1 0 100% !important;
  display: block !important;
  margin: 28px 0 22px !important;
}

.mad-tag-engraving-fields .mad-field-row {
  display: block !important;
  width: 100% !important;
  margin: 0 0 26px !important;
}

.mad-tag-engraving-fields label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: #5f5f5f !important;
}

.mad-tag-engraving-fields input {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.mad-tag-engraving-fields small {
  display: block !important;
  width: 100% !important;
  margin-top: 10px !important;
}

@media screen and (max-width: 749px) {
  .mad-tag-engraving-fields label {
    font-size: 20px !important;
  }

  .mad-tag-engraving-fields .mad-field-row {
    margin-bottom: 24px !important;
  }
}


/* =========================================
   Mad & Darling — Opening Description Line
   Applies to all product pages
   ========================================= */

.template-product .product__description p:first-of-type,
.template-product .text-block p:first-of-type {
  font-size: 17px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  color: #5f5f5f !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 18px !important;
}


/* =========================================
   Mad & Darling — Product Form Override
   Applies to all product pages
   ========================================= */

variant-picker,
variant-picker .variant-picker,
variant-picker .variant-picker__form {
  width: 100% !important;
  margin-bottom: 6px !important;
}

variant-picker legend {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
  color: #6f6f6f !important;
}

variant-picker .variant-option,
variant-picker .variant-option--buttons,
variant-picker fieldset.variant-option {
  gap: 8px !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
}

variant-picker .variant-option__button-label,
variant-picker label.variant-option__button-label {
  min-height: 44px !important;
  height: 44px !important;
  padding: 8px 16px !important;

  border: 1px solid rgba(4,17,22,0.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  color: #555 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
  line-height: 1.2 !important;

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

variant-picker .variant-option__button-label__text,
variant-picker .variant-option__button-label__text * {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
}

variant-picker .variant-option__button-label__pill {
  display: none !important;
}

variant-picker .variant-option__button-label:has(input:checked),
variant-picker label:has(input[type="radio"]:checked) {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

variant-picker .variant-option__button-label:has(input:checked) *,
variant-picker label:has(input[type="radio"]:checked) * {
  color: #fff !important;
}

variant-picker .variant-option__button-label:hover {
  border-color: rgba(4,17,22,0.35) !important;
  background: rgba(4,17,22,0.025) !important;
}


/* =========================================
   Mad & Darling — Product Page Spacing
   Applies to all product pages
   ========================================= */

product-form-component,
.product-form,
.product-form-buttons,
.product-form__buttons,
.buy-buttons-block {
  margin-top: 0 !important;
}

add-to-cart-component {
  display: block !important;
  margin-top: 8px !important;
  margin-bottom: 46px !important;
}

.product-form + .product__description,
.product-form + .text-block,
add-to-cart-component + .product__description,
add-to-cart-component + .text-block {
  margin-top: 40px !important;
}


/* =========================================
   Mad & Darling — Product Description Readability
   Applies to all product pages
   ========================================= */

.product__description,
.product__description *,
.text-block,
.text-block * {
  text-align: left !important;
  word-spacing: normal !important;
  letter-spacing: 0.01em !important;
}

/* =========================================
   Mad & Darling — FINAL Kill Quick Add on Cards
   Hides collection card Add buttons only
   ========================================= */

quick-add-component,
quick-add-component *,
button.quick-add__button-choose,
button.add-to-cart-button.quick-add__button-choose,
button.quick-add__button,
.product-card button.add-to-cart-button,
.card-wrapper button.add-to-cart-button,
.card button.add-to-cart-button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================
   Mad & Darling — FINAL Nice Product Page Add to Cart
   Product pages only — does not affect collection cards
   ========================================= */

body:has(.product-details) add-to-cart-component button.mad-atc {
  all: unset !important;
  appearance: none !important;
  -webkit-appearance: none !important;

  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;

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

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;

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

  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;

  color: #6f6f6f !important;
  -webkit-text-fill-color: #6f6f6f !important;

  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  text-decoration: none !important;

  cursor: pointer !important;
}

body:has(.product-details) add-to-cart-component button.mad-atc * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  text-transform: inherit !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:has(.product-details) add-to-cart-component button.mad-atc::before,
body:has(.product-details) add-to-cart-component button.mad-atc::after {
  display: none !important;
  content: none !important;
}

body:has(.product-details) add-to-cart-component button.mad-atc .add-to-cart-text,
body:has(.product-details) add-to-cart-component button.mad-atc .add-to-cart-text__content,
body:has(.product-details) add-to-cart-component button.mad-atc .add-to-cart-text__content span {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  clip-path: none !important;
  filter: none !important;
  translate: none !important;
  transform: none !important;
}

body:has(.product-details) add-to-cart-component button.mad-atc .add-to-cart-text__content > span::after {
  content: " →" !important;
  display: inline-block !important;
  margin-left: 6px !important;
  transition: transform 0.22s ease, opacity 0.22s ease !important;
}

body:has(.product-details) add-to-cart-component button.mad-atc:hover {
  color: #4f4f4f !important;
  -webkit-text-fill-color: #4f4f4f !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:has(.product-details) add-to-cart-component button.mad-atc:hover .add-to-cart-text__content > span::after {
  transform: translateX(4px) !important;
}

/* =========================================
   Mad & Darling — Keyring Product Title Fix
   Match other product title style
   ========================================= */

body:has(.mad-engraving-fields) .text-block h1,
body:has(.mad-engraving-fields) .product-details h1,
body:has(.mad-engraving-fields) h1 {
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  color: #5f5f5f !important;
  margin-bottom: 14px !important;
}

@media screen and (max-width: 749px) {
  body:has(.mad-engraving-fields) .text-block h1,
  body:has(.mad-engraving-fields) .product-details h1,
  body:has(.mad-engraving-fields) h1 {
    font-size: 24px !important;
  }
}

/* =========================================
   Mad & Darling — FAQ Editorial Styling
   ========================================= */

/* FAQ heading */
.template-page h1,
.template-page .text-block h1,
.template-page .rich-text h1 {
  color: #041116 !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.1 !important;
  margin-bottom: 10px !important;
}

/* FAQ intro text, if added under heading */
.template-page h1 + p,
.template-page .text-block h1 + p,
.template-page .rich-text h1 + p {
  max-width: 560px !important;
  margin-bottom: 34px !important;
  color: #6f6f6f !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  letter-spacing: 0.01em !important;
}

/* Accordion rows */
.template-page accordion-custom {
  border-bottom: 1px solid rgba(4, 17, 22, 0.16) !important;
}

/* FAQ question headings */
.template-page accordion-custom summary,
.template-page details summary {
  cursor: pointer !important;
  padding: 24px 0 !important;

  color: #041116 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.005em !important;
  line-height: 1.4 !important;
}

/* Slightly stronger open state */
.template-page accordion-custom details[open] summary,
.template-page details[open] summary {
  color: #041116 !important;
}

/* Hover */
.template-page accordion-custom summary:hover,
.template-page details summary:hover {
  opacity: 0.72 !important;
}

/* FAQ answer text */
.template-page accordion-custom .details-content,
.template-page accordion-custom .details-content *,
.template-page details .details-content,
.template-page details .details-content * {
  color: #4f4f4f !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  line-height: 1.7 !important;
}

/* Answer spacing */
.template-page accordion-custom .details-content,
.template-page details .details-content {
  max-width: 680px !important;
  padding: 0 0 28px !important;
}

/* Divider refinement */
.template-page .accordion,
.template-page details,
.template-page .accordion--dividers {
  border-color: rgba(4, 17, 22, 0.14) !important;
}

/* Arrow refinement */
.template-page accordion-custom summary svg,
.template-page details summary svg,
.template-page .details__icon {
  width: 13px !important;
  height: 13px !important;
  opacity: 0.8 !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .template-page h1,
  .template-page .text-block h1,
  .template-page .rich-text h1 {
    font-size: 32px !important;
  }

  .template-page accordion-custom summary,
  .template-page details summary {
    font-size: 16px !important;
    padding: 19px 0 !important;
  }

  .template-page accordion-custom .details-content,
  .template-page accordion-custom .details-content *,
  .template-page details .details-content,
  .template-page details .details-content * {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
}

/* FAQ intro text, if added under heading */
.template-page h1 + p,
.template-page .text-block h1 + p,
.template-page .rich-text h1 + p {
  max-width: 620px !important;
  margin-bottom: 30px !important;
  color: #5f5f5f !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

/* =========================================
   Mad & Darling — FAQ Category Polish
   ========================================= */

/* Category headings */
.template-page .text-block p:has(strong),
.template-page .rich-text p:has(strong),
.template-page .text-block h2,
.template-page .rich-text h2 {
  margin-top: 34px !important;
  margin-bottom: 8px !important;
  color: #041116 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

/* First category sits closer to intro */
.template-page .text-block p:has(strong):first-of-type,
.template-page .rich-text p:has(strong):first-of-type,
.template-page .text-block h2:first-of-type,
.template-page .rich-text h2:first-of-type {
  margin-top: 24px !important;
}

/* Make accordion rows a touch airier */
.template-page accordion-custom summary,
.template-page details summary {
  padding: 19px 0 !important;
}

/* Softer, warmer dividers */
.template-page accordion-custom,
.template-page details {
  border-color: rgba(4, 17, 22, 0.11) !important;
}

/* FAQ intro softer */
.template-page h1 + p,
.template-page .text-block h1 + p,
.template-page .rich-text h1 + p {
  max-width: 720px !important;
  color: #5f5f5f !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.01em !important;
}

/* =========================================
   Mad & Darling — FAQ Mobile Header Fix
   ========================================= */

@media screen and (max-width: 749px) {
  .template-page h1,
  .template-page .text-block h1,
  .template-page .rich-text h1 {
    font-size: 34px !important;
    line-height: 1.05 !important;
    letter-spacing: 0.005em !important;
    margin-bottom: 10px !important;
  }

  .template-page h1 + p,
  .template-page .text-block h1 + p,
  .template-page .rich-text h1 + p {
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    letter-spacing: 0.005em !important;
    margin-bottom: 22px !important;
    max-width: 100% !important;
  }

  .template-page .text-block p:has(strong),
  .template-page .rich-text p:has(strong),
  .template-page .text-block h2,
  .template-page .rich-text h2 {
    font-size: 14px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.06em !important;
    margin-top: 26px !important;
    margin-bottom: 8px !important;
  }
}

/* =========================================
   Mad & Darling — Footer Wordmark
   ========================================= */

.mad-footer-wordmark {
  display: block !important;
  text-align: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  line-height: 0 !important;
}

.mad-footer-wordmark img {
  display: inline-block !important;
  width: 140px !important;
  max-width: 48vw !important;
  height: auto !important;
  opacity: 0.82 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Tighten space above footer wordmark */
.shopify-section:has(.mad-footer-wordmark),
.section:has(.mad-footer-wordmark),
.section-wrapper:has(.mad-footer-wordmark) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.mad-footer-wordmark {
  margin-top: -12px !important;
  margin-bottom: -8px !important;
}

.mad-footer-wordmark img {
  display: inline-block !important;
  width: 140px !important;
  max-width: 48vw !important;
  height: auto !important;
  opacity: 0.72 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* =========================================
   Mad & Darling — Contact Page Refinement
   ========================================= */

/* Centre the full contact block, but keep content left-aligned */
.template-page .section:has(form[action*="/contact"]) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Shared contact width */
.template-page .section:has(form[action*="/contact"]) h1,
.template-page .section:has(form[action*="/contact"]) h1 + p,
.template-page form[action*="/contact"] {
  width: 760px !important;
  max-width: calc(100vw - 48px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

/* Heading */
.template-page .section:has(form[action*="/contact"]) h1 {
  color: #5f5f5f !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.15 !important;
  margin-bottom: 20px !important;
}

/* Intro text */
.template-page .section:has(form[action*="/contact"]) h1 + p {
  color: #5f5f5f !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.6 !important;
  margin-bottom: 34px !important;
}

/* Form */
.template-page form[action*="/contact"] {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Fields */
.template-page form[action*="/contact"] input,
.template-page form[action*="/contact"] textarea {
  border: 1px solid rgba(4, 17, 22, 0.18) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #041116 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
  box-shadow: none !important;
}

/* Message box height */
.template-page form[action*="/contact"] textarea {
  height: 190px !important;
  min-height: 160px !important;
}

/* Field focus */
.template-page form[action*="/contact"] input:focus,
.template-page form[action*="/contact"] textarea:focus {
  border-color: rgba(4, 17, 22, 0.42) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Placeholder text */
.template-page form[action*="/contact"] input::placeholder,
.template-page form[action*="/contact"] textarea::placeholder {
  color: #5f5f5f !important;
  opacity: 1 !important;
}

/* Send message button */
.template-page form[action*="/contact"] button,
.template-page form[action*="/contact"] input[type="submit"] {
  all: unset !important;
  display: inline-flex !important;
  cursor: pointer !important;
  margin-top: 10px !important;
  margin-left: 0 !important;

  color: #041116 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
}

/* Arrow */
.template-page form[action*="/contact"] button::after,
.template-page form[action*="/contact"] input[type="submit"]::after {
  content: " →" !important;
  margin-left: 6px !important;
  display: inline-block !important;
  transition: transform 0.22s ease !important;
}

.template-page form[action*="/contact"] button:hover::after,
.template-page form[action*="/contact"] input[type="submit"]:hover::after {
  transform: translateX(4px) !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .template-page .section:has(form[action*="/contact"]) h1,
  .template-page .section:has(form[action*="/contact"]) h1 + p,
  .template-page form[action*="/contact"] {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
  }

  .template-page .section:has(form[action*="/contact"]) h1 {
    font-size: 32px !important;
  }

  .template-page .section:has(form[action*="/contact"]) h1 + p {
    margin-bottom: 26px !important;
  }

  .template-page form[action*="/contact"] textarea {
    height: 170px !important;
    min-height: 150px !important;
  }
}

/* =========================================
   Mad & Darling — Policy Page Refinement
   ========================================= */

.shopify-policy__container {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 56px 24px 64px !important;
}

.shopify-policy__title {
  text-align: left !important;
  margin-bottom: 28px !important;
}

.shopify-policy__title h1 {
  color: #041116 !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.15 !important;
}

.shopify-policy__body {
  color: #4f4f4f !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.005em !important;
}

.shopify-policy__body p,
.shopify-policy__body li {
  color: #4f4f4f !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin-bottom: 14px !important;
}

.shopify-policy__body h2,
.shopify-policy__body h3 {
  color: #041116 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.35 !important;
  margin: 34px 0 12px !important;
}

.shopify-policy__body a {
  color: #041116 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(4, 17, 22, 0.25) !important;
}

.shopify-policy__body a:hover {
  opacity: 0.7 !important;
}

@media screen and (max-width: 749px) {
  .shopify-policy__container {
    padding: 40px 20px 52px !important;
  }

  .shopify-policy__title h1 {
    font-size: 30px !important;
  }

  .shopify-policy__body,
  .shopify-policy__body p,
  .shopify-policy__body li {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
}

/* ===== HERO IMAGE BREATHING ROOM (FINAL) ===== */

@media screen and (max-width: 749px) {
  .template-index .banner:first-of-type {
    padding-bottom: 70px !important;
  }
}

/* ===== HERO IMAGE POSITION — SHOW MORE LEAD, TEXT STAYS PUT ===== */

@media screen and (max-width: 749px) {
  .template-index .banner:first-of-type .banner__media img {
    object-position: center top !important;
  }
}

/* ===== MOBILE HERO — SHOW FULL PRODUCT AREA ===== */

@media screen and (max-width: 749px) {
  .template-index .banner:first-of-type .banner__media img {
    object-fit: contain !important;
    object-position: center center !important;
  }

  .template-index .banner:first-of-type .banner__media {
    background-color: #d8d1c6 !important;
  }
}

@media screen and (max-width: 749px) {
  .template-index .banner:first-of-type .banner__content {
    padding-top: 72px !important;
  }
}

/* ===== HERO TYPE SCALE — DESKTOP FIX ===== */

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

  .template-index .banner:first-of-type .banner__heading {
    font-size: 52px !important;
    line-height: 1.05 !important;
  }

  .template-index .banner:first-of-type .banner__text,
  .template-index .banner:first-of-type .banner__text p {
    font-size: 24px !important;
    line-height: 1.25 !important;
  }

  .template-index .banner:first-of-type .banner__text a {
    font-size: 18px !important;
  }
}

.template-index .banner:first-of-type .banner__heading {
  margin-bottom: 4px !important;
}

/* ===== SECTION TEXT ALIGNMENT FIX ===== */

.template-index .rich-text,
.template-index .rich-text__blocks {
  max-width: 680px !important;
  margin: 0 auto !important;
  text-align: center !important;
}



/* ===== MELBOURNE SECTION — TRUE ALIGNMENT FIX ===== */

.template-index .section-rich-text .rich-text__blocks {
  max-width: 560px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.template-index .section-rich-text .rich-text__heading,
.template-index .section-rich-text .rich-text__text {
  max-width: 100% !important;
}

/* Tighten space below Melbourne text section */
.template-index .section-rich-text {
  margin-bottom: 32px !important;
  padding-bottom: 32px !important;
}

/* ===== MELBOURNE SECTION — MOBILE TRUE CENTER FIX ===== */

@media screen and (max-width: 749px) {
  .template-index .section-rich-text .rich-text__blocks {
    max-width: 100% !important;
    padding: 0 24px !important;
    text-align: center !important;
  }

  .template-index .section-rich-text .rich-text__heading {
    font-size: 34px !important;
    line-height: 1.12 !important;
    text-align: center !important;
    margin-bottom: 18px !important;
  }

  .template-index .section-rich-text .rich-text__text,
  .template-index .section-rich-text .rich-text__text p {
    font-size: 18px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Fix Melbourne heading */
.template-index .text-block h3 {
  color: #1a1a1a !important;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Fix paragraph under it */
.template-index .text-block p {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #6f6f6f;
}

.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.35) 0%,
    rgba(0,0,0,0.15) 40%,
    rgba(0,0,0,0) 70%
  );
  z-index: 1;
}

.banner__content {
  position: relative;
  z-index: 2;
}


/* Target only hero/banner links */
.image-banner a,
.banner a {
  color: #ffffff !important;
  opacity: 0.85;
  text-decoration: none !important;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.image-banner a:hover,
.banner a:hover {
  opacity: 1;
}

.image-banner a::after,
.banner a::after {
  content: " →";
  display: inline-block;
  margin-left: 6px;
  transition: transform 0.25s ease;
}

.image-banner a:hover::after,
.banner a:hover::after {
  transform: translateX(4px);
}

/* Hide headers for size chart tables */
[class*="ai-size-chart-table"] thead {
  display: none;
}

.page-size-guide .section ul li {
  margin-bottom: 6px;
}

.page-size-guide ul {
  margin-bottom: 12px;
}

.page-size-guide img {
  margin-top: 12px;
}

/* About page — mobile spacing only */
@media screen and (max-width: 749px) {
  .page-about .text-block,
  .page-about .rich-text,
  .page-about .image {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .page-about img {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 749px) {

  /* tighten body copy */
  .template-product .rte p {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 14px;
  }

  /* tighten spacing before sections */
  .template-product .rte h3,
  .template-product .rte h4 {
    margin-top: 20px;
    margin-bottom: 8px;
  }

  /* product title spacing */
  .template-product .product__title {
    margin-bottom: 10px;
  }

  /* price spacing */
  .template-product .price {
    margin: 12px 0 16px;
  }

  /* variant buttons spacing */
  .template-product .product-form__input {
    margin-bottom: 18px;
  }

/* Product mobile text refinement */
@media (max-width: 749px) {
  .template-product .rte p {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 14px;
  }

  .template-product .rte h3,
  .template-product .rte h4 {
    margin-top: 20px;
    margin-bottom: 8px;
  }

  .template-product .product__title {
    margin-bottom: 10px;
  }

  .template-product .price {
    margin: 12px 0 16px;
  }

  .template-product .product-form__input {
    margin-bottom: 18px;
  }
}

