/** Shopify CDN: Minification failed

Line 7388:1 Expected "}" to go with "{"

**/
/* =====================================================
   EZDIY-FAB Dawn Final CSS
   Version: 2026-05 Clean Commerce Layout
   Rule: Header + Footer black. All main commerce content white.
   Brand color: Pantone 115C / #FDDA24
   ===================================================== */


/* =====================================================
   01. Brand Variables
   ===================================================== */

:root {
  --ez-black: #050505;
  --ez-black-soft: #111111;
  --ez-dark-2: #181818;
  --ez-yellow: #FDDA24;
  --ez-yellow-hover: #E8C600;
  --ez-white: #F5F5F5;
  --ez-page: #FFFFFF;
  --ez-soft-page: #F5F5F5;
  --ez-text: #111111;
  --ez-muted: #555555;
  --ez-border: #E5E5E5;
  --ez-border-dark: #2A2A2A;

  --ez-heading-font: "Montserrat", "Inter", Arial, sans-serif;
  --ez-body-font: "Inter", Arial, sans-serif;
}


/* =====================================================
   02. Safe Global Base
   Do not force all .gradient / .shopify-section to black or white here.
   ===================================================== */

html,
body {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
}

body,
button,
input,
select,
textarea {
  font-family: var(--ez-body-font) !important;
}

#MainContent,
main {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
}

