/** Shopify CDN: Minification failed

Line 76:25 Unexpected "{"
Line 251:12 Expected identifier but found whitespace
Line 251:14 Unexpected "{"
Line 251:23 Expected ":"
Line 251:55 Expected ":"
Line 256:14 Expected identifier but found whitespace
Line 256:16 Unexpected "{"
Line 256:25 Expected ":"
Line 256:64 Expected ":"

**/
/* ============================
   Custom Font Overrides
   ============================ */

/* Reset Stiletto's font variables */
:root {
  --font-body: "miller-headline", serif;
  --font-heading: "articulate-cf", sans-serif;
  --font-body-italic: italic;
  --font-body-weight: 300; /* Miller Headline Light */
  --font-heading-weight: 400; /* Articulate CF Regular */
  --font-body-bold-weight: 500; /* Adjust if your kit includes bold */
}

/* ----------------------------
   Body & Paragraphs
   ---------------------------- */
body, p, .rte, .typography, .shopify-policy__body {
  font-family: var(--font-body) !important;
  font-weight: var(--font-body-weight) !important;
  font-style: normal !important;
  line-height: 1.5;
  letter-spacing: 0;
}

/* ----------------------------
   Headings
   ---------------------------- */
h1, h2, h3, h4, h5, h6,
.rte h1, .rte h2, .rte h3, .rte h4, .rte h5, .rte h6,
.section-title, .card__heading {
  font-family: var(--font-heading) !important;
  font-weight: var(--font-heading-weight) !important;
  font-style: normal !important;
  line-height: 1.5;
  letter-spacing: 0;
}

/* ----------------------------
   Buttons & CTAs
   ---------------------------- */
button, .button, .btn,
a.button, a.btn,
.shopify-payment-button__button {
  font-family: "articulate-cf", sans-serif !important;
  font-weight: 400 !important; /* Articulate CF Medium */
  letter-spacing: 0.08em;
}

/* ----------------------------
   Accents & Italics
   ---------------------------- */
em, i, .accent, blockquote, cite {
  font-family: "miller-headline", serif !important;
  font-style: italic !important;
  letter-spacing: 0.09em;
}

/* ----------------------------
   Forms & Inputs
   ---------------------------- */
input, textarea, select,
.input, .spr-form-input, {
  font-family: var(--font-body) !important;
  font-weight: var(--font-body-weight) !important;
  font-style: normal !important;
}

/* ----------------------------
   Footer & Navigation
   ---------------------------- */
.footer, .footer p, .footer a,
nav, .nav, .site-nav, .header__menu, .fs-body-bold {
  font-family: var(--font-heading) !important;
  font-weight: var(--font-heading-weight) !important;
}

/* === FOOTER LAYOUT FIXES === */

/* Desktop: 3-column flex */
.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer__bottom-left,
.footer__bottom-center,
.footer__bottom-right {
  flex: 1;
  display: flex;
  align-items: center;
}

.footer__bottom-left {
  justify-content: flex-start;
}

.footer__bottom-center {
  justify-content: center;
}

.footer__bottom-right {
  justify-content: flex-end;
  gap: 1rem; /* space between payment + social */
}

.footer__bottom-center img {
  max-width: 100px;
  height: auto;
}

/* Mobile: stack logo → social/payment → copyright */
@media (max-width: 749px) {
  .footer__bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .footer__bottom-center {
    order: -2; /* logo first */
    margin-bottom: 1rem;
  }

  .footer__bottom-right {
    order: -1; /* social/payment next */
    justify-content: center;
    margin-bottom: 1rem;
  }

  .footer__bottom-left {
    order: 0; /* copyright last */
    justify-content: center;
  }
}

/* Social icons: vertically centered in the footer row */
.footer__bottom-right .social-icons {
  display: flex;
  align-items: center;   /* vertical centering */
  justify-content: flex-end;  /* right align desktop */
  gap: 12px;             /* spacing between icons */
  margin: 0;
  padding: 0;
  height: 100%;          /* fill parent height so align-items works */
}

.footer__bottom-right .social-icons li {
  display: flex;
  align-items: center;
}