h1,
h2,
h3,
h4,
.h0,
.h1,
.h2,
.h3,
.title,
.title-wrapper-with-link .title {
  font-family: var(--ez-heading-font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  color: var(--ez-text) !important;
}

p,
.rte,
.card-information,
.product__description,
.multicolumn-card__info p,
.image-with-text__text {
  color: var(--ez-muted) !important;
}

a {
  color: inherit;
}

a:hover {
  color: var(--ez-yellow) !important;
}

.badge {
  background: var(--ez-yellow) !important;
  color: var(--ez-black) !important;
  border-color: var(--ez-yellow) !important;
}


/* =====================================================
   03. Buttons
   ===================================================== */

.button,
.button--primary,
.shopify-payment-button__button--unbranded {
  background: var(--ez-yellow) !important;
  color: var(--ez-black) !important;
  border: 1px solid var(--ez-yellow) !important;
  box-shadow: none !important;
  font-family: var(--ez-body-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.button:hover,
.button--primary:hover,
.shopify-payment-button__button--unbranded:hover {
  background: var(--ez-yellow-hover) !important;
  color: var(--ez-black) !important;
  border-color: var(--ez-yellow-hover) !important;
}

.button--secondary,
.button--tertiary {
  background: transparent !important;
  color: var(--ez-yellow) !important;
  border: 1px solid var(--ez-yellow) !important;
}


/* =====================================================
   04. Announcement Bar
   ===================================================== */

.announcement-bar {
  background: var(--ez-yellow) !important;
  color: var(--ez-black) !important;
}

.announcement-bar__message {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: var(--ez-black) !important;
}

@media screen and (min-width: 750px) {
  .utility-bar,
  .announcement-bar,
  #shopify-section-announcement-bar {
    display: none !important;
  }
}


/* =====================================================
   05. Header - Black
   ===================================================== */

.shopify-section-group-header-group,
.section-header,
sticky-header,
.header-wrapper,
.header {
  background: var(--ez-black-soft) !important;
  color: var(--ez-white) !important;
  border-bottom: none !important;
}

@media screen and (min-width: 750px) {
  .header {
    max-width: 1440px !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 auto !important;
    padding: 0 44px !important;

    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    column-gap: 42px !important;
  }

  .header__heading,
  .header__heading-link {
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .header__heading-logo {
    width: 132px !important;
    max-width: 132px !important;
    height: auto !important;
    display: block !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .header__inline-menu {
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .list-menu--inline {
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .header__menu-item,
  .list-menu__item {
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 14px !important;

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

    color: var(--ez-white) !important;
    font-family: var(--ez-body-font) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.035em !important;
    line-height: 1 !important;
    text-transform: none !important;
    text-decoration: none !important;
  }

  .header__menu-item:hover,
  .header__menu-item:hover span,
  .header__active-menu-item {
    color: var(--ez-yellow) !important;
    text-decoration: none !important;
  }

  .header__inline-menu .icon-caret,
  .header__inline-menu summary svg,
  .header__inline-menu .header__menu-item svg {
    display: none !important;
  }

  .header__icons {
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .localization-form__select,
  .disclosure__button,
  .header-localization {
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    color: var(--ez-white) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
  }

  .header__icon,
  .header__icon--search,
  .header__icon--account,
  .header__icon--cart,
  #cart-icon-bubble {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
    margin: 0 !important;

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

    color: var(--ez-white) !important;
  }

  .header__icon--search svg,
  .header__icon--search .icon,
  .header__icon--account svg,
  .header__icon--account .icon {
    width: 19px !important;
    height: 19px !important;
  }

  .header__icon--cart svg,
  .header__icon--cart .icon,
  #cart-icon-bubble svg,
  #cart-icon-bubble .icon,
  #cart-icon-bubble .svg-wrapper {
    display: none !important;
  }

  .header__icon--cart::before,
  #cart-icon-bubble::before {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='20.5' r='1.25'/%3E%3Ccircle cx='18' cy='20.5' r='1.25'/%3E%3Cpath d='M2.5 3.5h3l2.1 11.1a2.1 2.1 0 0 0 2.1 1.7h7.9a2.1 2.1 0 0 0 2-1.55L21.5 7H6.4'/%3E%3C/svg%3E") !important;
    background-size: 20px 20px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
  }

  .header__icon--cart:hover::before,
  #cart-icon-bubble:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23FDDA24' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='20.5' r='1.25'/%3E%3Ccircle cx='18' cy='20.5' r='1.25'/%3E%3Cpath d='M2.5 3.5h3l2.1 11.1a2.1 2.1 0 0 0 2.1 1.7h7.9a2.1 2.1 0 0 0 2-1.55L21.5 7H6.4'/%3E%3C/svg%3E") !important;
  }
}


/* =====================================================
   06. Mobile Header - Black
   ===================================================== */

@media screen and (max-width: 749px) {
  .header-wrapper,
  .shopify-section-header-sticky {
    background: var(--ez-black-soft) !important;
    border-bottom: none !important;
  }

  .header {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 76px 1fr 76px !important;
    grid-template-areas: "drawer logo icons" !important;
    align-items: center !important;

    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;

    background: var(--ez-black-soft) !important;
  }

  header-drawer {
    grid-area: drawer !important;
    position: static !important;
    transform: none !important;
    justify-self: start !important;
    margin: 0 !important;
    z-index: 2 !important;
  }

  .header__icon--menu {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
  }

  .header__icon--menu .icon {
    width: 24px !important;
    height: 24px !important;
  }

  .header__heading,
  .header__heading-link {
    grid-area: logo !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;

    justify-self: center !important;
    align-self: center !important;

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

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

  .header__heading-logo {
    width: 126px !important;
    max-width: 126px !important;
    height: auto !important;
    display: block !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .header__icons {
    grid-area: icons !important;
    position: static !important;
    transform: none !important;

    justify-self: end !important;
    align-self: center !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  .header__icon--account {
    display: none !important;
  }

  .header__search,
  details-modal.header__search,
  .header__icon--cart,
  #cart-icon-bubble {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;

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

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

  .header__icon--search,
  .header__icon--cart {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .header__icon--search svg,
  .header__icon--search .icon,
  .header__icon--search .svg-wrapper,
  .header__icon--cart svg,
  .header__icon--cart .icon,
  #cart-icon-bubble svg,
  #cart-icon-bubble .icon,
  #cart-icon-bubble .svg-wrapper {
    display: none !important;
  }

  .header__icon--search::before {
    content: "" !important;
    display: block !important;
    width: 23px !important;
    height: 23px !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10.5' cy='10.5' r='7.2'/%3E%3Cpath d='M16 16l5 5'/%3E%3C/svg%3E") !important;
    background-size: 23px 23px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
  }

  .header__icon--cart::before,
  #cart-icon-bubble::before {
    content: "" !important;
    display: block !important;
    width: 23px !important;
    height: 23px !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='20.5' r='1.25'/%3E%3Ccircle cx='18' cy='20.5' r='1.25'/%3E%3Cpath d='M2.5 3.5h3l2.1 11.1a2.1 2.1 0 0 0 2.1 1.7h7.9a2.1 2.1 0 0 0 2-1.55L21.5 7H6.4'/%3E%3C/svg%3E") !important;
    background-size: 23px 23px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
  }

  .cart-count-bubble {
    right: -6px !important;
    top: -6px !important;
    transform: scale(0.72) !important;
    background: var(--ez-yellow) !important;
    color: var(--ez-black) !important;
  }
}


/* =====================================================
   07. Dropdown / Mega Menu
   ===================================================== */

@media screen and (min-width: 990px) {
  .header__submenu {
    min-width: 320px !important;
    padding: 22px 28px !important;
    background: rgba(17, 17, 17, 0.98) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.42) !important;
    backdrop-filter: blur(10px) !important;
  }

  .header__submenu > li {
    padding: 0 !important;
    margin: 0 !important;
  }

  .header__submenu > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .header__submenu > li > .header__menu-item,
  .header__submenu > li > details > summary,
  .header__submenu > li > a {
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    padding: 10px 0 !important;
    margin: 0 !important;

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

    color: var(--ez-white) !important;
    background: transparent !important;

    font-family: var(--ez-body-font) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.10em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .header__submenu > li > .header__menu-item:hover,
  .header__submenu > li > details > summary:hover,
  .header__submenu > li > a:hover {
    color: var(--ez-yellow) !important;
    text-decoration: none !important;
  }

  .header__submenu .icon-caret,
  .header__submenu summary svg {
    display: none !important;
  }

  .header__submenu .header__submenu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

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

    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;

    padding: 2px 0 12px 14px !important;
    margin: 0 !important;

    background: transparent !important;
    border: none !important;
    border-left: 1px solid rgba(253, 218, 36, 0.28) !important;
    box-shadow: none !important;
  }

  .header__submenu .header__submenu .header__menu-item,
  .header__submenu .header__submenu .list-menu__item,
  .header__submenu .header__submenu a {
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    padding: 6px 0 !important;
    margin: 0 !important;

    display: block !important;

    color: rgba(245, 245, 245, 0.72) !important;
    background: transparent !important;

    font-family: var(--ez-body-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  .header__submenu .header__submenu .header__menu-item:hover,
  .header__submenu .header__submenu .list-menu__item:hover,
  .header__submenu .header__submenu a:hover {
    color: var(--ez-yellow) !important;
    text-decoration: none !important;
  }

  .header__submenu details[open] > summary {
    color: var(--ez-yellow) !important;
  }

  .header__submenu summary:focus,
  .header__submenu a:focus {
    outline: none !important;
    box-shadow: none !important;
  }

  .mega-menu__content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    top: 64px !important;
  }
}


/* =====================================================
   08. Home Hero
   Scoped to homepage only
   ===================================================== */

@media screen and (min-width: 990px) {
  .template-index #MainContent > .shopify-section:first-child,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child {
    max-width: 1360px !important;
    width: calc(100% - 64px) !important;
    margin: 24px auto 0 !important;
    overflow: hidden !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner {
    max-width: 1360px !important;
    width: 100% !important;
    height: 440px !important;
    min-height: 440px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__media,
  .template-index #MainContent > .shopify-section:first-child .banner__media img,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__media,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__media img {
    height: 440px !important;
    min-height: 440px !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__media img,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__content,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__content {
    height: 440px !important;
    min-height: 440px !important;

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

    padding-right: 9vw !important;
    padding-left: 0 !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__box,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__box {
    width: fit-content !important;
    max-width: none !important;
    min-width: auto !important;
    min-height: auto !important;

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

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

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

    text-align: left !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__heading,
  .template-index #MainContent > .shopify-section:first-child .banner__box h1,
  .template-index #MainContent > .shopify-section:first-child .banner__box h2,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__heading,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__box h1,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__box h2 {
    white-space: nowrap !important;
    width: fit-content !important;
    font-size: clamp(34px, 3vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em !important;
    color: var(--ez-white) !important;
    text-align: left !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.26) !important;
    margin: 0 0 18px !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__text,
  .template-index #MainContent > .shopify-section:first-child .banner__text p,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__text,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__text p {
    max-width: 420px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: rgba(245, 245, 245, 0.88) !important;
    text-align: left !important;
    margin: 0 0 22px !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__buttons,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__buttons {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 0 !important;
  }

  .template-index #MainContent > .shopify-section:first-child .banner__buttons .button,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) #MainContent > .shopify-section:first-child .banner__buttons .button {
    min-width: auto !important;
    width: auto !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: var(--ez-yellow) !important;
    border: 1px solid var(--ez-yellow) !important;
    color: var(--ez-black) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }
}

@media screen and (max-width: 749px) {
  .template-index .banner,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner {
    min-height: 220px !important;
  }

  .template-index .banner .banner__media,
  .template-index .banner .banner__media img,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__media,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__media img {
    height: 220px !important;
  }

  .template-index .banner .banner__media img,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__media img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  .template-index .banner .banner__content,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__content {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 0 18px 0 0 !important;
    box-sizing: border-box !important;
  }

  .template-index .banner .banner__box,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__box {
    width: 54% !important;
    max-width: 220px !important;
    min-height: auto !important;
    padding: 18px 16px !important;
    background: rgba(20, 20, 20, 0.34) !important;
    border: none !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .template-index .banner .banner__heading,
  .template-index .banner .banner__box h1,
  .template-index .banner .banner__box h2,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__heading,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__box h1,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__box h2 {
    color: var(--ez-white) !important;
    font-size: 30px !important;
    line-height: 0.95 !important;
    font-weight: 600 !important;
    letter-spacing: -0.035em !important;
    margin: 0 0 14px !important;
    text-align: center !important;
  }

  .template-index .banner .banner__text,
  .template-index .banner .banner__text p,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__text,
  body:not(:has(.collection-hero)):not(:has(.product__info-wrapper)) .banner .banner__text p {
    color: rgba(245, 245, 245, 0.88) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 0 12px !important;
  }
}


/* =====================================================
   09. Two Feature Cards
   ===================================================== */

.ez-two-cards-section {
  background: var(--ez-page) !important;
  padding: 40px 32px 56px !important;
}

.ez-two-cards-wrapper {
  max-width: 1360px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.ez-feature-card,
.ez-feature-card:hover {
  display: flex;
  flex-direction: column;
  background: #f4f4f4;
  color: var(--ez-text) !important;
  text-decoration: none !important;
  overflow: hidden;
  position: relative;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.ez-feature-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.10);
}

.ez-feature-card__image {
  position: relative;
  height: 430px;
  overflow: hidden;
  background: #e9e9e9;
}

.ez-feature-card__image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  background: linear-gradient(
    to bottom,
    rgba(244, 244, 244, 0) 0%,
    rgba(244, 244, 244, 0.72) 48%,
    rgba(244, 244, 244, 0.96) 74%,
    #f4f4f4 100%
  );
  pointer-events: none;
  z-index: 2;
}

.ez-feature-card__image img,
.ez-feature-card__image svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 0.7s ease;
}

.ez-feature-card:hover .ez-feature-card__image img,
.ez-feature-card:hover .ez-feature-card__image svg {
  transform: scale(1.05);
}

.ez-feature-card__content {
  position: relative !important;
  z-index: 5 !important;
  margin-top: -36px;
  min-height: 210px;
  padding: 0 44px 34px;
  background: #f4f4f4 !important;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.ez-feature-card__eyebrow,
.ez-feature-card:hover .ez-feature-card__eyebrow {
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #777777 !important;
}

.ez-feature-card__content h2,
.ez-feature-card:hover .ez-feature-card__content h2 {
  margin: 0 0 16px !important;
  color: var(--ez-text) !important;
  font-size: clamp(26px, 2.2vw, 34px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
  text-align: center;
}

.ez-feature-card__content p,
.ez-feature-card:hover .ez-feature-card__content p {
  max-width: 540px;
  margin: 0 0 22px !important;
  color: #303030 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-align: center;
}

.ez-feature-card__link,
.ez-feature-card:hover .ez-feature-card__link,
.ez-feature-card__link:hover {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 140px !important;
  height: 38px !important;
  padding: 0 24px !important;

  background: var(--ez-yellow) !important;
  color: var(--ez-black) !important;
  border: 1px solid var(--ez-yellow) !important;
  border-radius: 999px !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;

  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.ez-feature-card__link:hover,
.ez-feature-card:hover .ez-feature-card__link:hover {
  background: var(--ez-yellow-hover) !important;
  border-color: var(--ez-yellow-hover) !important;
  color: var(--ez-black) !important;
}

.ez-feature-card__link span {
  display: none !important;
}

@media screen and (max-width: 749px) {
  .ez-two-cards-section {
    padding: 28px 16px 36px !important;
  }

  .ez-two-cards-wrapper {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ez-feature-card__image {
    height: 270px;
  }

  .ez-feature-card__image::after {
    height: 48%;
  }

  .ez-feature-card__content {
    margin-top: -28px;
    min-height: auto;
    padding: 0 22px 28px;
  }

  .ez-feature-card__content h2 {
    font-size: 24px !important;
  }

  .ez-feature-card__content p {
    font-size: 14px !important;
  }
}


/* =====================================================
   10. Category Cards
   ===================================================== */

.ez-category-section {
  background: var(--ez-page) !important;
  padding: 64px 32px 72px !important;
}

.ez-category-wrapper {
  max-width: 1360px !important;
  margin: 0 auto !important;
}

.ez-category-header {
  max-width: 720px !important;
  margin-bottom: 34px !important;
}

.ez-category-header span {
  display: block !important;
  margin-bottom: 14px !important;
  color: #777777 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.ez-category-header h2 {
  margin: 0 0 18px !important;
  color: var(--ez-text) !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.04 !important;
}

.ez-category-header p {
  max-width: 680px !important;
  margin: 0 !important;
  color: #555555 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.ez-category-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.ez-category-card {
  position: relative !important;
  display: block !important;
  height: 380px !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: var(--ez-black-soft) !important;
  color: var(--ez-white) !important;
  text-decoration: none !important;
  isolation: isolate !important;
}

.ez-category-card__image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: var(--ez-black-soft) !important;
}

.ez-category-card__image img,
.ez-category-card__image svg {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
  transition: transform 0.75s ease !important;
}

.ez-category-card:hover .ez-category-card__image img,
.ez-category-card:hover .ez-category-card__image svg {
  transform: scale(1.06) !important;
}

.ez-category-card__overlay,
.ez-category-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.ez-category-card__overlay {
  z-index: 2 !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.00) 0%,
    rgba(0, 0, 0, 0.08) 25%,
    rgba(0, 0, 0, 0.22) 45%,
    rgba(0, 0, 0, 0.52) 68%,
    rgba(0, 0, 0, 0.88) 100%
  ) !important;
}

.ez-category-card::after {
  z-index: 3 !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.00) 0%,
    rgba(0, 0, 0, 0.06) 30%,
    rgba(0, 0, 0, 0.28) 55%,
    rgba(0, 0, 0, 0.70) 82%,
    rgba(0, 0, 0, 0.94) 100%
  ) !important;
}

.ez-category-card__content {
  position: absolute !important;
  left: 24px !important;
  right: 24px !important;
  bottom: 24px !important;
  z-index: 5 !important;
  padding-right: 58px !important;
  text-align: left !important;
}

.ez-category-card__eyebrow,
.ez-category-card:hover .ez-category-card__eyebrow {
  display: block !important;
  margin-bottom: 8px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55) !important;
}

.ez-category-card__content h3,
.ez-category-card:hover .ez-category-card__content h3 {
  margin: 0 !important;
  color: var(--ez-white) !important;
  font-size: clamp(21px, 1.55vw, 28px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: 0.01em !important;
  text-align: left !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65) !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  max-width: 100% !important;
}

.ez-category-card__arrow {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 6 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  color: var(--ez-white) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease !important;
}

.ez-category-card:hover .ez-category-card__arrow {
  background: var(--ez-yellow) !important;
  border-color: var(--ez-yellow) !important;
  color: var(--ez-black) !important;
  transform: translateX(2px) !important;
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .ez-category-section {
    padding: 52px 24px 60px !important;
  }

  .ez-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .ez-category-card {
    height: 340px !important;
  }

  .ez-category-card__content h3 {
    font-size: 26px !important;
  }
}

@media screen and (max-width: 749px) {
  .ez-category-section {
    padding: 44px 16px 52px !important;
  }

  .ez-category-header {
    margin-bottom: 26px !important;
  }

  .ez-category-header span {
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
  }

  .ez-category-header h2 {
    font-size: 34px !important;
    letter-spacing: 0.01em !important;
  }

  .ez-category-header p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .ez-category-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ez-category-card {
    height: 300px !important;
    border-radius: 8px !important;
  }

  .ez-category-card__content {
    left: 22px !important;
    right: 22px !important;
    bottom: 24px !important;
    padding-right: 58px !important;
  }

  .ez-category-card__content h3 {
    font-size: 24px !important;
    line-height: 1.02 !important;
  }

  .ez-category-card__arrow {
    right: 18px !important;
    bottom: 18px !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 19px !important;
  }
}


/* =====================================================
   11. Collection Pages - White Layout
   ===================================================== */

.template-collection,
.template-collection #MainContent,
.template-collection main,
.template-collection .gradient,
.template-collection .color-background-1,
.template-collection .color-background-2,
.template-collection .collection,
.template-collection .collection.page-width,
.template-collection .collection-hero,
.template-collection .collection-hero__inner,
.template-collection .collection-hero__text-wrapper,
.template-collection .product-grid-container,
.template-collection .facets-wrapper,
.template-collection .facets-container,
.template-collection .facets,
.template-collection .facets__form,
.template-collection .facet-filters,
.template-collection .product-count,
.template-collection .grid.product-grid,
body:has(.collection-hero) #MainContent,
body:has(.collection-hero) main,
body:has(.collection-hero) .gradient,
body:has(.collection-hero) .color-background-1,
body:has(.collection-hero) .color-background-2,
body:has(.collection-hero) .collection,
body:has(.collection-hero) .collection.page-width,
body:has(.collection-hero) .collection-hero,
body:has(.collection-hero) .collection-hero__inner,
body:has(.collection-hero) .collection-hero__text-wrapper,
body:has(.collection-hero) .product-grid-container,
body:has(.collection-hero) .facets-wrapper,
body:has(.collection-hero) .facets-container,
body:has(.collection-hero) .facets,
body:has(.collection-hero) .facets__form,
body:has(.collection-hero) .facet-filters,
body:has(.collection-hero) .product-count,
body:has(.collection-hero) .grid.product-grid {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
}

.template-collection .collection-hero,
body:has(.collection-hero) .collection-hero {
  padding: 56px 0 36px !important;
}

.template-collection .collection-hero__inner,
body:has(.collection-hero) .collection-hero__inner {
  max-width: 1360px !important;
  width: calc(100% - 64px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.template-collection .collection-hero__title,
.template-collection h1,
body:has(.collection-hero) .collection-hero__title,
body:has(.collection-hero) h1 {
  color: var(--ez-text) !important;
}

.template-collection .facets-wrapper,
body:has(.collection-hero) .facets-wrapper {
  max-width: 1360px !important;
  width: calc(100% - 64px) !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  background: var(--ez-page) !important;
}

.template-collection .facets-container,
body:has(.collection-hero) .facets-container {
  background: var(--ez-soft-page) !important;
  color: var(--ez-text) !important;
  padding: 18px 28px !important;
  border: 1px solid var(--ez-border) !important;
}

.template-collection .facets__heading,
.template-collection .facet-filters__label,
.template-collection .product-count__text,
.template-collection .facets__summary,
.template-collection .facets__summary span,
.template-collection .facet-filters__sort,
body:has(.collection-hero) .facets__heading,
body:has(.collection-hero) .facet-filters__label,
body:has(.collection-hero) .product-count__text,
body:has(.collection-hero) .facets__summary,
body:has(.collection-hero) .facets__summary span,
body:has(.collection-hero) .facet-filters__sort {
  color: var(--ez-text) !important;
}

.template-collection .select__select,
.template-collection select,
body:has(.collection-hero) .select__select,
body:has(.collection-hero) select {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
  border-color: #d8d8d8 !important;
}

.template-collection .product-grid-container,
body:has(.collection-hero) .product-grid-container {
  max-width: 1360px !important;
  width: calc(100% - 64px) !important;
  margin: 0 auto !important;
  padding: 0 0 72px !important;
}

.template-collection .grid.product-grid,
body:has(.collection-hero) .grid.product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-left: 1px solid var(--ez-border) !important;
  border-top: 1px solid var(--ez-border) !important;
}

.template-collection .grid.product-grid .grid__item,
body:has(.collection-hero) .grid.product-grid .grid__item {
  width: 100% !important;
  max-width: none !important;
  border-right: 1px solid var(--ez-border) !important;
  border-bottom: 1px solid var(--ez-border) !important;
}


/* =====================================================
   12. Product Cards on Collection Pages
   White cards, visible images, aligned text.
   ===================================================== */

.template-collection .product-card-wrapper,
.template-collection .product-card-wrapper .card,
.template-collection .product-card-wrapper .card-wrapper,
body:has(.collection-hero) .product-card-wrapper,
body:has(.collection-hero) .product-card-wrapper .card,
body:has(.collection-hero) .product-card-wrapper .card-wrapper {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
  border: none !important;
}

.template-collection .product-card-wrapper .card,
body:has(.collection-hero) .product-card-wrapper .card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.template-collection .product-card-wrapper .card__inner,
body:has(.collection-hero) .product-card-wrapper .card__inner {
  height: 320px !important;
  min-height: 320px !important;
  background: var(--ez-page) !important;
  overflow: hidden !important;
}

.template-collection .product-card-wrapper .card__inner > .card__content,
body:has(.collection-hero) .product-card-wrapper .card__inner > .card__content {
  display: none !important;
}

.template-collection .product-card-wrapper .card__media,
.template-collection .product-card-wrapper .media,
body:has(.collection-hero) .product-card-wrapper .card__media,
body:has(.collection-hero) .product-card-wrapper .media {
  background: var(--ez-page) !important;
  height: 100% !important;
}

.template-collection .product-card-wrapper .card__media img,
.template-collection .product-card-wrapper .media img,
body:has(.collection-hero) .product-card-wrapper .card__media img,
body:has(.collection-hero) .product-card-wrapper .media img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.template-collection .product-card-wrapper .card > .card__content,
body:has(.collection-hero) .product-card-wrapper .card > .card__content {
  flex: 1 1 auto !important;
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
  padding: 18px 18px 22px !important;
  display: flex !important;
}

.template-collection .product-card-wrapper .card__information,
body:has(.collection-hero) .product-card-wrapper .card__information {
  width: 100% !important;
  min-height: 96px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.template-collection .product-card-wrapper .card__heading,
body:has(.collection-hero) .product-card-wrapper .card__heading {
  min-height: 40px !important;
  margin: 0 0 10px !important;
  color: var(--ez-text) !important;
  font-family: var(--ez-body-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.template-collection .product-card-wrapper .card__heading a,
body:has(.collection-hero) .product-card-wrapper .card__heading a {
  color: var(--ez-text) !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.template-collection .product-card-wrapper .price,
.template-collection .product-card-wrapper .price-item,
body:has(.collection-hero) .product-card-wrapper .price,
body:has(.collection-hero) .product-card-wrapper .price-item {
  color: var(--ez-text) !important;
  font-family: var(--ez-body-font) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-top: 0 !important;
}


/* =====================================================
   13. Product Pages - White Layout
   ===================================================== */

.template-product,
.template-product #MainContent,
.template-product main,
.template-product .gradient,
.template-product .color-background-1,
.template-product .color-background-2,
body:has(.product__info-wrapper),
body:has(.product__info-wrapper) #MainContent,
body:has(.product__info-wrapper) main {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
}

.template-product #MainContent > .shopify-section:first-child,
body:has(.product__info-wrapper) #MainContent > .shopify-section:first-child {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
  background: var(--ez-page) !important;
}

.template-product .product,
body:has(.product__info-wrapper) .product {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 56px 32px 72px !important;
}

.template-product .product__media-wrapper,
.template-product .product__media,
.template-product .product__media-list,
.template-product .product__media-item,
.template-product .product__info-wrapper,
.template-product .product__info-container,
body:has(.product__info-wrapper) .product__media-wrapper,
body:has(.product__info-wrapper) .product__media,
body:has(.product__info-wrapper) .product__media-list,
body:has(.product__info-wrapper) .product__media-item,
body:has(.product__info-wrapper) .product__info-wrapper,
body:has(.product__info-wrapper) .product__info-container {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
}

.template-product .product__media,
body:has(.product__info-wrapper) .product__media {
  border: 1px solid var(--ez-border) !important;
}

.template-product .product__title h1,
body:has(.product__info-wrapper) .product__title h1 {
  color: var(--ez-text) !important;
  font-size: clamp(34px, 3vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.025em !important;
}

.template-product .price,
.template-product .price-item,
body:has(.product__info-wrapper) .price,
body:has(.product__info-wrapper) .price-item {
  color: var(--ez-text) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
}

.template-product .product__description,
.template-product .product__description p,
.template-product .product__tax,
.template-product .form__label,
.template-product .product__text,
body:has(.product__info-wrapper) .product__description,
body:has(.product__info-wrapper) .product__description p,
body:has(.product__info-wrapper) .product__tax,
body:has(.product__info-wrapper) .form__label,
body:has(.product__info-wrapper) .product__text {
  color: #444444 !important;
}

.template-product .product__tax a,
body:has(.product__info-wrapper) .product__tax a {
  color: #b99a00 !important;
}

.template-product .product-form__input label,
body:has(.product__info-wrapper) .product-form__input label {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
  border: 1px solid #d8d8d8 !important;
}

.template-product .product-form__input input[type='radio']:checked + label,
body:has(.product__info-wrapper) .product-form__input input[type='radio']:checked + label {
  background: var(--ez-text) !important;
  color: var(--ez-white) !important;
  border-color: var(--ez-text) !important;
}

.template-product .quantity,
body:has(.product__info-wrapper) .quantity {
  background: var(--ez-page) !important;
  border: 1px solid #d8d8d8 !important;
  color: var(--ez-text) !important;
}

.template-product .quantity__input,
.template-product .quantity__button,
body:has(.product__info-wrapper) .quantity__input,
body:has(.product__info-wrapper) .quantity__button {
  color: var(--ez-text) !important;
  background: var(--ez-page) !important;
}

.template-product .product-form__submit,
body:has(.product__info-wrapper) .product-form__submit {
  background: var(--ez-yellow) !important;
  color: var(--ez-black) !important;
  border: 1px solid var(--ez-yellow) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

.template-product .product-form__submit:hover,
body:has(.product__info-wrapper) .product-form__submit:hover {
  background: var(--ez-yellow-hover) !important;
  border-color: var(--ez-yellow-hover) !important;
  color: var(--ez-black) !important;
}

.template-product .shopify-payment-button__button,
body:has(.product__info-wrapper) .shopify-payment-button__button {
  border-radius: 0 !important;
}

.template-product .accordion,
.template-product .accordion summary,
.template-product .accordion__title,
.template-product .accordion__content,
body:has(.product__info-wrapper) .accordion,
body:has(.product__info-wrapper) .accordion summary,
body:has(.product__info-wrapper) .accordion__title,
body:has(.product__info-wrapper) .accordion__content {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
  border-color: #dddddd !important;
}

.template-product .accordion__content p,
body:has(.product__info-wrapper) .accordion__content p {
  color: #444444 !important;
}


/* =====================================================
   14. Forms
   White content pages, black footer forms.
   ===================================================== */

.field__input,
.select__select,
.customer .field input {
  background: var(--ez-page) !important;
  color: var(--ez-text) !important;
  border-color: #d8d8d8 !important;
}

.field__label,
.form__label {
  color: #555555 !important;
}


/* =====================================================
   15. Footer - Black
   ===================================================== */

.shopify-section-group-footer-group,
.shopify-section-group-footer-group .shopify-section,
.footer,
footer {
  background: var(--ez-black) !important;
  color: var(--ez-white) !important;
  border-top: 1px solid var(--ez-border-dark) !important;
}

.shopify-section-group-footer-group .newsletter,
.shopify-section-group-footer-group .newsletter__wrapper,
.shopify-section-group-footer-group .color-background-1,
.shopify-section-group-footer-group .color-background-2,
.shopify-section-group-footer-group .gradient,
.footer .page-width {
  background: transparent !important;
  color: var(--ez-white) !important;
}

.footer,
.footer a,
.footer p,
.footer span,
.footer small,
.footer h2,
.footer h3,
.footer-block__heading,
.newsletter__heading,
.newsletter__subheading,
.shopify-section-group-footer-group h2,
.shopify-section-group-footer-group h3,
.shopify-section-group-footer-group p,
.shopify-section-group-footer-group a,
.shopify-section-group-footer-group span,
.shopify-section-group-footer-group small {
  color: var(--ez-white) !important;
}

.footer-block__heading,
.newsletter__heading,
.footer h2,
.footer h3 {
  font-size: 18px !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

.footer .field,
.footer .field__input,
.footer input,
.footer select,
.footer .localization-form__select,
.footer .disclosure__button,
.newsletter-form__field-wrapper .field,
.newsletter-form__field-wrapper .field__input {
  background: var(--ez-black-soft) !important;
  color: var(--ez-white) !important;
  border-color: var(--ez-border-dark) !important;
}

.footer .field__label,
.footer input::placeholder,
.newsletter-form__field-wrapper .field__label {
  color: rgba(245, 245, 245, 0.65) !important;
}

.footer .field__button,
.newsletter-form__button {
  color: var(--ez-white) !important;
}

.footer .list-payment,
.footer .list-payment__item,
.footer__content-bottom,
.footer__content-bottom-wrapper,
.footer__copyright,
.copyright__content {
  background: transparent !important;
}

.footer__copyright,
.copyright__content {
  color: rgba(245, 245, 245, 0.72) !important;
}

.footer a:hover,
.shopify-section-group-footer-group a:hover {
  color: var(--ez-yellow) !important;
}

.footer,
.footer__content-top,
.footer__content-bottom {
  border-color: var(--ez-border-dark) !important;
}


/* =====================================================
   16. Responsive Collection / Product
   ===================================================== */

@media screen and (max-width: 989px) {
  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 260px !important;
    min-height: 260px !important;
  }
}

@media screen and (max-width: 749px) {
  .template-collection .collection-hero__inner,
  .template-collection .facets-wrapper,
  .template-collection .product-grid-container,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .facets-wrapper,
  body:has(.collection-hero) .product-grid-container {
    width: calc(100% - 32px) !important;
  }

  .template-collection .collection-hero,
  body:has(.collection-hero) .collection-hero {
    padding: 36px 0 24px !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    font-size: 34px !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 220px !important;
    min-height: 220px !important;
  }

  .template-collection .product-card-wrapper .card > .card__content,
  body:has(.collection-hero) .product-card-wrapper .card > .card__content {
    padding: 12px 10px 16px !important;
  }

  .template-collection .product-card-wrapper .card__heading,
  body:has(.collection-hero) .product-card-wrapper .card__heading {
    font-size: 12px !important;
    min-height: 34px !important;
  }

  .template-collection .product-card-wrapper .price,
  .template-collection .product-card-wrapper .price-item,
  body:has(.collection-hero) .product-card-wrapper .price,
  body:has(.collection-hero) .product-card-wrapper .price-item {
    font-size: 15px !important;
  }

  .template-product .product,
  body:has(.product__info-wrapper) .product {
    padding: 28px 16px 48px !important;
  }

  .template-product .product__title h1,
  body:has(.product__info-wrapper) .product__title h1 {
    font-size: 30px !important;
  }
}


/* =====================================================
   17. Footer Hard Fix - Always Black
   Must be the last block.
   ===================================================== */

/* Footer wrapper and every Dawn color wrapper inside footer */
.shopify-section-group-footer-group,
.shopify-section-group-footer-group *,
.shopify-section-group-footer-group .shopify-section,
.shopify-section-group-footer-group .section,
.shopify-section-group-footer-group .footer,
.shopify-section-group-footer-group footer,
.shopify-section-group-footer-group .gradient,
.shopify-section-group-footer-group .color-background-1,
.shopify-section-group-footer-group .color-background-2,
.shopify-section-group-footer-group .color-inverse,
.shopify-section-group-footer-group .page-width,
.shopify-section-group-footer-group .footer__content-top,
.shopify-section-group-footer-group .footer__content-bottom,
.shopify-section-group-footer-group .footer__content-bottom-wrapper,
.shopify-section-group-footer-group .footer-block,
.shopify-section-group-footer-group .newsletter,
.shopify-section-group-footer-group .newsletter__wrapper,
.footer,
.footer *,
footer,
footer * {
  background-color: #050505 !important;
}

/* Footer text */
.shopify-section-group-footer-group,
.shopify-section-group-footer-group h1,
.shopify-section-group-footer-group h2,
.shopify-section-group-footer-group h3,
.shopify-section-group-footer-group h4,
.shopify-section-group-footer-group p,
.shopify-section-group-footer-group a,
.shopify-section-group-footer-group span,
.shopify-section-group-footer-group small,
.shopify-section-group-footer-group label,
.shopify-section-group-footer-group .footer-block__heading,
.shopify-section-group-footer-group .newsletter__heading,
.shopify-section-group-footer-group .newsletter__subheading,
.shopify-section-group-footer-group .copyright__content,
.footer,
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer p,
.footer a,
.footer span,
.footer small,
.footer label,
.footer-block__heading,
.newsletter__heading,
.newsletter__subheading,
.copyright__content {
  color: #f5f5f5 !important;
}

/* Footer input and selectors */
.shopify-section-group-footer-group input,
.shopify-section-group-footer-group select,
.shopify-section-group-footer-group .field,
.shopify-section-group-footer-group .field__input,
.shopify-section-group-footer-group .select__select,
.shopify-section-group-footer-group .localization-form__select,
.shopify-section-group-footer-group .disclosure__button,
.footer input,
.footer select,
.footer .field,
.footer .field__input,
.footer .select__select,
.footer .localization-form__select,
.footer .disclosure__button {
  background-color: #111111 !important;
  color: #f5f5f5 !important;
  border-color: #2a2a2a !important;
}

/* Placeholder / label */
.shopify-section-group-footer-group input::placeholder,
.shopify-section-group-footer-group .field__label,
.footer input::placeholder,
.footer .field__label {
  color: rgba(245, 245, 245, 0.65) !important;
}

/* Footer buttons / submit arrow */
.shopify-section-group-footer-group .field__button,
.shopify-section-group-footer-group .newsletter-form__button,
.footer .field__button,
.footer .newsletter-form__button {
  background-color: transparent !important;
  color: #f5f5f5 !important;
}

/* Payment icons should not get black boxes */
.shopify-section-group-footer-group .list-payment,
.shopify-section-group-footer-group .list-payment *,
.shopify-section-group-footer-group .list-payment__item,
.footer .list-payment,
.footer .list-payment *,
.footer .list-payment__item {
  background-color: transparent !important;
}

/* Footer borders and hover */
.shopify-section-group-footer-group,
.footer,
.footer__content-top,
.footer__content-bottom {
  border-color: #2a2a2a !important;
}

.shopify-section-group-footer-group a:hover,
.footer a:hover {
  color: #FDDA24 !important;
}

/* Extra fallback: any footer-like section after MainContent */
body > footer,
body > footer *,
body .shopify-section[id*="footer"],
body .shopify-section[id*="footer"] *,
body .shopify-section[id*="Footer"],
body .shopify-section[id*="Footer"] * {
  background-color: #050505 !important;
  color: #f5f5f5 !important;
}


/* =====================================================
   18. Collection Page Redesign
   Cleaner filter bar + better product grid/card spacing.
   Must stay after previous collection styles.
   ===================================================== */

/* Collection page base */
.template-collection #MainContent,
body:has(.collection-hero) #MainContent {
  background: #ffffff !important;
}

/* Collection title area */
.template-collection .collection-hero,
body:has(.collection-hero) .collection-hero {
  background: #ffffff !important;
  padding: 64px 0 38px !important;
}

.template-collection .collection-hero__inner,
body:has(.collection-hero) .collection-hero__inner {
  max-width: 1280px !important;
  width: calc(100% - 64px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.template-collection .collection-hero__title,
body:has(.collection-hero) .collection-hero__title {
  margin: 0 !important;
  color: #111111 !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

/* Filter wrapper */
.template-collection .facets-wrapper,
body:has(.collection-hero) .facets-wrapper {
  max-width: 1280px !important;
  width: calc(100% - 64px) !important;
  margin: 0 auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Desktop filter bar */
.template-collection .facets-container,
body:has(.collection-hero) .facets-container {
  min-height: 58px !important;
  padding: 0 22px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;

  background: #f7f7f7 !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 0 !important;
  color: #111111 !important;
}

/* Remove oversized Dawn spacing */
.template-collection .facets,
.template-collection .facets__form,
.template-collection .facet-filters,
.template-collection .product-count,
body:has(.collection-hero) .facets,
body:has(.collection-hero) .facets__form,
body:has(.collection-hero) .facet-filters,
body:has(.collection-hero) .product-count {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #111111 !important;
}

/* Filter / Sort typography */
.template-collection .facets__heading,
.template-collection .facet-filters__label,
.template-collection .product-count__text,
.template-collection .facets__summary,
.template-collection .facets__summary span,
.template-collection .facet-filters__sort,
body:has(.collection-hero) .facets__heading,
body:has(.collection-hero) .facet-filters__label,
body:has(.collection-hero) .product-count__text,
body:has(.collection-hero) .facets__summary,
body:has(.collection-hero) .facets__summary span,
body:has(.collection-hero) .facet-filters__sort {
  color: #111111 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

/* Filter label stronger */
.template-collection .facets__heading,
.template-collection .facet-filters__label,
body:has(.collection-hero) .facets__heading,
body:has(.collection-hero) .facet-filters__label {
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

/* Select */
.template-collection .select__select,
.template-collection select,
body:has(.collection-hero) .select__select,
body:has(.collection-hero) select {
  min-height: 40px !important;
  padding: 0 34px 0 12px !important;
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Product grid container */
.template-collection .product-grid-container,
body:has(.collection-hero) .product-grid-container {
  max-width: 1280px !important;
  width: calc(100% - 64px) !important;
  margin: 0 auto !important;
  padding: 0 0 80px !important;
  background: #ffffff !important;
}

/* Desktop product grid: cleaner cards, not heavy table */
.template-collection .grid.product-grid,
body:has(.collection-hero) .grid.product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  border: none !important;
  background: #ffffff !important;
}

.template-collection .grid.product-grid .grid__item,
body:has(.collection-hero) .grid.product-grid .grid__item {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  border: none !important;
}

/* Product card visual */
.template-collection .product-card-wrapper .card,
body:has(.collection-hero) .product-card-wrapper .card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 0 !important;
  overflow: hidden !important;

  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

.template-collection .product-card-wrapper .card:hover,
body:has(.collection-hero) .product-card-wrapper .card:hover {
  transform: translateY(-2px) !important;
  border-color: #d8d8d8 !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.06) !important;
}

/* Product image area */
.template-collection .product-card-wrapper .card__inner,
body:has(.collection-hero) .product-card-wrapper .card__inner {
  height: 300px !important;
  min-height: 300px !important;
  background: #f8f8f8 !important;
  overflow: hidden !important;
}

/* Prevent Dawn text overlay from covering images */
.template-collection .product-card-wrapper .card__inner > .card__content,
body:has(.collection-hero) .product-card-wrapper .card__inner > .card__content {
  display: none !important;
}

/* Media */
.template-collection .product-card-wrapper .card__media,
.template-collection .product-card-wrapper .media,
body:has(.collection-hero) .product-card-wrapper .card__media,
body:has(.collection-hero) .product-card-wrapper .media {
  height: 100% !important;
  background: #f8f8f8 !important;
}

.template-collection .product-card-wrapper .card__media img,
.template-collection .product-card-wrapper .media img,
body:has(.collection-hero) .product-card-wrapper .card__media img,
body:has(.collection-hero) .product-card-wrapper .media img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}

/* Text area */
.template-collection .product-card-wrapper .card > .card__content,
body:has(.collection-hero) .product-card-wrapper .card > .card__content {
  flex: 1 1 auto !important;
  background: #ffffff !important;
  color: #111111 !important;
  padding: 18px 18px 20px !important;
  display: flex !important;
}

.template-collection .product-card-wrapper .card__information,
body:has(.collection-hero) .product-card-wrapper .card__information {
  width: 100% !important;
  min-height: 96px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Align product titles and prices */
.template-collection .product-card-wrapper .card__heading,
body:has(.collection-hero) .product-card-wrapper .card__heading {
  min-height: 40px !important;
  margin: 0 0 10px !important;

  color: #111111 !important;
  font-family: var(--ez-body-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.template-collection .product-card-wrapper .card__heading a,
body:has(.collection-hero) .product-card-wrapper .card__heading a {
  color: #111111 !important;
  text-decoration: none !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.template-collection .product-card-wrapper .price,
.template-collection .product-card-wrapper .price-item,
body:has(.collection-hero) .product-card-wrapper .price,
body:has(.collection-hero) .product-card-wrapper .price-item {
  margin-top: auto !important;
  color: #111111 !important;
  font-family: var(--ez-body-font) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

/* Mobile redesign */
@media screen and (max-width: 749px) {
  .template-collection .collection-hero,
  body:has(.collection-hero) .collection-hero {
    padding: 42px 0 26px !important;
  }

  .template-collection .collection-hero__inner,
  .template-collection .facets-wrapper,
  .template-collection .product-grid-container,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .facets-wrapper,
  body:has(.collection-hero) .product-grid-container {
    max-width: none !important;
    width: calc(100% - 32px) !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: 0.02em !important;
  }

  /* Mobile filter box */
  .template-collection .facets-wrapper,
  body:has(.collection-hero) .facets-wrapper {
    margin-bottom: 24px !important;
  }

  .template-collection .facets-container,
  body:has(.collection-hero) .facets-container {
    min-height: 54px !important;
    padding: 0 16px !important;
    background: #f7f7f7 !important;
    border: 1px solid #e5e5e5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .template-collection .mobile-facets__open,
  body:has(.collection-hero) .mobile-facets__open {
    color: #111111 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  .template-collection .mobile-facets__open svg,
  body:has(.collection-hero) .mobile-facets__open svg {
    color: #111111 !important;
  }

  .template-collection .product-count,
  body:has(.collection-hero) .product-count {
    margin-left: auto !important;
    text-align: right !important;
  }

  .template-collection .product-count__text,
  body:has(.collection-hero) .product-count__text {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #555555 !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    border: none !important;
  }

  .template-collection .grid.product-grid .grid__item,
  body:has(.collection-hero) .grid.product-grid .grid__item {
    border: none !important;
  }

  .template-collection .product-card-wrapper .card,
  body:has(.collection-hero) .product-card-wrapper .card {
    border: 1px solid #e5e5e5 !important;
    box-shadow: none !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 190px !important;
    min-height: 190px !important;
    background: #f8f8f8 !important;
  }

  .template-collection .product-card-wrapper .card__media img,
  .template-collection .product-card-wrapper .media img,
  body:has(.collection-hero) .product-card-wrapper .card__media img,
  body:has(.collection-hero) .product-card-wrapper .media img {
    padding: 10px !important;
  }

  .template-collection .product-card-wrapper .card > .card__content,
  body:has(.collection-hero) .product-card-wrapper .card > .card__content {
    padding: 12px 10px 14px !important;
  }

  .template-collection .product-card-wrapper .card__information,
  body:has(.collection-hero) .product-card-wrapper .card__information {
    min-height: 86px !important;
  }

  .template-collection .product-card-wrapper .card__heading,
  body:has(.collection-hero) .product-card-wrapper .card__heading {
    min-height: 36px !important;
    margin-bottom: 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .template-collection .product-card-wrapper .price,
  .template-collection .product-card-wrapper .price-item,
  body:has(.collection-hero) .product-card-wrapper .price,
  body:has(.collection-hero) .product-card-wrapper .price-item {
    font-size: 15px !important;
  }
}


/* =====================================================
   19. Collection Alignment V6
   Fix desktop/mobile alignment, filter bar wrapping, grid offset.
   Must be the last block.
   ===================================================== */

/* ---------- Desktop / General collection alignment ---------- */

.template-collection .collection-hero__inner,
.template-collection .facets-wrapper,
.template-collection .product-grid-container,
body:has(.collection-hero) .collection-hero__inner,
body:has(.collection-hero) .facets-wrapper,
body:has(.collection-hero) .product-grid-container {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Title */
.template-collection .collection-hero,
body:has(.collection-hero) .collection-hero {
  padding-top: 64px !important;
  padding-bottom: 40px !important;
}

.template-collection .collection-hero__title,
body:has(.collection-hero) .collection-hero__title {
  margin: 0 !important;
  max-width: 1280px !important;
  font-size: clamp(42px, 4.2vw, 58px) !important;
  line-height: 1 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}

/* Filter bar */
.template-collection .facets-wrapper,
body:has(.collection-hero) .facets-wrapper {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
  padding: 0 !important;
}

.template-collection .facets-container,
body:has(.collection-hero) .facets-container {
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center !important;
  column-gap: 32px !important;

  background: #f6f6f6 !important;
  border: 1px solid #e2e2e2 !important;
  color: #111111 !important;
}

/* Reset Dawn internal spacing that creates visual offset */
.template-collection .facets,
.template-collection .facets__form,
.template-collection .facets__wrapper,
.template-collection .facet-filters,
.template-collection .product-count,
body:has(.collection-hero) .facets,
body:has(.collection-hero) .facets__form,
body:has(.collection-hero) .facets__wrapper,
body:has(.collection-hero) .facet-filters,
body:has(.collection-hero) .product-count {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Left filter group */
.template-collection .facets__form,
body:has(.collection-hero) .facets__form {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center !important;
  width: 100% !important;
  gap: 28px !important;
}

.template-collection .facets__wrapper,
body:has(.collection-hero) .facets__wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  min-width: 0 !important;
}

/* Sort */
.template-collection .facet-filters,
body:has(.collection-hero) .facet-filters {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-self: end !important;
  min-width: 260px !important;
}

.template-collection .facet-filters__field,
body:has(.collection-hero) .facet-filters__field {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.template-collection .facet-filters__sort,
body:has(.collection-hero) .facet-filters__sort {
  min-width: 172px !important;
}

/* Product count */
.template-collection .product-count,
body:has(.collection-hero) .product-count {
  justify-self: end !important;
  min-width: 98px !important;
  text-align: right !important;
}

.template-collection .product-count__text,
body:has(.collection-hero) .product-count__text {
  white-space: nowrap !important;
  color: #555555 !important;
  font-weight: 700 !important;
}

/* Product grid: remove all Dawn offset/margins */
.template-collection .product-grid-container,
body:has(.collection-hero) .product-grid-container {
  margin-top: 0 !important;
  padding: 0 0 80px !important;
  overflow: visible !important;
}

.template-collection .grid.product-grid,
body:has(.collection-hero) .grid.product-grid {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;

  justify-content: start !important;
  justify-items: stretch !important;
  align-items: stretch !important;

  border: none !important;
  background: #ffffff !important;
}

.template-collection .grid.product-grid .grid__item,
body:has(.collection-hero) .grid.product-grid .grid__item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Card image and text */
.template-collection .product-card-wrapper .card__inner,
body:has(.collection-hero) .product-card-wrapper .card__inner {
  height: 300px !important;
  min-height: 300px !important;
  background: #f8f8f8 !important;
}

.template-collection .product-card-wrapper .card__media img,
.template-collection .product-card-wrapper .media img,
body:has(.collection-hero) .product-card-wrapper .card__media img,
body:has(.collection-hero) .product-card-wrapper .media img {
  padding: 16px !important;
  object-fit: contain !important;
}

.template-collection .product-card-wrapper .card > .card__content,
body:has(.collection-hero) .product-card-wrapper .card > .card__content {
  padding: 18px 18px 22px !important;
}

.template-collection .product-card-wrapper .card__information,
body:has(.collection-hero) .product-card-wrapper .card__information {
  min-height: 98px !important;
}

.template-collection .product-card-wrapper .card__heading,
body:has(.collection-hero) .product-card-wrapper .card__heading {
  min-height: 40px !important;
  margin-bottom: 10px !important;
}

.template-collection .product-card-wrapper .price,
.template-collection .product-card-wrapper .price-item,
body:has(.collection-hero) .product-card-wrapper .price,
body:has(.collection-hero) .product-card-wrapper .price-item {
  margin-top: auto !important;
}

/* ---------- Tablet ---------- */

@media screen and (min-width: 750px) and (max-width: 989px) {
  .template-collection .collection-hero__inner,
  .template-collection .facets-wrapper,
  .template-collection .product-grid-container,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .facets-wrapper,
  body:has(.collection-hero) .product-grid-container {
    width: calc(100% - 48px) !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

/* ---------- Mobile collection redesign ---------- */

@media screen and (max-width: 749px) {
  .template-collection .collection-hero,
  body:has(.collection-hero) .collection-hero {
    padding: 34px 0 22px !important;
  }

  .template-collection .collection-hero__inner,
  .template-collection .facets-wrapper,
  .template-collection .product-grid-container,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .facets-wrapper,
  body:has(.collection-hero) .product-grid-container {
    max-width: none !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    font-size: 30px !important;
    line-height: 1.04 !important;
    letter-spacing: 0.045em !important;
    white-space: normal !important;
  }

  /* Mobile filter bar: no ugly wrapping */
  .template-collection .facets-wrapper,
  body:has(.collection-hero) .facets-wrapper {
    margin-bottom: 22px !important;
  }

  .template-collection .facets-container,
  body:has(.collection-hero) .facets-container {
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;

    background: #f6f6f6 !important;
    border: 1px solid #e2e2e2 !important;
  }

  .template-collection .mobile-facets__wrapper,
  body:has(.collection-hero) .mobile-facets__wrapper {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .template-collection .mobile-facets__open,
  body:has(.collection-hero) .mobile-facets__open {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;

    color: #111111 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  .template-collection .mobile-facets__open-label,
  body:has(.collection-hero) .mobile-facets__open-label {
    display: inline-block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 150px !important;
    color: #111111 !important;
  }

  .template-collection .mobile-facets__open svg,
  body:has(.collection-hero) .mobile-facets__open svg {
    flex: 0 0 auto !important;
    color: #111111 !important;
  }

  .template-collection .product-count,
  body:has(.collection-hero) .product-count {
    min-width: 86px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: end !important;
    text-align: right !important;
  }

  .template-collection .product-count__text,
  body:has(.collection-hero) .product-count__text {
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #555555 !important;
  }

  .template-collection .product-count__text span,
  body:has(.collection-hero) .product-count__text span {
    white-space: nowrap !important;
  }

  /* Mobile grid alignment */
  .template-collection .product-grid-container,
  body:has(.collection-hero) .product-grid-container {
    padding-bottom: 64px !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    border: none !important;
  }

  .template-collection .grid.product-grid .grid__item,
  body:has(.collection-hero) .grid.product-grid .grid__item {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  .template-collection .product-card-wrapper .card,
  body:has(.collection-hero) .product-card-wrapper .card {
    border: 1px solid #e5e5e5 !important;
    background: #ffffff !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 180px !important;
    min-height: 180px !important;
    background: #f8f8f8 !important;
  }

  .template-collection .product-card-wrapper .card__media img,
  .template-collection .product-card-wrapper .media img,
  body:has(.collection-hero) .product-card-wrapper .card__media img,
  body:has(.collection-hero) .product-card-wrapper .media img {
    padding: 10px !important;
  }

  .template-collection .product-card-wrapper .card > .card__content,
  body:has(.collection-hero) .product-card-wrapper .card > .card__content {
    padding: 12px 10px 14px !important;
  }

  .template-collection .product-card-wrapper .card__information,
  body:has(.collection-hero) .product-card-wrapper .card__information {
    min-height: 90px !important;
  }

  .template-collection .product-card-wrapper .card__heading,
  body:has(.collection-hero) .product-card-wrapper .card__heading {
    min-height: 38px !important;
    margin-bottom: 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .template-collection .product-card-wrapper .price,
  .template-collection .product-card-wrapper .price-item,
  body:has(.collection-hero) .product-card-wrapper .price,
  body:has(.collection-hero) .product-card-wrapper .price-item {
    font-size: 15px !important;
    line-height: 1.15 !important;
  }
}


/* =====================================================
   20. Collection No Filter V7
   Small catalog layout: hide filter/sort bar completely.
   Title and product grid share the same alignment.
   Must be the last block.
   ===================================================== */

/* Hide all collection filter / sort / count UI */
.template-collection .facets-wrapper,
.template-collection .facets-container,
.template-collection facet-filters-form,
.template-collection .facets,
.template-collection .facets__form,
.template-collection .facets__wrapper,
.template-collection .facet-filters,
.template-collection .product-count,
.template-collection .mobile-facets__wrapper,
.template-collection .mobile-facets__open,
body:has(.collection-hero) .facets-wrapper,
body:has(.collection-hero) .facets-container,
body:has(.collection-hero) facet-filters-form,
body:has(.collection-hero) .facets,
body:has(.collection-hero) .facets__form,
body:has(.collection-hero) .facets__wrapper,
body:has(.collection-hero) .facet-filters,
body:has(.collection-hero) .product-count,
body:has(.collection-hero) .mobile-facets__wrapper,
body:has(.collection-hero) .mobile-facets__open {
  display: none !important;
}

/* Desktop title + product grid alignment */
.template-collection .collection-hero,
body:has(.collection-hero) .collection-hero {
  padding: 72px 0 44px !important;
  background: #ffffff !important;
}

.template-collection .collection-hero__inner,
.template-collection .product-grid-container,
body:has(.collection-hero) .collection-hero__inner,
body:has(.collection-hero) .product-grid-container {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.template-collection .collection-hero__title,
body:has(.collection-hero) .collection-hero__title {
  margin: 0 !important;
  color: #111111 !important;
  font-size: clamp(42px, 4vw, 60px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}

/* Product area moves directly under title */
.template-collection .product-grid-container,
body:has(.collection-hero) .product-grid-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 88px !important;
  background: #ffffff !important;
}

/* Clean product grid */
.template-collection .grid.product-grid,
body:has(.collection-hero) .grid.product-grid {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;

  border: none !important;
  background: #ffffff !important;
  list-style: none !important;
}

.template-collection .grid.product-grid .grid__item,
body:has(.collection-hero) .grid.product-grid .grid__item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Product card */
.template-collection .product-card-wrapper .card,
body:has(.collection-hero) .product-card-wrapper .card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  box-shadow: none !important;
}

.template-collection .product-card-wrapper .card:hover,
body:has(.collection-hero) .product-card-wrapper .card:hover {
  transform: translateY(-2px) !important;
  border-color: #d8d8d8 !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.06) !important;
}

/* Product image area */
.template-collection .product-card-wrapper .card__inner,
body:has(.collection-hero) .product-card-wrapper .card__inner {
  height: 300px !important;
  min-height: 300px !important;
  background: #f8f8f8 !important;
  overflow: hidden !important;
}

/* Never let Dawn's inner content cover image */
.template-collection .product-card-wrapper .card__inner > .card__content,
body:has(.collection-hero) .product-card-wrapper .card__inner > .card__content {
  display: none !important;
}

/* Product image */
.template-collection .product-card-wrapper .card__media,
.template-collection .product-card-wrapper .media,
body:has(.collection-hero) .product-card-wrapper .card__media,
body:has(.collection-hero) .product-card-wrapper .media {
  height: 100% !important;
  background: #f8f8f8 !important;
}

.template-collection .product-card-wrapper .card__media img,
.template-collection .product-card-wrapper .media img,
body:has(.collection-hero) .product-card-wrapper .card__media img,
body:has(.collection-hero) .product-card-wrapper .media img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

/* Product text alignment */
.template-collection .product-card-wrapper .card > .card__content,
body:has(.collection-hero) .product-card-wrapper .card > .card__content {
  flex: 1 1 auto !important;
  display: flex !important;
  background: #ffffff !important;
  color: #111111 !important;
  padding: 18px 18px 22px !important;
}

.template-collection .product-card-wrapper .card__information,
body:has(.collection-hero) .product-card-wrapper .card__information {
  width: 100% !important;
  min-height: 98px !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.template-collection .product-card-wrapper .card__heading,
body:has(.collection-hero) .product-card-wrapper .card__heading {
  min-height: 40px !important;
  margin: 0 0 10px !important;

  color: #111111 !important;
  font-family: var(--ez-body-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.template-collection .product-card-wrapper .card__heading a,
body:has(.collection-hero) .product-card-wrapper .card__heading a {
  color: #111111 !important;
  text-decoration: none !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.template-collection .product-card-wrapper .price,
.template-collection .product-card-wrapper .price-item,
body:has(.collection-hero) .product-card-wrapper .price,
body:has(.collection-hero) .product-card-wrapper .price-item {
  margin-top: auto !important;
  color: #111111 !important;
  font-family: var(--ez-body-font) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

/* Tablet */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .template-collection .collection-hero__inner,
  .template-collection .product-grid-container,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .product-grid-container {
    width: calc(100% - 48px) !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 250px !important;
    min-height: 250px !important;
  }
}

/* Mobile */
@media screen and (max-width: 749px) {
  .template-collection .collection-hero,
  body:has(.collection-hero) .collection-hero {
    padding: 36px 0 24px !important;
  }

  .template-collection .collection-hero__inner,
  .template-collection .product-grid-container,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .product-grid-container {
    max-width: none !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    font-size: 30px !important;
    line-height: 1.04 !important;
    letter-spacing: 0.045em !important;
    white-space: normal !important;
  }

  .template-collection .product-grid-container,
  body:has(.collection-hero) .product-grid-container {
    padding-bottom: 64px !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    border: none !important;
  }

  .template-collection .grid.product-grid .grid__item,
  body:has(.collection-hero) .grid.product-grid .grid__item {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  .template-collection .product-card-wrapper .card,
  body:has(.collection-hero) .product-card-wrapper .card {
    border: 1px solid #e5e5e5 !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 178px !important;
    min-height: 178px !important;
    background: #f8f8f8 !important;
  }

  .template-collection .product-card-wrapper .card__media img,
  .template-collection .product-card-wrapper .media img,
  body:has(.collection-hero) .product-card-wrapper .card__media img,
  body:has(.collection-hero) .product-card-wrapper .media img {
    padding: 10px !important;
  }

  .template-collection .product-card-wrapper .card > .card__content,
  body:has(.collection-hero) .product-card-wrapper .card > .card__content {
    padding: 12px 10px 14px !important;
  }

  .template-collection .product-card-wrapper .card__information,
  body:has(.collection-hero) .product-card-wrapper .card__information {
    min-height: 90px !important;
  }

  .template-collection .product-card-wrapper .card__heading,
  body:has(.collection-hero) .product-card-wrapper .card__heading {
    min-height: 38px !important;
    margin-bottom: 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .template-collection .product-card-wrapper .price,
  .template-collection .product-card-wrapper .price-item,
  body:has(.collection-hero) .product-card-wrapper .price,
  body:has(.collection-hero) .product-card-wrapper .price-item {
    font-size: 15px !important;
    line-height: 1.15 !important;
  }
}


/* =====================================================
   21. Header Full Width Fix V8
   Header black bar must extend edge-to-edge.
   Must be the last block.
   ===================================================== */

.shopify-section-group-header-group,
.section-header,
sticky-header,
.header-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #111111 !important;
}

/* Force full-bleed header even if Dawn/editor wraps it in a centered container */
.header-wrapper {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background: #111111 !important;
}

/* Header content full width, content stays aligned with padding */
.header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #111111 !important;
}

@media screen and (min-width: 750px) {
  .header {
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    min-height: 64px !important;
    padding-left: 44px !important;
    padding-right: 44px !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 749px) {
  .header-wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .header {
    width: 100% !important;
    max-width: none !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
}


/* =====================================================
   22. Footer Redesign V9
   Cleaner footer layout + softer inputs/selectors.
   Note: footer menu columns must be added in Shopify footer settings.
   Must be the last block.
   ===================================================== */

.shopify-section-group-footer-group,
.shopify-section-group-footer-group .shopify-section,
.footer,
footer {
  width: 100% !important;
  max-width: none !important;
  background: #050505 !important;
  color: #f5f5f5 !important;
  border-top: 1px solid #202020 !important;
}

/* Main footer spacing */
.footer {
  padding: 0 !important;
}

.footer .page-width,
.shopify-section-group-footer-group .page-width {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}

/* Footer upper content */
.footer__content-top {
  padding-top: 64px !important;
  padding-bottom: 42px !important;
  border-bottom: 1px solid #202020 !important;
}

/* If footer has menu blocks, make them neat columns */
.footer__blocks-wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 48px !important;
  margin: 0 !important;
}

.footer-block {
  margin: 0 !important;
}

.footer-block__heading,
.footer h2,
.footer h3,
.newsletter__heading {
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-family: var(--ez-body-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.footer-block__details-content,
.footer-block__details-content .list-menu__item--link {
  margin: 0 !important;
  padding: 0 !important;
}

.footer-block__details-content li {
  margin: 0 0 12px !important;
}

.footer-block__details-content a,
.footer p,
.footer .rte,
.footer span,
.footer small,
.footer .copyright__content {
  color: rgba(245, 245, 245, 0.66) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

.footer a:hover {
  color: #FDDA24 !important;
}

/* Newsletter block: make it less bulky */
.footer-block--newsletter {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 48px !important;
}

.footer-block--newsletter .footer-block__newsletter {
  max-width: 420px !important;
  width: 100% !important;
}

.newsletter__subheading {
  margin-top: 0 !important;
  color: rgba(245, 245, 245, 0.62) !important;
}

/* Email input: softer, not like a heavy black box */
.footer .newsletter-form,
.footer .newsletter-form__field-wrapper {
  max-width: 420px !important;
  width: 100% !important;
}

.footer .field,
.footer .newsletter-form__field-wrapper .field {
  height: 46px !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  box-shadow: none !important;
}

.footer .field::before,
.footer .field::after {
  display: none !important;
}

.footer .field__input,
.footer input {
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 52px 0 18px !important;
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 14px !important;
}

.footer .field__label,
.footer input::placeholder {
  color: rgba(245, 245, 245, 0.58) !important;
  font-size: 14px !important;
}

.footer .field__button,
.footer .newsletter-form__button {
  width: 46px !important;
  height: 46px !important;
  color: #ffffff !important;
  background: transparent !important;
}

/* Follow on Shop button */
.footer .footer__list-social,
.footer .list-social {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.footer .list-social__link {
  color: rgba(245, 245, 245, 0.62) !important;
}

.footer .list-social__link:hover {
  color: #FDDA24 !important;
}

/* Footer lower area */
.footer__content-bottom {
  padding-top: 34px !important;
  padding-bottom: 28px !important;
  border-top: none !important;
  background: #050505 !important;
}

.footer__content-bottom-wrapper {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 32px !important;
  background: transparent !important;
}

/* Country / language: less突兀 */
.footer__localization,
.footer .localization-form {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer .localization-form__select,
.footer .disclosure__button,
.footer select {
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 34px 0 14px !important;

  background: transparent !important;
  color: rgba(245, 245, 245, 0.78) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 13px !important;
  font-weight: 500 !important;
}

.footer .localization-form__select:hover,
.footer .disclosure__button:hover {
  border-color: rgba(253, 218, 36, 0.65) !important;
  color: #ffffff !important;
}

/* Payment icons */
.footer .list-payment {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.footer .list-payment__item,
.footer .list-payment__item * {
  background: transparent !important;
}

/* Copyright */
.footer__copyright {
  margin: 18px 0 0 !important;
  text-align: left !important;
}

.footer__copyright,
.footer__copyright .copyright__content,
.footer__copyright a {
  color: rgba(245, 245, 245, 0.42) !important;
  font-size: 12px !important;
}

/* Mobile footer */
@media screen and (max-width: 749px) {
  .footer .page-width,
  .shopify-section-group-footer-group .page-width {
    width: calc(100% - 32px) !important;
  }

  .footer__content-top {
    padding-top: 42px !important;
    padding-bottom: 30px !important;
  }

  .footer__blocks-wrapper {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-block--newsletter {
    display: block !important;
  }

  .footer-block--newsletter .footer-block__newsletter {
    max-width: none !important;
  }

  .footer .newsletter-form,
  .footer .newsletter-form__field-wrapper {
    max-width: none !important;
  }

  .footer__content-bottom {
    padding-top: 28px !important;
    padding-bottom: 26px !important;
  }

  .footer__content-bottom-wrapper {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .footer__localization,
  .footer .localization-form {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .footer .localization-form__select,
  .footer .disclosure__button,
  .footer select {
    min-width: 142px !important;
  }

  .footer .list-payment {
    justify-content: flex-start !important;
  }

  .footer__copyright {
    margin-top: 12px !important;
  }
}


/* =====================================================
   23. Footer NZXT-style V10
   Softer charcoal footer, not pure black.
   Hide Powered by Shopify.
   Must be the last block.
   ===================================================== */

:root {
  --ez-footer-bg: #181818;
  --ez-footer-bottom: #151515;
  --ez-footer-line: #2b2b2b;
  --ez-footer-text: rgba(245, 245, 245, 0.66);
  --ez-footer-heading: #f5f5f5;
}

/* Footer background: charcoal, not pure black */
.shopify-section-group-footer-group,
.shopify-section-group-footer-group .shopify-section,
.footer,
footer {
  width: 100% !important;
  max-width: none !important;
  background: var(--ez-footer-bg) !important;
  color: var(--ez-footer-text) !important;
  border-top: 1px solid var(--ez-footer-line) !important;
}

/* Avoid forcing every inner element to black */
.shopify-section-group-footer-group *,
.footer *,
footer * {
  background-color: transparent !important;
}

/* Footer container */
.footer .page-width,
.shopify-section-group-footer-group .page-width {
  max-width: 1360px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}

/* Top footer content */
.footer__content-top {
  padding-top: 64px !important;
  padding-bottom: 42px !important;
  background: var(--ez-footer-bg) !important;
  border-bottom: 1px solid var(--ez-footer-line) !important;
}

/* Menu columns like NZXT */
.footer__blocks-wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 64px !important;
  margin: 0 !important;
}

.footer-block {
  margin: 0 !important;
}

.footer-block__heading,
.footer h2,
.footer h3,
.newsletter__heading {
  margin: 0 0 18px !important;
  color: var(--ez-footer-heading) !important;
  font-family: var(--ez-body-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
}

.footer-block__details-content,
.footer-block__details-content .list-menu__item--link {
  margin: 0 !important;
  padding: 0 !important;
}

.footer-block__details-content li {
  margin: 0 0 12px !important;
}

.footer-block__details-content a,
.footer p,
.footer .rte,
.footer span,
.footer small,
.footer .copyright__content {
  color: var(--ez-footer-text) !important;
  font-family: var(--ez-body-font) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

.footer a:hover {
  color: #FDDA24 !important;
}

/* Newsletter row */
.footer-block--newsletter {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 56px !important;
  background: var(--ez-footer-bg) !important;
}

.footer-block--newsletter .footer-block__newsletter {
  max-width: 420px !important;
  width: 100% !important;
}

.newsletter__subheading {
  margin-top: 0 !important;
  color: var(--ez-footer-text) !important;
}

/* Email input: thinner and more premium */
.footer .newsletter-form,
.footer .newsletter-form__field-wrapper {
  max-width: 420px !important;
  width: 100% !important;
}

.footer .field,
.footer .newsletter-form__field-wrapper .field {
  height: 44px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  box-shadow: none !important;
}

.footer .field::before,
.footer .field::after {
  display: none !important;
}

.footer .field__input,
.footer input {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 52px 0 18px !important;
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 14px !important;
}

.footer .field__label,
.footer input::placeholder {
  color: rgba(245, 245, 245, 0.58) !important;
  font-size: 14px !important;
}

.footer .field__button,
.footer .newsletter-form__button {
  width: 44px !important;
  height: 44px !important;
  color: #ffffff !important;
  background: transparent !important;
}

/* Follow on Shop button stays visible but less floating */
.footer .shopify-policy__container,
.footer .shopify-section,
.footer .footer__follow-on-shop,
.footer .footer-block__newsletter + * {
  background: transparent !important;
}

/* Bottom footer area: slightly darker than top */
.footer__content-bottom {
  padding-top: 30px !important;
  padding-bottom: 28px !important;
  background: var(--ez-footer-bottom) !important;
  border-top: none !important;
}

.footer__content-bottom-wrapper {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 32px !important;
  background: transparent !important;
}

/* Country / language: subtle inline controls */
.footer__localization,
.footer .localization-form {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer .localization-form__select,
.footer .disclosure__button,
.footer select {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 30px 0 12px !important;

  background: rgba(255, 255, 255, 0.03) !important;
  color: rgba(245, 245, 245, 0.78) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 12px !important;
  font-weight: 500 !important;
}

.footer .localization-form__select:hover,
.footer .disclosure__button:hover {
  border-color: rgba(253, 218, 36, 0.65) !important;
  color: #ffffff !important;
}

/* Social icons */
.footer .footer__list-social,
.footer .list-social {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 20px 0 0 !important;
}

.footer .list-social__link {
  color: rgba(245, 245, 245, 0.58) !important;
  padding: 0 !important;
}

.footer .list-social__link:hover {
  color: #FDDA24 !important;
}

/* Payment icons */
.footer .list-payment {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.footer .list-payment__item,
.footer .list-payment__item * {
  background: transparent !important;
}

/* Copyright */
.footer__copyright {
  margin: 18px 0 0 !important;
  text-align: left !important;
  background: transparent !important;
}

.footer__copyright,
.footer__copyright .copyright__content,
.footer__copyright a {
  color: rgba(245, 245, 245, 0.42) !important;
  font-size: 12px !important;
}

/* Hide "Powered by Shopify" link */
.footer a[href*="shopify.com"],
.footer .powered-by-shopify,
.footer .powered_by_link,
.footer .copyright__content a[href*="shopify.com"],
.shopify-section-group-footer-group a[href*="shopify.com"] {
  display: none !important;
}

/* Clean up separators left around hidden powered-by link */
.footer__copyright .copyright__content {
  margin-right: 0 !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .footer .page-width,
  .shopify-section-group-footer-group .page-width {
    width: calc(100% - 32px) !important;
  }

  .footer__content-top {
    padding-top: 42px !important;
    padding-bottom: 32px !important;
  }

  .footer__blocks-wrapper {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-block--newsletter {
    display: block !important;
  }

  .footer-block--newsletter .footer-block__newsletter {
    max-width: none !important;
  }

  .footer .newsletter-form,
  .footer .newsletter-form__field-wrapper {
    max-width: none !important;
  }

  .footer__content-bottom {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }

  .footer__content-bottom-wrapper {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .footer__localization,
  .footer .localization-form {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .footer .localization-form__select,
  .footer .disclosure__button,
  .footer select {
    min-width: 138px !important;
  }

  .footer .list-payment {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .footer__copyright {
    margin-top: 12px !important;
  }
}


/* =====================================================
   24. Footer Structure Fix V11
   Clean NZXT-style footer.
   Hide newsletter row, fix narrow columns, prevent text wrapping.
   Must be the last block.
   ===================================================== */

/* Hide newsletter / subscribe row in footer */
.shopify-section-group-footer-group .footer-block--newsletter,
.shopify-section-group-footer-group .footer-block__newsletter,
.shopify-section-group-footer-group .newsletter-form,
.shopify-section-group-footer-group .newsletter__heading,
.shopify-section-group-footer-group .newsletter__subheading,
.footer .footer-block--newsletter,
.footer .footer-block__newsletter,
.footer .newsletter-form,
.footer .newsletter__heading,
.footer .newsletter__subheading {
  display: none !important;
}

/* Footer base */
.shopify-section-group-footer-group,
.footer,
footer {
  background: #181818 !important;
  color: rgba(245, 245, 245, 0.72) !important;
}

/* Footer container */
.footer .page-width,
.shopify-section-group-footer-group .page-width {
  max-width: 1360px !important;
  width: calc(100% - 96px) !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Top content spacing */
.footer__content-top {
  padding: 62px 0 42px !important;
  border-bottom: 1px solid #2a2a2a !important;
}

/* Kill Dawn grid widths that make columns too narrow */
.footer__blocks-wrapper,
.footer__blocks-wrapper.grid,
.footer .grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1.35fr !important;
  column-gap: 72px !important;
  row-gap: 32px !important;
  align-items: start !important;
  margin: 0 !important;
}

.footer-block,
.footer-block.grid__item,
.footer__blocks-wrapper .grid__item {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Headings */
.footer-block__heading,
.footer h2,
.footer h3 {
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
  white-space: nowrap !important;
  word-break: normal !important;
}

/* Menu list */
.footer-block__details-content {
  margin: 0 !important;
  padding: 0 !important;
}

.footer-block__details-content li {
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

.footer-block__details-content .list-menu__item--link,
.footer-block__details-content a,
.footer a {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;

  color: rgba(245, 245, 245, 0.64) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.footer-block__details-content .list-menu__item--link:hover,
.footer-block__details-content a:hover,
.footer a:hover {
  color: #FDDA24 !important;
}

/* Text block on the right */
.footer .rte,
.footer .rte p,
.footer-block__details-content.rte,
.footer-block__details-content.rte p {
  color: rgba(245, 245, 245, 0.64) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  max-width: 360px !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Bottom section */
.footer__content-bottom {
  padding: 26px 0 28px !important;
  background: #151515 !important;
  border-top: none !important;
}

.footer__content-bottom-wrapper {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 32px !important;
  background: transparent !important;
}

/* Localization */
.footer__localization,
.footer .localization-form {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer .localization-form__select,
.footer .disclosure__button,
.footer select {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 30px 0 12px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  color: rgba(245, 245, 245, 0.78) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  font-size: 12px !important;
}

/* Payment icons */
.footer .list-payment {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer .list-payment__item,
.footer .list-payment__item * {
  background: transparent !important;
}

/* Copyright and policies */
.footer__copyright {
  margin: 16px 0 0 !important;
  text-align: left !important;
}

.footer__copyright,
.footer__copyright .copyright__content,
.footer__copyright a,
.footer .policies,
.footer .policies a {
  color: rgba(245, 245, 245, 0.42) !important;
  font-size: 12px !important;
}

/* Hide Powered by Shopify */
.footer a[href*="shopify.com"],
.shopify-section-group-footer-group a[href*="shopify.com"],
.footer .powered-by-shopify,
.footer .powered_by_link,
.footer .copyright__content a[href*="shopify.com"] {
  display: none !important;
}

/* Mobile footer */
@media screen and (max-width: 749px) {
  .footer .page-width,
  .shopify-section-group-footer-group .page-width {
    width: calc(100% - 32px) !important;
  }

  .footer__content-top {
    padding: 40px 0 30px !important;
  }

  .footer__blocks-wrapper,
  .footer__blocks-wrapper.grid,
  .footer .grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-block__heading,
  .footer h2,
  .footer h3 {
    white-space: normal !important;
  }

  .footer-block__details-content li {
    margin-bottom: 10px !important;
  }

  .footer__content-bottom {
    padding: 24px 0 26px !important;
  }

  .footer__content-bottom-wrapper {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .footer__localization,
  .footer .localization-form {
    flex-wrap: wrap !important;
  }

  .footer .localization-form__select,
  .footer .disclosure__button,
  .footer select {
    min-width: 138px !important;
  }

  .footer .list-payment {
    justify-content: flex-start !important;
  }
}


/* =====================================================
   25. Footer Compact Layout Fix V12
   Fix huge vertical gaps and narrow footer menu text.
   Must be the last block.
   ===================================================== */

/* Footer background */
.shopify-section-group-footer-group,
.footer,
footer {
  background: #181818 !important;
  color: rgba(245, 245, 245, 0.72) !important;
}

/* Hide newsletter completely */
.shopify-section-group-footer-group .footer-block--newsletter,
.shopify-section-group-footer-group .footer-block__newsletter,
.shopify-section-group-footer-group .newsletter-form,
.shopify-section-group-footer-group .newsletter__heading,
.shopify-section-group-footer-group .newsletter__subheading,
.footer .footer-block--newsletter,
.footer .footer-block__newsletter,
.footer .newsletter-form,
.footer .newsletter__heading,
.footer .newsletter__subheading {
  display: none !important;
}

/* Container */
.footer .page-width,
.shopify-section-group-footer-group .page-width {
  max-width: 1360px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Footer top area */
.footer__content-top {
  padding: 56px 0 38px !important;
  border-bottom: 1px solid #2a2a2a !important;
}

/* Important: only footer blocks wrapper should be grid */
.footer__blocks-wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  column-gap: 64px !important;
  row-gap: 32px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Reset Dawn grid item behavior */
.footer-block,
.footer-block.grid__item,
.footer__blocks-wrapper .grid__item {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Footer headings */
.footer-block__heading,
.footer h2,
.footer h3 {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: var(--ez-body-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
}

/* This is the key fix: menu list must be compact, not Dawn grid spacing */
.footer-block__details-content,
.footer-block__details-content.list-unstyled {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 11px !important;

  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.footer-block__details-content li {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

.footer-block__details-content .list-menu__item,
.footer-block__details-content .list-menu__item--link,
.footer-block__details-content a {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;

  color: rgba(245, 245, 245, 0.66) !important;
  font-family: var(--ez-body-font) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.footer-block__details-content .list-menu__item:hover,
.footer-block__details-content .list-menu__item--link:hover,
.footer-block__details-content a:hover {
  color: #FDDA24 !important;
}

/* Text block */
.footer .rte,
.footer .rte p,
.footer-block__details-content.rte,
.footer-block__details-content.rte p {
  display: block !important;
  max-width: 360px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(245, 245, 245, 0.66) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

/* Social icons, if enabled */
.footer .list-social {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
}

/* Bottom */
.footer__content-bottom {
  padding: 24px 0 26px !important;
  background: #151515 !important;
  border-top: none !important;
}

.footer__content-bottom-wrapper {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 32px !important;
  background: transparent !important;
}

.footer__localization,
.footer .localization-form {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer .localization-form__select,
.footer .disclosure__button,
.footer select {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 30px 0 12px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  color: rgba(245, 245, 245, 0.78) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  font-size: 12px !important;
}

.footer .list-payment {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer__copyright {
  margin: 14px 0 0 !important;
  text-align: left !important;
}

.footer__copyright,
.footer__copyright .copyright__content,
.footer__copyright a,
.footer .policies,
.footer .policies a {
  color: rgba(245, 245, 245, 0.42) !important;
  font-size: 12px !important;
}

/* Hide Powered by Shopify */
.footer a[href*="shopify.com"],
.shopify-section-group-footer-group a[href*="shopify.com"],
.footer .powered-by-shopify,
.footer .powered_by_link,
.footer .copyright__content a[href*="shopify.com"] {
  display: none !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .footer .page-width,
  .shopify-section-group-footer-group .page-width {
    width: calc(100% - 32px) !important;
  }

  .footer__content-top {
    padding: 38px 0 30px !important;
  }

  .footer__blocks-wrapper {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-block__details-content {
    gap: 10px !important;
  }

  .footer__content-bottom {
    padding: 24px 0 26px !important;
  }

  .footer__content-bottom-wrapper {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .footer__localization,
  .footer .localization-form {
    flex-wrap: wrap !important;
  }

  .footer .localization-form__select,
  .footer .disclosure__button,
  .footer select {
    min-width: 138px !important;
  }

  .footer .list-payment {
    justify-content: flex-start !important;
  }
}


/* =====================================================
   26. Footer Flex Layout Fix V13
   Replace Dawn footer grid with compact flex columns.
   Fix excessive vertical gaps and unfinished layout.
   Must be the LAST block in ez-brand.css.
   ===================================================== */

/* Footer background */
.shopify-section-group-footer-group,
.shopify-section-group-footer-group .shopify-section,
.footer,
footer {
  background: #181818 !important;
  color: rgba(245, 245, 245, 0.72) !important;
  border-top: 1px solid #2a2a2a !important;
}

/* Hide newsletter / subscribe area completely */
.shopify-section-group-footer-group .footer-block--newsletter,
.shopify-section-group-footer-group .footer-block__newsletter,
.shopify-section-group-footer-group .newsletter-form,
.shopify-section-group-footer-group .newsletter__heading,
.shopify-section-group-footer-group .newsletter__subheading,
.footer .footer-block--newsletter,
.footer .footer-block__newsletter,
.footer .newsletter-form,
.footer .newsletter__heading,
.footer .newsletter__subheading {
  display: none !important;
}

/* Footer container */
.footer .page-width,
.shopify-section-group-footer-group .page-width {
  max-width: 1360px !important;
  width: calc(100% - 96px) !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}

/* Footer top */
.footer__content-top {
  padding: 56px 0 42px !important;
  background: #181818 !important;
  border-bottom: 1px solid #2a2a2a !important;
}

/* Replace Dawn grid with compact flex columns */
.footer__blocks-wrapper,
.footer__blocks-wrapper.grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  gap: 56px 96px !important;

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

/* Each footer block */
.footer-block,
.footer-block.grid__item,
.footer__blocks-wrapper .grid__item {
  flex: 0 1 210px !important;
  width: 210px !important;
  max-width: 260px !important;
  min-width: 180px !important;

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

  text-align: left !important;
}

/* Optional right-side brand text block can be wider */
.footer-block--text,
.footer-block--text.grid__item {
  flex-basis: 340px !important;
  width: 340px !important;
  max-width: 380px !important;
}

/* Headings */
.footer-block__heading,
.footer h2,
.footer h3 {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;

  color: #ffffff !important;
  font-family: var(--ez-body-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Menu list compact: this is the key */
.footer-block__details-content,
.footer-block__details-content.list-unstyled,
.footer-block__details-content.list-menu {
  display: block !important;

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

  list-style: none !important;
}

/* Force list items to normal compact rows */
.footer-block__details-content > li,
.footer .footer-block__details-content > li,
.footer-block__details-content li {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;

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

  line-height: 1.35 !important;
}

/* Force links to compact text */
.footer-block__details-content .list-menu__item,
.footer-block__details-content .list-menu__item--link,
.footer-block__details-content .link,
.footer-block__details-content a,
.footer .footer-block__details-content a,
.footer .list-menu__item--link {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;

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

  color: rgba(245, 245, 245, 0.66) !important;
  font-family: var(--ez-body-font) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Remove Dawn's default large menu padding pseudo behavior */
.footer-block__details-content .list-menu__item--active,
.footer-block__details-content .link--text {
  padding: 0 !important;
  margin: 0 !important;
}

.footer-block__details-content a:hover,
.footer .list-menu__item--link:hover {
  color: #FDDA24 !important;
}

/* Text block */
.footer .rte,
.footer .rte p,
.footer-block__details-content.rte,
.footer-block__details-content.rte p {
  display: block !important;
  max-width: 360px !important;

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

  color: rgba(245, 245, 245, 0.66) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

/* Social icons if enabled */
.footer .list-social {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;

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

.footer .list-social__link {
  padding: 0 !important;
  color: rgba(245, 245, 245, 0.58) !important;
}

.footer .list-social__link:hover {
  color: #FDDA24 !important;
}

/* Bottom footer */
.footer__content-bottom {
  padding: 24px 0 26px !important;
  background: #151515 !important;
  border-top: none !important;
}

.footer__content-bottom-wrapper {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 32px !important;

  background: transparent !important;
}

/* Country / Language */
.footer__localization,
.footer .localization-form {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;

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

.footer .localization-form__select,
.footer .disclosure__button,
.footer select {
  min-height: 34px !important;
  height: 34px !important;
  min-width: 118px !important;

  padding: 0 30px 0 12px !important;

  background: rgba(255, 255, 255, 0.03) !important;
  color: rgba(245, 245, 245, 0.78) !important;

  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 12px !important;
  font-weight: 500 !important;
}

/* Payment */
.footer .list-payment {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;

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

  background: transparent !important;
}

.footer .list-payment__item,
.footer .list-payment__item * {
  background: transparent !important;
}

/* Copyright */
.footer__copyright {
  margin: 14px 0 0 !important;
  text-align: left !important;
}

.footer__copyright,
.footer__copyright .copyright__content,
.footer__copyright a,
.footer .policies,
.footer .policies a {
  color: rgba(245, 245, 245, 0.42) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* Hide Powered by Shopify */
.footer a[href*="shopify.com"],
.shopify-section-group-footer-group a[href*="shopify.com"],
.footer .powered-by-shopify,
.footer .powered_by_link,
.footer .copyright__content a[href*="shopify.com"] {
  display: none !important;
}

/* Mobile footer */
@media screen and (max-width: 749px) {
  .footer .page-width,
  .shopify-section-group-footer-group .page-width {
    width: calc(100% - 32px) !important;
  }

  .footer__content-top {
    padding: 38px 0 30px !important;
  }

  .footer__blocks-wrapper,
  .footer__blocks-wrapper.grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  .footer-block,
  .footer-block.grid__item,
  .footer__blocks-wrapper .grid__item,
  .footer-block--text,
  .footer-block--text.grid__item {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  .footer-block__details-content > li,
  .footer-block__details-content li {
    margin-bottom: 10px !important;
  }

  .footer__content-bottom {
    padding: 24px 0 26px !important;
  }

  .footer__content-bottom-wrapper {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .footer .list-payment {
    justify-content: flex-start !important;
  }
}


/* =====================================================
   27. Mobile Footer Two-Column Fix V14
   On mobile, menu blocks become two columns.
   Text/brand blocks stay full width.
   Must be the LAST block.
   ===================================================== */

@media screen and (max-width: 749px) {
  /* Footer width */
  .footer .page-width,
  .shopify-section-group-footer-group .page-width {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .footer__content-top {
    padding: 36px 0 30px !important;
  }

  /* Key: mobile footer menu blocks side by side */
  .footer__blocks-wrapper,
  .footer__blocks-wrapper.grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 30px !important;
    align-items: start !important;

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

  .footer-block,
  .footer-block.grid__item,
  .footer__blocks-wrapper .grid__item {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    flex-basis: auto !important;

    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  /* Text / brand information should be full width */
  .footer-block--text,
  .footer-block--brand_information,
  .footer-block--image,
  .footer-block--newsletter {
    grid-column: 1 / -1 !important;
  }

  /* Keep newsletter hidden */
  .footer-block--newsletter,
  .footer-block__newsletter,
  .newsletter-form,
  .newsletter__heading,
  .newsletter__subheading {
    display: none !important;
  }

  /* Headings */
  .footer-block__heading,
  .footer h2,
  .footer h3 {
    margin: 0 0 14px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  /* Compact menu list */
  .footer-block__details-content,
  .footer-block__details-content.list-unstyled,
  .footer-block__details-content.list-menu {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .footer-block__details-content > li,
  .footer-block__details-content li {
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;

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

    line-height: 1.35 !important;
  }

  .footer-block__details-content .list-menu__item,
  .footer-block__details-content .list-menu__item--link,
  .footer-block__details-content a,
  .footer .footer-block__details-content a,
  .footer .list-menu__item--link {
    display: inline !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;

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

    color: rgba(245, 245, 245, 0.66) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  /* Bottom footer remains single column */
  .footer__content-bottom {
    padding: 24px 0 26px !important;
  }

  .footer__content-bottom-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .footer__localization,
  .footer .localization-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .footer .localization-form__select,
  .footer .disclosure__button,
  .footer select {
    min-width: 138px !important;
  }

  .footer .list-payment {
    justify-content: flex-start !important;
  }
}


/* =====================================================
   28. Collection Title + Header Dropdown Fix V15
   1) Align collection title with the first product card.
   2) Restore desktop Product dropdown to black background.
   Must be the LAST block.
   ===================================================== */

/* ---------- Collection title alignment ---------- */

/* Desktop: product card starts slightly inside the grid area, so title needs the same inset */
@media screen and (min-width: 990px) {
  .template-collection .collection-hero__inner,
  body:has(.collection-hero) .collection-hero__inner {
    max-width: 1280px !important;
    width: calc(100% - 96px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 50px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .template-collection .collection-hero__text-wrapper,
  body:has(.collection-hero) .collection-hero__text-wrapper {
    padding: 0 !important;
    margin: 0 !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
}

/* Tablet */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .template-collection .collection-hero__inner,
  body:has(.collection-hero) .collection-hero__inner {
    width: calc(100% - 48px) !important;
    padding-left: 18px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Mobile: align title with the product card border */
@media screen and (max-width: 749px) {
  .template-collection .collection-hero__inner,
  body:has(.collection-hero) .collection-hero__inner {
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .template-collection .collection-hero__text-wrapper,
  body:has(.collection-hero) .collection-hero__text-wrapper {
    padding: 0 !important;
    margin: 0 !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
}


/* ---------- Desktop header dropdown restore ---------- */

@media screen and (min-width: 990px) {
  .header__inline-menu details[open] > .header__submenu,
  .header__inline-menu .header__submenu,
  .header__submenu,
  .mega-menu__content,
  .mega-menu[open] .mega-menu__content,
  details[open] > .mega-menu__content {
    background: rgba(17, 17, 17, 0.98) !important;
    background-color: rgba(17, 17, 17, 0.98) !important;
    color: #f5f5f5 !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.42) !important;
    backdrop-filter: blur(10px) !important;
  }

  /* Mega menu content should not be a huge white panel */
  .mega-menu__content {
    left: auto !important;
    right: auto !important;
    width: auto !important;
    min-width: 320px !important;
    max-width: 360px !important;
    padding: 22px 28px !important;
  }

  .mega-menu__list,
  .header__submenu {
    background: transparent !important;
    background-color: transparent !important;
  }

  .mega-menu__list {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .mega-menu__list > li,
  .header__submenu > li {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
  }

  .mega-menu__list > li + li,
  .header__submenu > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .mega-menu__link,
  .mega-menu__link--level-2,
  .mega-menu__list a,
  .header__submenu a,
  .header__submenu .header__menu-item,
  .header__submenu summary,
  .header__submenu span {
    color: rgba(245, 245, 245, 0.78) !important;
    background: transparent !important;
    text-decoration: none !important;
    font-family: var(--ez-body-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.35 !important;
  }

  .mega-menu__link:hover,
  .mega-menu__link--level-2:hover,
  .mega-menu__list a:hover,
  .header__submenu a:hover,
  .header__submenu .header__menu-item:hover,
  .header__submenu summary:hover,
  .header__submenu a:hover span {
    color: #FDDA24 !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  .header__submenu .icon-caret,
  .header__submenu summary svg,
  .mega-menu__content .icon-caret,
  .mega-menu__content summary svg {
    display: none !important;
  }
}


/* =====================================================
   29. FINAL V16 - Collection Global Alignment + Header Dropdown
   Apply to ALL collection pages.
   This must stay as the LAST block.
   ===================================================== */

/* ---------- Collection title and product grid global alignment ---------- */

.template-collection .collection-hero,
body:has(.collection-hero) .collection-hero {
  background: #ffffff !important;
  margin: 0 !important;
  padding: 56px 0 32px !important;
  border: 0 !important;
}

/* Use the same outer width for title and product grid */
.template-collection .collection-hero__inner,
.template-collection .product-grid-container,
.template-collection .collection.page-width,
body:has(.collection-hero) .collection-hero__inner,
body:has(.collection-hero) .product-grid-container,
body:has(.collection-hero) .collection.page-width {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Remove old title offset from previous versions */
.template-collection .collection-hero__inner,
body:has(.collection-hero) .collection-hero__inner {
  padding-left: 0 !important;
}

/* Title inner wrapper */
.template-collection .collection-hero__text-wrapper,
body:has(.collection-hero) .collection-hero__text-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Title */
.template-collection .collection-hero__title,
body:has(.collection-hero) .collection-hero__title {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  color: #111111 !important;

  font-family: var(--ez-heading-font) !important;
  font-size: clamp(42px, 4vw, 60px) !important;
  line-height: 0.98 !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}

/* Hide filter/sort/count on all collection pages */
.template-collection .facets-wrapper,
.template-collection .facets-container,
.template-collection facet-filters-form,
.template-collection .facets,
.template-collection .facets__form,
.template-collection .facets__wrapper,
.template-collection .facet-filters,
.template-collection .product-count,
.template-collection .mobile-facets__wrapper,
.template-collection .mobile-facets__open,
body:has(.collection-hero) .facets-wrapper,
body:has(.collection-hero) .facets-container,
body:has(.collection-hero) facet-filters-form,
body:has(.collection-hero) .facets,
body:has(.collection-hero) .facets__form,
body:has(.collection-hero) .facets__wrapper,
body:has(.collection-hero) .facet-filters,
body:has(.collection-hero) .product-count,
body:has(.collection-hero) .mobile-facets__wrapper,
body:has(.collection-hero) .mobile-facets__open {
  display: none !important;
}

/* Product grid starts exactly under the title */
.template-collection .product-grid-container,
body:has(.collection-hero) .product-grid-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 88px !important;
  background: #ffffff !important;
}

.template-collection .grid.product-grid,
body:has(.collection-hero) .grid.product-grid {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;

  border: none !important;
  background: #ffffff !important;
  list-style: none !important;
}

.template-collection .grid.product-grid .grid__item,
body:has(.collection-hero) .grid.product-grid .grid__item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Collection product card */
.template-collection .product-card-wrapper .card,
body:has(.collection-hero) .product-card-wrapper .card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.template-collection .product-card-wrapper .card:hover,
body:has(.collection-hero) .product-card-wrapper .card:hover {
  transform: translateY(-2px) !important;
  border-color: #d8d8d8 !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.06) !important;
}

.template-collection .product-card-wrapper .card__inner,
body:has(.collection-hero) .product-card-wrapper .card__inner {
  height: 300px !important;
  min-height: 300px !important;
  background: #f8f8f8 !important;
  overflow: hidden !important;
}

.template-collection .product-card-wrapper .card__inner > .card__content,
body:has(.collection-hero) .product-card-wrapper .card__inner > .card__content {
  display: none !important;
}

.template-collection .product-card-wrapper .card__media,
.template-collection .product-card-wrapper .media,
body:has(.collection-hero) .product-card-wrapper .card__media,
body:has(.collection-hero) .product-card-wrapper .media {
  height: 100% !important;
  background: #f8f8f8 !important;
}

.template-collection .product-card-wrapper .card__media img,
.template-collection .product-card-wrapper .media img,
body:has(.collection-hero) .product-card-wrapper .card__media img,
body:has(.collection-hero) .product-card-wrapper .media img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

.template-collection .product-card-wrapper .card > .card__content,
body:has(.collection-hero) .product-card-wrapper .card > .card__content {
  flex: 1 1 auto !important;
  display: flex !important;
  background: #ffffff !important;
  color: #111111 !important;
  padding: 18px 18px 22px !important;
}

.template-collection .product-card-wrapper .card__information,
body:has(.collection-hero) .product-card-wrapper .card__information {
  width: 100% !important;
  min-height: 98px !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.template-collection .product-card-wrapper .card__heading,
body:has(.collection-hero) .product-card-wrapper .card__heading {
  min-height: 40px !important;
  margin: 0 0 10px !important;

  color: #111111 !important;
  font-family: var(--ez-body-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.template-collection .product-card-wrapper .card__heading a,
body:has(.collection-hero) .product-card-wrapper .card__heading a {
  color: #111111 !important;
  text-decoration: none !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.template-collection .product-card-wrapper .price,
.template-collection .product-card-wrapper .price-item,
body:has(.collection-hero) .product-card-wrapper .price,
body:has(.collection-hero) .product-card-wrapper .price-item {
  margin-top: auto !important;
  color: #111111 !important;
  font-family: var(--ez-body-font) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

/* Tablet */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .template-collection .collection-hero__inner,
  .template-collection .product-grid-container,
  .template-collection .collection.page-width,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .product-grid-container,
  body:has(.collection-hero) .collection.page-width {
    width: calc(100% - 48px) !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 250px !important;
    min-height: 250px !important;
  }
}

/* Mobile */
@media screen and (max-width: 749px) {
  .template-collection .collection-hero,
  body:has(.collection-hero) .collection-hero {
    padding: 32px 0 22px !important;
  }

  .template-collection .collection-hero__inner,
  .template-collection .product-grid-container,
  .template-collection .collection.page-width,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .product-grid-container,
  body:has(.collection-hero) .collection.page-width {
    max-width: none !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    font-size: 30px !important;
    line-height: 1.04 !important;
    letter-spacing: 0.045em !important;
    white-space: normal !important;
  }

  .template-collection .product-grid-container,
  body:has(.collection-hero) .product-grid-container {
    padding-bottom: 64px !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    border: none !important;
  }

  .template-collection .grid.product-grid .grid__item,
  body:has(.collection-hero) .grid.product-grid .grid__item {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  .template-collection .product-card-wrapper .card,
  body:has(.collection-hero) .product-card-wrapper .card {
    border: 1px solid #e5e5e5 !important;
  }

  .template-collection .product-card-wrapper .card__inner,
  body:has(.collection-hero) .product-card-wrapper .card__inner {
    height: 178px !important;
    min-height: 178px !important;
    background: #f8f8f8 !important;
  }

  .template-collection .product-card-wrapper .card__media img,
  .template-collection .product-card-wrapper .media img,
  body:has(.collection-hero) .product-card-wrapper .card__media img,
  body:has(.collection-hero) .product-card-wrapper .media img {
    padding: 10px !important;
  }

  .template-collection .product-card-wrapper .card > .card__content,
  body:has(.collection-hero) .product-card-wrapper .card > .card__content {
    padding: 12px 10px 14px !important;
  }

  .template-collection .product-card-wrapper .card__information,
  body:has(.collection-hero) .product-card-wrapper .card__information {
    min-height: 90px !important;
  }

  .template-collection .product-card-wrapper .card__heading,
  body:has(.collection-hero) .product-card-wrapper .card__heading {
    min-height: 38px !important;
    margin-bottom: 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .template-collection .product-card-wrapper .price,
  .template-collection .product-card-wrapper .price-item,
  body:has(.collection-hero) .product-card-wrapper .price,
  body:has(.collection-hero) .product-card-wrapper .price-item {
    font-size: 15px !important;
    line-height: 1.15 !important;
  }
}

/* ---------- Desktop header dropdown stays black ---------- */

@media screen and (min-width: 990px) {
  .header__inline-menu details[open] > .header__submenu,
  .header__inline-menu .header__submenu,
  .header__submenu,
  .mega-menu__content,
  .mega-menu[open] .mega-menu__content,
  details[open] > .mega-menu__content {
    background: rgba(17, 17, 17, 0.98) !important;
    background-color: rgba(17, 17, 17, 0.98) !important;
    color: #f5f5f5 !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.42) !important;
    backdrop-filter: blur(10px) !important;
  }

  .mega-menu__content {
    left: auto !important;
    right: auto !important;
    width: auto !important;
    min-width: 320px !important;
    max-width: 360px !important;
    padding: 22px 28px !important;
  }

  .mega-menu__list,
  .header__submenu {
    background: transparent !important;
    background-color: transparent !important;
  }

  .mega-menu__list {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .mega-menu__list > li,
  .header__submenu > li {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
  }

  .mega-menu__list > li + li,
  .header__submenu > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .mega-menu__link,
  .mega-menu__link--level-2,
  .mega-menu__list a,
  .header__submenu a,
  .header__submenu .header__menu-item,
  .header__submenu summary,
  .header__submenu span {
    color: rgba(245, 245, 245, 0.78) !important;
    background: transparent !important;
    text-decoration: none !important;
    font-family: var(--ez-body-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.35 !important;
  }

  .mega-menu__link:hover,
  .mega-menu__link--level-2:hover,
  .mega-menu__list a:hover,
  .header__submenu a:hover,
  .header__submenu .header__menu-item:hover,
  .header__submenu summary:hover,
  .header__submenu a:hover span {
    color: #FDDA24 !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  .header__submenu .icon-caret,
  .header__submenu summary svg,
  .mega-menu__content .icon-caret,
  .mega-menu__content summary svg {
    display: none !important;
  }
}


/* =====================================================
   30. FINAL V17 - Collection Real Alignment + Footer Policy Hide
   Must be the LAST block.
   ===================================================== */

/* ---------- Collection: title and product cards use the same real left edge ---------- */

/* Collection hero */
.template-collection .collection-hero,
body:has(.collection-hero) .collection-hero {
  background: #ffffff !important;
  margin: 0 !important;
  padding: 56px 0 32px !important;
  border: 0 !important;
}

/* Kill Dawn page-width padding in collection hero */
.template-collection .collection-hero .page-width,
.template-collection .collection-hero__inner,
.template-collection .collection-hero__text-wrapper,
body:has(.collection-hero) .collection-hero .page-width,
body:has(.collection-hero) .collection-hero__inner,
body:has(.collection-hero) .collection-hero__text-wrapper {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Kill Dawn page-width padding in product grid area */
.template-collection .product-grid-container,
.template-collection .collection,
.template-collection .collection.page-width,
.template-collection .main-collection-product-grid .page-width,
.template-collection #ProductGridContainer,
body:has(.collection-hero) .product-grid-container,
body:has(.collection-hero) .collection,
body:has(.collection-hero) .collection.page-width,
body:has(.collection-hero) .main-collection-product-grid .page-width,
body:has(.collection-hero) #ProductGridContainer {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
}

/* If Dawn has nested page-width inside collection, don't add another padding */
.template-collection .collection .page-width,
.template-collection #ProductGridContainer .page-width,
body:has(.collection-hero) .collection .page-width,
body:has(.collection-hero) #ProductGridContainer .page-width {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Title */
.template-collection .collection-hero__title,
body:has(.collection-hero) .collection-hero__title {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  color: #111111 !important;
  font-family: var(--ez-heading-font) !important;
  font-size: clamp(42px, 4vw, 60px) !important;
  line-height: 0.98 !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}

/* Product grid */
.template-collection .grid.product-grid,
body:has(.collection-hero) .grid.product-grid {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  border: none !important;
  background: #ffffff !important;
  list-style: none !important;
}

.template-collection .grid.product-grid .grid__item,
body:has(.collection-hero) .grid.product-grid .grid__item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Mobile collection alignment */
@media screen and (max-width: 749px) {
  .template-collection .collection-hero,
  body:has(.collection-hero) .collection-hero {
    padding: 32px 0 22px !important;
  }

  .template-collection .collection-hero .page-width,
  .template-collection .collection-hero__inner,
  .template-collection .collection-hero__text-wrapper,
  .template-collection .product-grid-container,
  .template-collection .collection,
  .template-collection .collection.page-width,
  .template-collection .main-collection-product-grid .page-width,
  .template-collection #ProductGridContainer,
  body:has(.collection-hero) .collection-hero .page-width,
  body:has(.collection-hero) .collection-hero__inner,
  body:has(.collection-hero) .collection-hero__text-wrapper,
  body:has(.collection-hero) .product-grid-container,
  body:has(.collection-hero) .collection,
  body:has(.collection-hero) .collection.page-width,
  body:has(.collection-hero) .main-collection-product-grid .page-width,
  body:has(.collection-hero) #ProductGridContainer {
    max-width: none !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .template-collection .collection-hero__title,
  body:has(.collection-hero) .collection-hero__title {
    font-size: 30px !important;
    line-height: 1.04 !important;
    letter-spacing: 0.045em !important;
    white-space: normal !important;
  }

  .template-collection .grid.product-grid,
  body:has(.collection-hero) .grid.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* ---------- Footer: hide refund / shipping policy links in copyright row ---------- */

.footer .policies li:has(a[href*="refund"]),
.footer .policies li:has(a[href*="shipping"]),
.footer .policies li:has(a[href*="refund-policy"]),
.footer .policies li:has(a[href*="shipping-policy"]),
.shopify-section-group-footer-group .policies li:has(a[href*="refund"]),
.shopify-section-group-footer-group .policies li:has(a[href*="shipping"]),
.shopify-section-group-footer-group .policies li:has(a[href*="refund-policy"]),
.shopify-section-group-footer-group .policies li:has(a[href*="shipping-policy"]) {
  display: none !important;
}

/* Extra fallback if Dawn renders policies as direct anchors */
.footer .policies a[href*="refund"],
.footer .policies a[href*="shipping"],
.footer .policies a[href*="refund-policy"],
.footer .policies a[href*="shipping-policy"],
.footer a[href*="/policies/refund"],
.footer a[href*="/policies/shipping"],
.shopify-section-group-footer-group .policies a[href*="refund"],
.shopify-section-group-footer-group .policies a[href*="shipping"],
.shopify-section-group-footer-group a[href*="/policies/refund"],
.shopify-section-group-footer-group a[href*="/policies/shipping"] {
  display: none !important;
}

/* Keep remaining policy links clean */
.footer .policies,
.shopify-section-group-footer-group .policies {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 12px !important;
  align-items: center !important;
}

.footer .policies li,
.shopify-section-group-footer-group .policies li {
  margin: 0 !important;
  padding: 0 !important;
}

.footer .policies li::before,
.shopify-section-group-footer-group .policies li::before {
  margin: 0 10px 0 0 !important;
}


/* =====================================================
   31. FINAL V21 - Product Page Minimal Stable Reset
   目的：先把產品頁救回穩定，不再用 CSS 假縮圖或硬改 JS 行為。
   重要：縮圖點擊切換主圖，必須靠 Dawn / Shopify 產品媒體設定，不靠 CSS。
   Must be the LAST block in ez-brand.css.
   ===================================================== */


/* ---------- Header must stay black ---------- */

.shopify-section-group-header-group,
.section-header,
.header-wrapper,
sticky-header,
.header {
  background: #111111 !important;
  background-color: #111111 !important;
}

.header,
.header a,
.header span,
.header .header__menu-item,
.header .list-menu__item,
.header .localization-form__select,
.header .disclosure__button,
.header__icon {
  color: #f5f5f5 !important;
}

.header__active-menu-item,
.header__menu-item:hover,
.header__menu-item:hover span {
  color: #FDDA24 !important;
}

.header svg,
.header .icon,
.header .svg-wrapper {
  color: #f5f5f5 !important;
}


/* ---------- Product page background only ---------- */

.template-product #MainContent,
.template-product #MainContent main,
.template-product #MainContent .shopify-section,
.template-product #MainContent .gradient,
.template-product #MainContent .color-background-1,
.template-product #MainContent .color-background-2,
.template-product #MainContent .section,
.template-product #MainContent .page-width,
body:has(.product__info-wrapper) #MainContent,
body:has(.product__info-wrapper) #MainContent main,
body:has(.product__info-wrapper) #MainContent .shopify-section,
body:has(.product__info-wrapper) #MainContent .gradient,
body:has(.product__info-wrapper) #MainContent .color-background-1,
body:has(.product__info-wrapper) #MainContent .color-background-2,
body:has(.product__info-wrapper) #MainContent .section,
body:has(.product__info-wrapper) #MainContent .page-width {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
}


/* ---------- Product main layout: left media / right info ---------- */

.template-product #MainContent .product,
body:has(.product__info-wrapper) #MainContent .product {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin: 0 auto !important;
  padding: 46px 0 80px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 56%) minmax(360px, 44%) !important;
  gap: 64px !important;
  align-items: start !important;

  background: #ffffff !important;
  color: #111111 !important;
  box-sizing: border-box !important;
}

.template-product #MainContent .product__media-wrapper,
.template-product #MainContent .product__info-wrapper,
body:has(.product__info-wrapper) #MainContent .product__media-wrapper,
body:has(.product__info-wrapper) #MainContent .product__info-wrapper {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  color: #111111 !important;
}


/* ---------- Media appearance only: DO NOT fake thumbnails ---------- */

.template-product #MainContent .product-media-container,
.template-product #MainContent .product__media,
.template-product #MainContent .product__media .media,
body:has(.product__info-wrapper) #MainContent .product-media-container,
body:has(.product__info-wrapper) #MainContent .product__media,
body:has(.product__info-wrapper) #MainContent .product__media .media {
  background: #f5f5f5 !important;
  border: 1px solid #e2e2e2 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.template-product #MainContent .product__media .media,
body:has(.product__info-wrapper) #MainContent .product__media .media {
  min-height: 520px !important;
  height: 520px !important;
}

.template-product #MainContent .product__media img,
body:has(.product__info-wrapper) #MainContent .product__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 28px !important;
  box-sizing: border-box !important;
  background: #f5f5f5 !important;
}

/* Native Dawn thumbnail slider styling, only if Shopify renders it */
.template-product #MainContent .thumbnail-slider,
body:has(.product__info-wrapper) #MainContent .thumbnail-slider {
  margin-top: 14px !important;
  background: #ffffff !important;
}

.template-product #MainContent .thumbnail-list,
body:has(.product__info-wrapper) #MainContent .thumbnail-list {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.template-product #MainContent .thumbnail-list__item,
body:has(.product__info-wrapper) #MainContent .thumbnail-list__item {
  flex: 0 0 62px !important;
  width: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
  height: 62px !important;
}

.template-product #MainContent .thumbnail,
body:has(.product__info-wrapper) #MainContent .thumbnail {
  width: 62px !important;
  height: 62px !important;
  padding: 4px !important;
  background: #f5f5f5 !important;
  border: 1px solid #dddddd !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.template-product #MainContent .thumbnail[aria-current="true"],
.template-product #MainContent .thumbnail:hover,
body:has(.product__info-wrapper) #MainContent .thumbnail[aria-current="true"],
body:has(.product__info-wrapper) #MainContent .thumbnail:hover {
  border-color: #111111 !important;
}


/* ---------- Product info styling only; do not hard reorder blocks ---------- */

.template-product #MainContent .product__info-container,
body:has(.product__info-wrapper) #MainContent .product__info-container {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 6px 0 0 !important;
  background: #ffffff !important;
  color: #111111 !important;

  position: sticky !important;
  top: 92px !important;
}

/* Title */
.template-product #MainContent .product__title,
body:has(.product__info-wrapper) #MainContent .product__title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.template-product #MainContent .product__title h1,
body:has(.product__info-wrapper) #MainContent .product__title h1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;

  margin: 0 !important;
  color: #111111 !important;
  font-family: var(--ez-heading-font, Arial, sans-serif) !important;
  font-size: clamp(30px, 2.55vw, 42px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  max-width: 14ch !important;
}

/* Price */
.template-product #MainContent .price,
.template-product #MainContent .price__container,
body:has(.product__info-wrapper) #MainContent .price,
body:has(.product__info-wrapper) #MainContent .price__container {
  margin: 0 0 14px !important;
  color: #111111 !important;
}

.template-product #MainContent .price-item,
body:has(.product__info-wrapper) #MainContent .price-item {
  color: #111111 !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
}

/* Description */
.template-product #MainContent .product__description,
body:has(.product__info-wrapper) #MainContent .product__description {
  margin: 18px 0 24px !important;
  padding: 18px 0 20px !important;
  border-top: 1px solid #dddddd !important;
  border-bottom: 1px solid #dddddd !important;
  color: #222222 !important;
}

.template-product #MainContent .product__description p,
.template-product #MainContent .product__description li,
body:has(.product__info-wrapper) #MainContent .product__description p,
body:has(.product__info-wrapper) #MainContent .product__description li {
  color: #222222 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.template-product #MainContent .product__description ul,
.template-product #MainContent .product__description ol,
body:has(.product__info-wrapper) #MainContent .product__description ul,
body:has(.product__info-wrapper) #MainContent .product__description ol {
  margin: 0 !important;
  padding-left: 20px !important;
}

/* Tax / shipping text */
.template-product #MainContent .product__tax,
.template-product #MainContent .product__text,
.template-product #MainContent .caption-with-letter-spacing,
.template-product #MainContent .form__label,
body:has(.product__info-wrapper) #MainContent .product__tax,
body:has(.product__info-wrapper) #MainContent .product__text,
body:has(.product__info-wrapper) #MainContent .caption-with-letter-spacing,
body:has(.product__info-wrapper) #MainContent .form__label {
  color: #666666 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.template-product #MainContent .product__tax a,
body:has(.product__info-wrapper) #MainContent .product__tax a {
  color: #9a8200 !important;
  text-decoration: underline !important;
}

/* Variant pills */
.template-product #MainContent .product-form__input,
body:has(.product__info-wrapper) #MainContent .product-form__input {
  margin: 0 0 18px !important;
}

.template-product #MainContent .product-form__input .form__label,
body:has(.product__info-wrapper) #MainContent .product-form__input .form__label {
  margin: 0 0 10px !important;
  color: #555555 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.template-product #MainContent .product-form__input input[type="radio"] + label,
body:has(.product__info-wrapper) #MainContent .product-form__input input[type="radio"] + label {
  min-width: 76px !important;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid #cccccc !important;
  background: #ffffff !important;
  color: #111111 !important;
  box-shadow: none !important;

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

  font-size: 13px !important;
  font-weight: 600 !important;
}

.template-product #MainContent .product-form__input input[type="radio"]:checked + label,
body:has(.product__info-wrapper) #MainContent .product-form__input input[type="radio"]:checked + label {
  background: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
}

/* Quantity + buttons */
.template-product #MainContent .quantity,
body:has(.product__info-wrapper) #MainContent .quantity {
  min-height: 44px !important;
  width: 148px !important;
  border: 1px solid #cccccc !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.template-product #MainContent .quantity__button,
.template-product #MainContent .quantity__input,
body:has(.product__info-wrapper) #MainContent .quantity__button,
body:has(.product__info-wrapper) #MainContent .quantity__input {
  color: #111111 !important;
  background: transparent !important;
}

.template-product #MainContent .product-form__buttons,
body:has(.product__info-wrapper) #MainContent .product-form__buttons {
  max-width: 100% !important;
  margin-top: 12px !important;
}

.template-product #MainContent .product-form__submit,
body:has(.product__info-wrapper) #MainContent .product-form__submit {
  min-height: 52px !important;
  width: 100% !important;
  border-radius: 999px !important;
  border: none !important;
  background: #111111 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.template-product #MainContent .shopify-payment-button,
body:has(.product__info-wrapper) #MainContent .shopify-payment-button {
  margin-top: 10px !important;
}

.template-product #MainContent .shopify-payment-button__button,
body:has(.product__info-wrapper) #MainContent .shopify-payment-button__button {
  min-height: 52px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

.template-product #MainContent .shopify-payment-button__more-options,
body:has(.product__info-wrapper) #MainContent .shopify-payment-button__more-options {
  color: #666666 !important;
  font-size: 13px !important;
  margin-top: 10px !important;
  text-decoration: underline !important;
}

/* Responsive */
@media screen and (max-width: 989px) {
  .template-product #MainContent .product,
  body:has(.product__info-wrapper) #MainContent .product {
    width: calc(100% - 32px) !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 26px 0 52px !important;
  }

  .template-product #MainContent .product__info-container,
  body:has(.product__info-wrapper) #MainContent .product__info-container {
    position: static !important;
    top: auto !important;
    max-width: none !important;
  }

  .template-product #MainContent .product__media .media,
  body:has(.product__info-wrapper) #MainContent .product__media .media {
    min-height: 340px !important;
    height: 340px !important;
  }

  .template-product #MainContent .product__title h1,
  body:has(.product__info-wrapper) #MainContent .product__title h1 {
    font-size: 24px !important;
    line-height: 1.08 !important;
    max-width: none !important;
  }
}


/* =====================================================
   32. FINAL V22 - Product Mobile Media + Description Images
   目的：
   1. 手機版產品主圖置中、完整顯示，不裁切
   2. 使用 Dawn 原生縮圖，不再用 CSS 假縮圖
   3. 詳情圖建議放在 Description 區塊，並排在購買按鈕下方
   Must be the LAST block in ez-brand.css.
   ===================================================== */

/* ---------- Mobile product media: fit and center ---------- */

@media screen and (max-width: 749px) {
  .template-product #MainContent .product,
  body:has(.product__info-wrapper) #MainContent .product {
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 22px !important;
    gap: 22px !important;
  }

  .template-product #MainContent .product__media-wrapper,
  body:has(.product__info-wrapper) #MainContent .product__media-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .template-product #MainContent .product-media-container,
  .template-product #MainContent .product__media,
  body:has(.product__info-wrapper) #MainContent .product-media-container,
  body:has(.product__info-wrapper) #MainContent .product__media {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    background: #f5f5f5 !important;
    border: 1px solid #e2e2e2 !important;
    overflow: hidden !important;
  }

  .template-product #MainContent .product__media .media,
  body:has(.product__info-wrapper) #MainContent .product__media .media {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    padding-bottom: 0 !important;
    position: relative !important;
    background: #f5f5f5 !important;
    overflow: hidden !important;
  }

  .template-product #MainContent .product__media .media > img,
  .template-product #MainContent .product__media img,
  body:has(.product__info-wrapper) #MainContent .product__media .media > img,
  body:has(.product__info-wrapper) #MainContent .product__media img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    padding: 16px !important;
    box-sizing: border-box !important;
    background: #f5f5f5 !important;
  }

  /* Native thumbnail row */
  .template-product #MainContent .thumbnail-slider,
  body:has(.product__info-wrapper) #MainContent .thumbnail-slider {
    display: block !important;
    width: 100% !important;
    margin-top: 12px !important;
    overflow: hidden !important;
  }

  .template-product #MainContent .thumbnail-list,
  body:has(.product__info-wrapper) #MainContent .thumbnail-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 0 0 2px !important;
    margin: 0 !important;
    scroll-snap-type: x mandatory !important;
  }

  .template-product #MainContent .thumbnail-list__item,
  body:has(.product__info-wrapper) #MainContent .thumbnail-list__item {
    flex: 0 0 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    scroll-snap-align: start !important;
  }

  .template-product #MainContent .thumbnail,
  body:has(.product__info-wrapper) #MainContent .thumbnail {
    width: 54px !important;
    height: 54px !important;
    padding: 4px !important;
    background: #f5f5f5 !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .template-product #MainContent .thumbnail[aria-current="true"],
  .template-product #MainContent .thumbnail:hover,
  body:has(.product__info-wrapper) #MainContent .thumbnail[aria-current="true"],
  body:has(.product__info-wrapper) #MainContent .thumbnail:hover {
    border-color: #111111 !important;
  }
}

/* ---------- Product title: smaller and safer on mobile ---------- */

@media screen and (max-width: 749px) {
  .template-product #MainContent .product__title,
  body:has(.product__info-wrapper) #MainContent .product__title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 12px !important;
  }

  .template-product #MainContent .product__title h1,
  body:has(.product__info-wrapper) #MainContent .product__title h1 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    letter-spacing: 0.02em !important;
    max-width: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* ---------- Description/detail images area ---------- */
/* 詳情圖請放在 Product Description 或自訂 Liquid 區塊，並在後台拖到 Buy buttons 下方 */

.template-product #MainContent .product__description,
body:has(.product__info-wrapper) #MainContent .product__description {
  background: #ffffff !important;
  color: #222222 !important;
}

.template-product #MainContent .product__description img,
body:has(.product__info-wrapper) #MainContent .product__description img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 18px 0 !important;
  border: 0 !important;
}

.template-product #MainContent .product__description p:has(img),
body:has(.product__info-wrapper) #MainContent .product__description p:has(img) {
  margin: 0 !important;
}

/* Desktop: if description is used for long detail images, let it span under both columns when placed as lower section */
.template-product #MainContent .product__description.ez-detail-images,
body:has(.product__info-wrapper) #MainContent .product__description.ez-detail-images {
  max-width: 100% !important;
}



/* =====================================================
   33. FINAL V23 - Product Title Duplicate + Size Fix
   1. 產品頁主標題縮小
   2. 隱藏 Description 裡重複的產品標題
   3. Bullet points 保留在標題下方
   Must be the LAST block in ez-brand.css.
   ===================================================== */

/* 主標題縮小：桌機 */
.template-product #MainContent .product__title,
body:has(.product__info-wrapper) #MainContent .product__title {
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.template-product #MainContent .product__title h1,
body:has(.product__info-wrapper) #MainContent .product__title h1 {
  font-size: clamp(28px, 2.2vw, 38px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0.02em !important;
  font-weight: 800 !important;
  max-width: 15ch !important;
  text-transform: uppercase !important;
}

/* Description 區塊放在標題下方，但不要再出現第二個大標 */
.template-product #MainContent .product__description,
body:has(.product__info-wrapper) #MainContent .product__description {
  margin: 0 0 22px !important;
  padding: 0 0 20px !important;
  border-top: none !important;
  border-bottom: 1px solid #dddddd !important;
}

/* 隱藏 description 裡常見的重複產品標題格式 */
.template-product #MainContent .product__description h1:first-child,
.template-product #MainContent .product__description h2:first-child,
.template-product #MainContent .product__description h3:first-child,
.template-product #MainContent .product__description p:first-child:has(strong),
.template-product #MainContent .product__description p:first-child:has(b),
.template-product #MainContent .product__description p:first-child:has(a),
body:has(.product__info-wrapper) #MainContent .product__description h1:first-child,
body:has(.product__info-wrapper) #MainContent .product__description h2:first-child,
body:has(.product__info-wrapper) #MainContent .product__description h3:first-child,
body:has(.product__info-wrapper) #MainContent .product__description p:first-child:has(strong),
body:has(.product__info-wrapper) #MainContent .product__description p:first-child:has(b),
body:has(.product__info-wrapper) #MainContent .product__description p:first-child:has(a) {
  display: none !important;
}

/* 如果 description 裡第一個連結就是產品名稱，直接隱藏 */
.template-product #MainContent .product__description > a:first-child,
body:has(.product__info-wrapper) #MainContent .product__description > a:first-child {
  display: none !important;
}

/* Bullet point 字體整理 */
.template-product #MainContent .product__description ul,
.template-product #MainContent .product__description ol,
body:has(.product__info-wrapper) #MainContent .product__description ul,
body:has(.product__info-wrapper) #MainContent .product__description ol {
  margin: 0 !important;
  padding-left: 20px !important;
}

.template-product #MainContent .product__description li,
body:has(.product__info-wrapper) #MainContent .product__description li {
  margin: 0 0 9px !important;
  color: #222222 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.template-product #MainContent .product__description p,
body:has(.product__info-wrapper) #MainContent .product__description p {
  color: #222222 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* 手機版標題縮小 */
@media screen and (max-width: 749px) {
  .template-product #MainContent .product__title h1,
  body:has(.product__info-wrapper) #MainContent .product__title h1 {
    font-size: 22px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.02em !important;
    max-width: none !important;
  }

  .template-product #MainContent .product__description,
  body:has(.product__info-wrapper) #MainContent .product__description {
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
  }
}



/* =====================================================
   34. FINAL V24 - Product Duplicate Title Hard Fix
   問題：產品標題下面又出現一個底線重複標題。
   原因通常是 Product information 裡多了一個 Text / Title / Share block，
   不是 Description 內容。
   Must be the LAST block in ez-brand.css.
   ===================================================== */

/* 主標題縮小 */
.template-product #MainContent .product__title h1,
body:has(.product__info-wrapper) #MainContent .product__title h1 {
  font-size: clamp(28px, 2.1vw, 36px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0.02em !important;
  max-width: 16ch !important;
}

/* 隱藏產品資訊欄中：標題後方第一個像「重複標題」的大型文字/連結 */
.template-product #MainContent .product__title + .product__text,
.template-product #MainContent .product__title + .product__text a,
.template-product #MainContent .product__title + .product__text p,
.template-product #MainContent .product__title + .product__text span,
body:has(.product__info-wrapper) #MainContent .product__title + .product__text,
body:has(.product__info-wrapper) #MainContent .product__title + .product__text a,
body:has(.product__info-wrapper) #MainContent .product__title + .product__text p,
body:has(.product__info-wrapper) #MainContent .product__title + .product__text span {
  display: none !important;
}

/* 如果重複標題是 link block / share link，被放在 product title 後方，也隱藏 */
.template-product #MainContent .product__title + a,
.template-product #MainContent .product__title + p a,
.template-product #MainContent .product__title + div a[href*="/products/"],
body:has(.product__info-wrapper) #MainContent .product__title + a,
body:has(.product__info-wrapper) #MainContent .product__title + p a,
body:has(.product__info-wrapper) #MainContent .product__title + div a[href*="/products/"] {
  display: none !important;
}

/* 如果產品資訊欄內第二個 h1/h2/h3 是重複標題，隱藏 */
.template-product #MainContent .product__info-container .product__title ~ h1,
.template-product #MainContent .product__info-container .product__title ~ h2,
.template-product #MainContent .product__info-container .product__title ~ h3,
body:has(.product__info-wrapper) #MainContent .product__info-container .product__title ~ h1,
body:has(.product__info-wrapper) #MainContent .product__info-container .product__title ~ h2,
body:has(.product__info-wrapper) #MainContent .product__info-container .product__title ~ h3 {
  display: none !important;
}

/* Description 內不再放大任何標題，避免圖片或文字區再跑出大字 */
.template-product #MainContent .product__description h1,
.template-product #MainContent .product__description h2,
.template-product #MainContent .product__description h3,
body:has(.product__info-wrapper) #MainContent .product__description h1,
body:has(.product__info-wrapper) #MainContent .product__description h2,
body:has(.product__info-wrapper) #MainContent .product__description h3 {
  display: none !important;
}

/* Bullet point 留在標題下方，字體降低 */
.template-product #MainContent .product__description,
body:has(.product__info-wrapper) #MainContent .product__description {
  margin-top: 12px !important;
  padding-top: 0 !important;
}

.template-product #MainContent .product__description li,
.template-product #MainContent .product__description p,
body:has(.product__info-wrapper) #MainContent .product__description li,
body:has(.product__info-wrapper) #MainContent .product__description p {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #222222 !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .template-product #MainContent .product__title h1,
  body:has(.product__info-wrapper) #MainContent .product__title h1 {
    font-size: 22px !important;
    line-height: 1.1 !important;
    max-width: none !important;
  }
}


/* =====================================================
   35. FINAL V25 - Dawn Product Title Real Fix
   問題原因：
   Dawn 的 Title block 內部通常會輸出：
   1) h1 product title
   2) a.product__title > h2.h1 product title
   正常主題會隱藏第 2 個；前面 CSS 誤把它顯示出來。
   Must be the LAST block in ez-brand.css.
   ===================================================== */

/* 只保留真正的 h1 標題 */
.template-product #MainContent .product__title > a,
.template-product #MainContent .product__title > a.product__title,
.template-product #MainContent .product__title > a .h1,
.template-product #MainContent .product__title > a h2,
.template-product #MainContent .product__title h2,
body:has(.product__info-wrapper) #MainContent .product__title > a,
body:has(.product__info-wrapper) #MainContent .product__title > a.product__title,
body:has(.product__info-wrapper) #MainContent .product__title > a .h1,
body:has(.product__info-wrapper) #MainContent .product__title > a h2,
body:has(.product__info-wrapper) #MainContent .product__title h2 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

/* 真正標題 h1 尺寸 */
.template-product #MainContent .product__title,
body:has(.product__info-wrapper) #MainContent .product__title {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.template-product #MainContent .product__title h1,
body:has(.product__info-wrapper) #MainContent .product__title h1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;

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

  color: #111111 !important;
  font-family: var(--ez-heading-font, Arial, sans-serif) !important;
  font-size: clamp(26px, 2vw, 36px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  max-width: 18ch !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* 避免標題區任何 link 底線跑出來 */
.template-product #MainContent .product__title a,
.template-product #MainContent .product__title a *,
body:has(.product__info-wrapper) #MainContent .product__title a,
body:has(.product__info-wrapper) #MainContent .product__title a * {
  text-decoration: none !important;
}

/* 手機版標題 */
@media screen and (max-width: 749px) {
  .template-product #MainContent .product__title h1,
  body:has(.product__info-wrapper) #MainContent .product__title h1 {
    font-size: 22px !important;
    line-height: 1.1 !important;
    max-width: none !important;
  }
}



/* =====================================================
   36. FINAL V26 - Product Detail Images Full Width
   用法：
   1. Product information 裡不要再放 Description block
   2. Bullet points 用 Custom liquid block：.ez-product-bullets
   3. 詳情圖用 Product information 下方的 Custom liquid section：.ez-product-detail-section
   Must be the LAST block in ez-brand.css.
   ===================================================== */

/* Product info bullet block under title */
.template-product #MainContent .ez-product-bullets,
body:has(.product__info-wrapper) #MainContent .ez-product-bullets {
  margin: 0 0 22px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid #dddddd !important;
  color: #222222 !important;
}

.template-product #MainContent .ez-product-bullets ul,
.template-product #MainContent .ez-product-bullets ol,
body:has(.product__info-wrapper) #MainContent .ez-product-bullets ul,
body:has(.product__info-wrapper) #MainContent .ez-product-bullets ol {
  margin: 0 !important;
  padding-left: 20px !important;
}

.template-product #MainContent .ez-product-bullets li,
.template-product #MainContent .ez-product-bullets p,
body:has(.product__info-wrapper) #MainContent .ez-product-bullets li,
body:has(.product__info-wrapper) #MainContent .ez-product-bullets p {
  margin: 0 0 9px !important;
  color: #222222 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* Hide old description only when new detail layout is used */
.template-product #MainContent .product__info-container > .product__description {
  display: none !important;
}

/* Full-width detail image section */
.template-product #MainContent .ez-product-detail-section,
body:has(.product__info-wrapper) #MainContent .ez-product-detail-section {
  width: 100% !important;
  background: #ffffff !important;
  margin: 0 !important;
  padding: 40px 0 88px !important;
  color: #111111 !important;
}

/* Inner max width aligned with product page */
.template-product #MainContent .ez-product-detail-inner,
body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner {
  max-width: 1280px !important;
  width: calc(100% - 96px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
}

/* Remove editor paragraph gaps around images */
.template-product #MainContent .ez-product-detail-inner p,
body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner p {
  margin: 0 !important;
  padding: 0 !important;
}

/* Images become full-width and evenly stacked */
.template-product #MainContent .ez-product-detail-inner img,
body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  object-fit: contain !important;
}

/* Optional text in detail section */
.template-product #MainContent .ez-product-detail-inner h2,
.template-product #MainContent .ez-product-detail-inner h3,
body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner h2,
body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner h3 {
  margin: 16px 0 0 !important;
  color: #111111 !important;
  font-size: clamp(28px, 2.4vw, 40px) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

.template-product #MainContent .ez-product-detail-inner p:not(:has(img)),
.template-product #MainContent .ez-product-detail-inner li,
body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner p:not(:has(img)),
body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner li {
  color: #333333 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .template-product #MainContent .ez-product-bullets,
  body:has(.product__info-wrapper) #MainContent .ez-product-bullets {
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
  }

  .template-product #MainContent .ez-product-detail-section,
  body:has(.product__info-wrapper) #MainContent .ez-product-detail-section {
    padding: 28px 0 56px !important;
  }

  .template-product #MainContent .ez-product-detail-inner,
  body:has(.product__info-wrapper) #MainContent .ez-product-detail-inner {
    width: calc(100% - 32px) !important;
    gap: 16px !important;
  }
/* =====================================================
   PRODUCT DETAIL IMAGES - Mobile Responsive Fix
   修正產品詳情圖手機版不自動縮小
   ===================================================== */

/* 桌機：詳情圖維持置中，不要過度滿版 */
.template-product #MainContent .ez-product-detail-section {
  width: 100% !important;
  background: #ffffff !important;
  padding: 48px 0 88px !important;
  overflow: hidden !important;
}

.template-product #MainContent .ez-product-detail-inner {
  width: calc(100% - 96px) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 詳情圖本身 */
.template-product #MainContent .ez-product-detail-inner img,
.template-product #MainContent .product__description img,
.template-product #MainContent .rte img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto 24px !important;
  object-fit: contain !important;
  border: 0 !important;
}

/* 清掉 Shopify 編輯器包住圖片的 p / figure 空隙 */
.template-product #MainContent .ez-product-detail-inner p,
.template-product #MainContent .ez-product-detail-inner figure,
.template-product #MainContent .product__description p:has(img),
.template-product #MainContent .rte p:has(img) {
  margin: 0 !important;
  padding: 0 !important;
}

/* 手機版：強制收進螢幕 */
@media screen and (max-width: 749px) {
  .template-product #MainContent,
  .template-product #MainContent * {
    box-sizing: border-box !important;
  }

  .template-product #MainContent .ez-product-detail-section {
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px 0 56px !important;
    overflow-x: hidden !important;
  }

  .template-product #MainContent .ez-product-detail-inner {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  .template-product #MainContent .ez-product-detail-inner img,
  .template-product #MainContent .product__description img,
  .template-product #MainContent .rte img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto 16px !important;
    object-fit: contain !important;
  }

  .template-product #MainContent .ez-product-detail-inner p,
  .template-product #MainContent .ez-product-detail-inner figure,
  .template-product #MainContent .product__description p:has(img),
  .template-product #MainContent .rte p:has(img) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
@media screen and (max-width: 749px) {
  .template-product #MainContent .ez-product-detail-inner table,
  .template-product #MainContent .product__description table,
  .template-product #MainContent .rte table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  .template-product #MainContent .ez-product-detail-inner td,
  .template-product #MainContent .product__description td,
  .template-product #MainContent .rte td {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
/* =====================================================
   EZ PRODUCT DETAIL IMAGE MOBILE FIX
   修正部分詳情圖手機版被裁切
   ===================================================== */

/* 詳情圖區塊外層 */
.template-product #MainContent .ez-product-detail-section {
  width: 100% !important;
  max-width: 100% !important;
  background: #ffffff !important;
  overflow-x: hidden !important;
}

/* 詳情圖內容容器 */
.template-product #MainContent .ez-product-detail-inner {
  width: min(1120px, calc(100vw - 96px)) !important;
  max-width: calc(100vw - 96px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* 把 Shopify 編輯器產生的固定寬度全部壓回容器內 */
.template-product #MainContent .ez-product-detail-inner *,
.template-product #MainContent .ez-product-detail-inner p,
.template-product #MainContent .ez-product-detail-inner div,
.template-product #MainContent .ez-product-detail-inner figure,
.template-product #MainContent .ez-product-detail-inner span {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* 圖片本體 */
.template-product #MainContent .ez-product-detail-inner img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  object-fit: contain !important;
}

/* 如果圖片被 table 包住 */
.template-product #MainContent .ez-product-detail-inner table,
.template-product #MainContent .ez-product-detail-inner tbody,
.template-product #MainContent .ez-product-detail-inner tr,
.template-product #MainContent .ez-product-detail-inner td {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  table-layout: fixed !important;
  box-sizing: border-box !important;
}

/* 手機版加強 */
@media screen and (max-width: 749px) {
  .template-product #MainContent .ez-product-detail-section {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 28px 0 56px !important;
    overflow-x: hidden !important;
  }

  .template-product #MainContent .ez-product-detail-inner {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  .template-product #MainContent .ez-product-detail-inner *,
  .template-product #MainContent .ez-product-detail-inner p,
  .template-product #MainContent .ez-product-detail-inner div,
  .template-product #MainContent .ez-product-detail-inner figure,
  .template-product #MainContent .ez-product-detail-inner span {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .template-product #MainContent .ez-product-detail-inner img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto 16px !important;
    object-fit: contain !important;
  }
.template-product #MainContent .ez-detail-image-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  margin: 0 auto 24px !important;
}

@media screen and (max-width: 749px) {
  .template-product #MainContent .ez-detail-image-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 16px !important;
  }
/* Fix very wide product detail images on mobile */
@media screen and (max-width: 749px) {
  .template-product #MainContent .ez-product-detail-section,
  .template-product #MainContent .ez-product-detail-inner,
  .template-product #MainContent .ez-detail-image-wrap {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .template-product #MainContent .ez-product-detail-inner {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }

  .template-product #MainContent .ez-product-detail-inner img,
  .template-product #MainContent .ez-detail-image-wrap img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    transform: none !important;
  }

  .template-product #MainContent .ez-product-detail-inner p,
  .template-product #MainContent .ez-product-detail-inner div,
  .template-product #MainContent .ez-product-detail-inner figure,
  .template-product #MainContent .ez-product-detail-inner span {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    transform: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
/* =====================================================
   MOBILE MENU DRAWER BLACK FIX
   修正產品頁手機選單拉出變白底
   ===================================================== */

@media screen and (max-width: 989px) {
  /* Drawer 外層 */
  .menu-drawer,
  .menu-drawer.gradient,
  .menu-drawer-container .menu-drawer,
  details[open] > .menu-drawer,
  #menu-drawer {
    background: #080808 !important;
    background-color: #080808 !important;
    color: #f5f5f5 !important;
  }

  /* Drawer 內層 */
  .menu-drawer__inner-container,
  .menu-drawer__navigation,
  .menu-drawer__menu,
  .menu-drawer__submenu,
  .menu-drawer__utility-links {
    background: #080808 !important;
    background-color: #080808 !important;
    color: #f5f5f5 !important;
  }

  /* 主選單文字 */
  .menu-drawer__menu-item,
  .menu-drawer__menu-item span,
  .menu-drawer__menu-item a,
  .menu-drawer__navigation a,
  .menu-drawer__navigation button,
  .menu-drawer__navigation summary {
    color: #f5f5f5 !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  /* Hover / Active */
  .menu-drawer__menu-item:hover,
  .menu-drawer__menu-item:focus,
  .menu-drawer__menu-item--active,
  .menu-drawer__menu-item:hover span {
    color: #FDDA24 !important;
    background: rgba(255, 255, 255, 0.06) !important;
  }

  /* 箭頭 / icon */
  .menu-drawer svg,
  .menu-drawer .icon,
  .menu-drawer .svg-wrapper {
    color: #f5f5f5 !important;
    stroke: currentColor !important;
  }

  /* 下方 Login / Country / Language */
  .menu-drawer__account,
  .menu-drawer__account span,
  .menu-drawer .localization-form__select,
  .menu-drawer .disclosure__button,
  .menu-drawer .localization-selector {
    color: #f5f5f5 !important;
    background: #080808 !important;
  }

  /* 子選單返回按鈕 */
  .menu-drawer__close-button {
    color: #f5f5f5 !important;
    background: #080808 !important;
  }

  .menu-drawer__close-button:hover {
    color: #FDDA24 !important;
    background: rgba(255, 255, 255, 0.06) !important;
  }
}

/* =====================================================
   PATCH: Footer full-bleed + body background fix
   body.gradient has a white gradient-image that shows as
   white side gaps when footer section group is constrained
   by body grid cell width.
   Fix 1: clear body gradient so any leak is dark.
   Fix 2: force footer section group to 100vw width.
   ===================================================== */

html,
body {
  background-color: #181818 !important;
  background-image: none !important;
}

.shopify-section-group-footer-group {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc((100% - 100vw) / 2) !important;
  margin-right: calc((100% - 100vw) / 2) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  background: #181818 !important;
  background-image: none !important;
}

.shopify-section-group-footer-group footer,
.shopify-section-group-footer-group .footer {
  background: #181818 !important;
  background-image: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html {
  overflow-x: clip !important;
}
/* =====================================================
   MOBILE CART COUNT BUBBLE FIX
   修正手機版購物車數量位置跑掉
   ===================================================== */

@media screen and (max-width: 989px) {
  .header__icons #cart-icon-bubble,
  .header__icons .header__icon--cart {
    position: relative !important;
    overflow: visible !important;
  }

  .header__icons #cart-icon-bubble .cart-count-bubble,
  .header__icons .header__icon--cart .cart-count-bubble,
  .cart-count-bubble {
    position: absolute !important;
    top: -7px !important;
    right: -8px !important;
    left: auto !important;
    bottom: auto !important;

    min-width: 16px !important;
    width: 16px !important;
    height: 16px !important;
    padding: 0 !important;

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

    border-radius: 999px !important;
    background: #FDDA24 !important;
    color: #050505 !important;

    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;

    transform: none !important;
    z-index: 20 !important;
  }

  .cart-count-bubble span,
  .cart-count-bubble span[aria-hidden="true"] {
    color: #050505 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    background: transparent !important;
  }
/* =====================================================
   MOBILE HEADER SEARCH / CART ALIGNMENT FIX
   只修手機版放大鏡與購物車圖示對齊
   ===================================================== */

@media screen and (max-width: 989px) {
  .header {
    position: relative !important;
  }

  /* 右側 icon 整組固定在 header 垂直中央 */
  .header__icons {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;

    height: 56px !important;
    width: auto !important;
    min-width: 62px !important;

    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;

    background: transparent !important;
    overflow: visible !important;
    z-index: 20 !important;
  }

  /* search / cart 外層統一尺寸 */
  .header__icons .header__search,
  .header__icons details-modal.header__search,
  .header__icons .header__search details,
  .header__icons .header__icon--search,
  .header__icons summary.header__icon--search,
  .header__icons #cart-icon-bubble,
  .header__icons .header__icon--cart {
    position: relative !important;

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

    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;

    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;

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

    line-height: 0 !important;
    background: transparent !important;
    color: #f5f5f5 !important;
    overflow: visible !important;
  }

  /* icon wrapper 統一 */
  .header__icons .svg-wrapper,
  .header__icons .header__icon .svg-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 22px !important;
    height: 22px !important;

    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
  }

  /* SVG 本體統一 */
  .header__icons svg,
  .header__icons .icon {
    display: block !important;

    width: 22px !important;
    height: 22px !important;

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

    color: #f5f5f5 !important;
    stroke: currentColor !important;
  }

  /* 視覺微調：購物車圖示通常看起來會比放大鏡低一點 */
  .header__icons .header__icon--search .svg-wrapper,
  .header__icons summary.header__icon--search .svg-wrapper {
    transform: translateY(0) !important;
  }

  .header__icons #cart-icon-bubble .svg-wrapper,
  .header__icons .header__icon--cart .svg-wrapper {
    transform: translateY(-1px) !important;
  }

  /* 數量徽章不參與對齊 */
  .header__icons .cart-count-bubble {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 30 !important;
  }

  /* 手機版避免 account icon 擠壓 */
  .header__icon--account {
    display: none !important;
  }
/* =====================================================
   MOBILE HEADER EXTRA X FIX
   隱藏手機版 Header 右側多跑出來的 Search close X
   ===================================================== */

@media screen and (max-width: 989px) {
  /* 不要讓 search modal 的 close X 出現在 header 右側 */
  .header__icons .search-modal__close-button,
  .header__icons .modal__close-button,
  .header__icons .icon-close,
  .header__icons button[aria-label="Close"],
  .header__icons button[aria-label="關閉"],
  .header__icons .search-modal__form + button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* 搜尋圖示只保留放大鏡 */
  .header__icons .header__icon--search .icon-search,
  .header__icons summary.header__icon--search .icon-search {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* 購物車與搜尋重新對齊 */
  .header__icons {
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
  }

  .header__icons .header__icon--search,
  .header__icons #cart-icon-bubble,
  .header__icons .header__icon--cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
/* =====================================================
   MOBILE HEADER ICON GAP FIX
   縮小手機版放大鏡與購物車距離
   ===================================================== */

@media screen and (max-width: 989px) {
  .header__icons {
    right: 14px !important;
    gap: 0px !important;
    min-width: 54px !important;
    width: auto !important;
  }

  .header__icons .header__icon--search,
  .header__icons summary.header__icon--search,
  .header__icons #cart-icon-bubble,
  .header__icons .header__icon--cart {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header__icons .svg-wrapper,
  .header__icons svg,
  .header__icons .icon {
    width: 22px !important;
    height: 22px !important;
  }
}