/* 1) Nuke the built-in top spacing that creates the gap */
.footer__bottom,
.footer__bottom-right {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
@media (min-width: 960px) {
  .footer__bottom,
  .footer__bottom-right {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* 2) Make the right column and the icons themselves vertically centered */
.footer__bottom-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end;
}

/* 3) Force the UL + its children to be a proper inline flex row */
.footer__bottom-right .social-icons {
  display: flex !important;
  align-items: center !important;   /* vertical centering */
  justify-content: flex-end;        /* stays right on desktop */
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  height: auto !important;
}
.footer__bottom-right .social-icons li,
.footer__bottom-right .social-icons a {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4) Mobile: center icons horizontally under the logo */
@media (max-width: 749px) {
  .footer__bottom-right .social-icons {
    justify-content: center !important;
  }
}
/* Control social icon size */
.footer__bottom-right .social-icons svg {
  width: 20px !important;   /* adjust to taste */
  height: 20px !important;
}

@media (max-width: 749px) {
  .footer__bottom-center {
    padding-top: 16px !important;
  }
}

@media (max-width: 749px) {
  .footer__group--newsletter {
    border-bottom: none !important;
  }
}

@media (max-width: 749px) {
  .footer__groups {
    display: flex;
    flex-wrap: wrap;
  }

  .footer__group--links {
    width: 50% !important;
    flex: 0 0 50%;
    border-bottom: none !important; /* prevent extra dividers */
  }

  /* Optional: clean up spacing */
  .footer__group--links ul {
    margin: 0;
    padding: 0;
  }
}

.footer__logo {
  max-width: {{ section.settings.footer_logo_width }}px;
}

@media (max-width: 749px) {
  .footer__logo {
    max-width: {{ section.settings.footer_logo_width_mobile }}px;
  }
}

/* Override the default icon box sizing */
.header__icon-touch {
  width: auto !important;
  height: auto !important;
  min-width: unset !important;
  min-height: unset !important;
  padding: 0 16px !important; /* matches nav link spacing */
  background: none !important;
  box-shadow: none !important;
  border: none !important;

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

  font-family: var(--font-heading);
  font-size: 14px;
  text-transform: uppercase;
  color: var(--color-text-header);
  line-height: 1;
  font-weight: 300;
}

.header__icon-touch:hover {
  text-decoration: underline;
}

/* Cart count stays aligned cleanly */
.header__icon-touch[data-js-cart-icon] [data-js-cart-count] {
  position: relative !important;
  top: -1px;
  margin-left: 4px;
  font-weight: 300;
  font-size: 12px;
}

/* Hide Account link on mobile */
@media (max-width: 749px) {
  .header__icon-touch--account {
    display: none !important;
  }
}

/* ======================
   Mobile hamburger: position + color
   ====================== */
@media (max-width: 749px) {
  /* nudge the whole left segment closer to the edge */
  .header__row-mobile .header__row-segment.left {
    padding-left: 6px !important; /* was too padded */
  }

  /* button box (tap target) */
  .header__row-mobile .header__icon-menu {
    width: 40px;
    height: 40px;
    margin: 0 !important;
    padding: 0 !important;
    margin-left: -20px !important;  /* move further left */
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* the three lines */
  .header__row-mobile .header__icon-menu svg {
    width: 34px !important;
    height: 24px !important;
    stroke-width: 1.8;
    display: block;
    transform: translateY(-18px);    /* move up */
  }

  /* transparent header (not sticky) → white */
  .header--transparent:not(.is-sticky) .header__icon-menu svg {
    stroke: #faf7f0 !important;
    color: #faf7f0 !important;
  }

  /* sticky/normal → dark */
  .header.is-sticky .header__icon-menu svg,
  .header:not(.header--transparent) .header__icon-menu svg {
    stroke: #342A24 !important;
    color: #342A24 !important;
  }
  /* Transparent header: fix hover color */
  .header--transparent:not(.is-sticky) .header__icon-menu:hover svg {
    stroke: #342A24 !important;  /* same dark color as sticky */
    color: #342A24 !important;
  }
  /* Ensure hamburger turns dark when header background is hovered */
  .header--transparent:not(.is-sticky):hover .header__icon-menu svg {
    stroke: #342A24 !important;
    color: #342A24 !important;
  }

  /* MOBILE: tighten space between SEARCH and CART */
  @media (max-width: 749px){
    /* the right cluster itself */
    .header__row-mobile .header__row-segment.right{
      gap: 6px !important;           /* was big — make it tight */
    }

    /* kill any per-link padding/margins that might be lingering */
    .header__row-mobile .header__row-segment.right .header__icon-touch{
      padding: 0 !important;
      margin: 0 !important;
    }

    /* Stiletto adds margin-left to subsequent items; nuke it */
    .header__row-mobile .header__row-segment.right .header__icon-touch + .header__icon-touch{
      margin-left: 0 !important;
    }
    .header__row-mobile .header__row-segment.right > * + *{
      margin-left: 0 !important;      /* belt-and-suspenders override */
    }

    /* tighten badge spacing next to CART */
    .header__row-mobile .header__icon-touch[data-js-cart-icon] [data-js-cart-count]{
      margin-left: 1px !important;
    }
  }

  /* Make text match nav links */
  .header__row-mobile .header__row-segment.right a {
    font-family: var(--font-heading, sans-serif);
    font-weight: 300;
    font-size: 12px;
    text-transform: uppercase;
  }
}

/* Remove default underline */
.header__icon-touch {
  text-decoration: none !important;
}

/* Only target the text links, not the hamburger */
.header__icon-touch--search span,
.header__icon-touch--account span,
.header__icon-touch.no-transition span {
  position: relative;
  display: inline-block;
}

.header__icon-touch--search span::after,
.header__icon-touch--account span::after,
.header__icon-touch.no-transition span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px; /* match nav underline spacing */
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.25s ease;
}

.header__icon-touch--search:hover span::after,
.header__icon-touch--account:hover span::after,
.header__icon-touch.no-transition:hover span::after {
  width: 100%;
}