@charset "UTF-8";
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/oswald-variable-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url("../fonts/syne-variable-latin.woff2") format("woff2");
}
/*
  Use this file to add your own custom utility classes.
  https://getbootstrap.com/docs/5.3/utilities/api/
*/
/* =====================================================================
   WOOCOMMERCE PRICES — global bold + sale colour
   ===================================================================== */
.woocommerce .price,
.woocommerce p.price,
.woocommerce span.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-mini-cart .amount,
.woocommerce-Price-amount.amount {
  font-weight: 700 !important;
}
.woocommerce .price ins,
.woocommerce p.price ins,
.woocommerce span.price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce-mini-cart .amount ins,
.woocommerce-Price-amount.amount ins {
  text-decoration: none;
  color: #5C9E3F !important;
  font-weight: 700;
}
.woocommerce .price del,
.woocommerce p.price del,
.woocommerce span.price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce-mini-cart .amount del,
.woocommerce-Price-amount.amount del {
  color: #8c7173;
  font-weight: 400;
  font-size: 0.85em;
  text-decoration: line-through;
}

/* =====================================================================
   WOOCOMMERCE PRODUCT LOOP
   ===================================================================== */
.woocommerce-loop-product__title {
  color: #473335 !important;
  font-size: 0.95rem !important;
  font-weight: 600;
  margin-bottom: 6px;
}

.woocommerce ul.products li.product .price,
.products li.product .price {
  display: block;
  color: #3B4A2D !important;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 8px;
}
.woocommerce ul.products li.product .price del,
.products li.product .price del {
  color: #8c7173;
  font-weight: 400;
  font-size: 0.85rem;
}
.woocommerce ul.products li.product .price ins,
.products li.product .price ins {
  text-decoration: none;
  color: #5C9E3F;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.products li.product .woocommerce-LoopProduct-link {
  color: #473335;
  text-decoration: none;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover,
.products li.product .woocommerce-LoopProduct-link:hover {
  color: #473335;
  text-decoration: none;
}

/* =====================================================================
   CONTENT SPACING (ajuste para header fixo — 2 rows no desktop)
   ===================================================================== */
#content {
  margin-top: 184px;
}

@media (max-width: 991.98px) {
  #content {
    margin-top: 110px;
  }
}
@media (max-width: 575.98px) {
  #content {
    margin-top: 90px;
  }
}
.breadcrumb,
.woocommerce-breadcrumb {
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #473335;
  font-size: 0.9rem;
}
.breadcrumb a,
.woocommerce-breadcrumb a {
  color: #3B4A2D;
  text-decoration: none;
  transition: color 0.2s;
}
.breadcrumb a:hover,
.woocommerce-breadcrumb a:hover {
  color: rgb(50.15, 62.9, 38.25);
}
.breadcrumb .breadcrumb-item.active, .breadcrumb-item.active,
.woocommerce-breadcrumb .breadcrumb-item.active,
.woocommerce-breadcrumb-item.active {
  color: #473335;
}
.breadcrumb .breadcrumb-item + .breadcrumb-item::before, .breadcrumb-item + .breadcrumb-item::before,
.woocommerce-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.breadcrumb-item + .woocommerce-breadcrumb-item::before,
.woocommerce-breadcrumb-item + .breadcrumb-item::before,
.woocommerce-breadcrumb-item + .woocommerce-breadcrumb-item::before {
  color: rgba(71, 51, 53, 0.4);
}

/*!
 * Headshop custom styles — ported from wp-headshop, using Bootstrap 5
 */
/* =====================================================================
   HEADER
   ===================================================================== */
.headshop-header.headshop-header--categories {
  background: #fff !important;
  height: 80px !important;
  min-height: 80px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transition: background 0.3s, height 0.3s, min-height 0.3s;
}
.headshop-header.headshop-header--categories .headshop-logo {
  max-height: 60px;
  transition: max-height 0.3s;
}
.headshop-header.headshop-header--categories .headshop-nav > li > a {
  color: #473335 !important;
}
.headshop-header {
  position: relative;
  z-index: 1050;
  background: #ffffff;
  padding: 12px 0;
}
.headshop-header__row {
  min-height: 72px;
  flex-wrap: nowrap;
  transition: min-height 0.4s ease;
}
.headshop-header--home {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1050;
  background: transparent;
  box-shadow: none;
  transition: background 0.4s ease, box-shadow 0.4s ease, padding 0.4s ease;
}
.headshop-header--home .headshop-nav a {
  color: #fff !important;
}
.headshop-header--home .headshop-action-btn,
.headshop-header--home .headshop-action-btn i,
.headshop-header--home .headshop-cart__link,
.headshop-header--home .headshop-menu-toggle {
  color: #fff !important;
}
.headshop-header--home .headshop-search-icon {
  background-color: #fff;
}
.headshop-header--home .headshop-cart__icon {
  filter: brightness(0) invert(1);
}
.headshop-header--scrolled {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1050;
  overflow: visible;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  padding: 0;
  color: #473335;
}
.headshop-header--scrolled .headshop-nav a,
.headshop-header--scrolled .headshop-action-btn,
.headshop-header--scrolled .headshop-action-btn i,
.headshop-header--scrolled .headshop-cart__link,
.headshop-header--scrolled .headshop-menu-toggle {
  color: #473335 !important;
}
.headshop-header--scrolled .headshop-search-icon {
  background-color: #473335;
}
.headshop-header--scrolled .headshop-cart__icon {
  filter: brightness(0);
}
.headshop-header--scrolled .headshop-header__row {
  min-height: 44px;
  overflow: visible;
}
.headshop-header--scrolled .headshop-header__brand {
  overflow: visible;
  position: relative;
  z-index: 1060;
}
.headshop-header--scrolled .headshop-logo {
  max-height: 32px;
  padding: 10px;
  transform: none;
  position: relative;
  z-index: 1060;
  transition: max-height 0.4s ease, transform 0.4s ease;
}
.headshop-header .headshop-logo {
  max-height: 110px;
  width: auto;
  transition: max-height 0.3s ease;
}
.headshop-header .headshop-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.headshop-header .headshop-nav > li {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 0.25rem;
}
.headshop-header .headshop-nav > li > a {
  display: block;
  padding: 0.5rem 1.1rem;
  color: #473335;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 4px;
  transition: color 0.2s, background 0.2s;
}
.headshop-header .headshop-nav > li > a:hover, .headshop-header .headshop-nav > li > a:focus {
  color: #3B4A2D !important;
  background: rgba(59, 74, 45, 0.08);
  text-decoration: none;
}
.headshop-header .headshop-nav > li:hover > .sub-menu, .headshop-header .headshop-nav > li:focus-within > .sub-menu {
  display: block;
}
.headshop-header .headshop-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 210px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  list-style: none;
  padding: 0.5rem 0;
  margin: 0;
  z-index: 9999;
  border-radius: 6px;
}
.headshop-header .headshop-nav .sub-menu > li {
  width: 100%;
}
.headshop-header .headshop-nav .sub-menu > li > a {
  display: block;
  padding: 0.5rem 1.25rem;
  font-size: 0.97rem;
  color: #473335;
  border-radius: 3px;
  transition: background 0.2s, color 0.2s;
}
.headshop-header .headshop-nav .sub-menu > li > a:hover, .headshop-header .headshop-nav .sub-menu > li > a:focus {
  color: #3B4A2D !important;
  background: rgba(59, 74, 45, 0.08);
}
.headshop-header .headshop-nav .sub-menu .sub-menu {
  left: 100%;
  top: 0;
  margin-left: 2px;
  border-radius: 6px;
}

.headshop-bars-btn {
  font-size: 1.4rem;
  padding: 4px 8px;
  line-height: 1;
}
.headshop-header--home .headshop-bars-btn {
  color: #fff !important;
}
.headshop-header--scrolled .headshop-bars-btn {
  color: #473335 !important;
}

.headshop-header__cats-row {
  padding: 6px 0;
}

.headshop-header:not(.headshop-header--home):not(.headshop-header--scrolled) .headshop-header__cats-row {
  padding-top: 14px;
  border-top: 1px solid rgba(71, 51, 53, 0.08);
}

.headshop-cats-nav {
  gap: 0;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
.headshop-cats-nav > li {
  position: relative;
}
.headshop-cats-nav > li > a {
  display: block;
  padding: 6px 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #473335;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 4px;
  transition: color 0.2s, background 0.2s;
}
.headshop-cats-nav > li > a:hover, .headshop-cats-nav > li > a:focus {
  color: #3B4A2D !important;
  background: rgba(59, 74, 45, 0.08);
  text-decoration: none;
}
.headshop-cats-nav > li:hover > .sub-menu, .headshop-cats-nav > li:focus-within > .sub-menu {
  display: block;
}
.headshop-cats-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  list-style: none;
  padding: 0.5rem 0;
  margin: 0;
  z-index: 9999;
  border-radius: 6px;
}
.headshop-cats-nav .sub-menu > li > a {
  display: block;
  padding: 0.5rem 1.25rem;
  font-size: 0.9rem;
  color: #473335;
  border-radius: 3px;
  transition: background 0.2s, color 0.2s;
  text-decoration: none;
}
.headshop-cats-nav .sub-menu > li > a:hover, .headshop-cats-nav .sub-menu > li > a:focus {
  color: #3B4A2D !important;
  background: rgba(59, 74, 45, 0.08);
}
.headshop-header--home .headshop-cats-nav > li > a {
  color: #fff;
}
.headshop-header--scrolled .headshop-cats-nav > li > a {
  color: #473335;
}

/* =====================================================================
   FULLSCREEN NAV OVERLAY
   ===================================================================== */
.headshop-nav-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  background: #000;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.headshop-nav-overlay.is-open {
  display: flex;
  opacity: 1;
}
.headshop-nav-overlay__close {
  position: absolute;
  top: 12px;
  left: calc(1.5rem + 16px);
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  opacity: 0.7;
  font-size: 1.4rem;
  padding: 4px 8px;
  transition: opacity 0.2s ease;
}
.headshop-nav-overlay__close:hover {
  opacity: 1;
}
@media (min-width: 768px) {
  .headshop-nav-overlay__close {
    left: calc(3rem + 16px);
  }
}
.headshop-nav-overlay__inner {
  text-align: center;
  width: 90%;
  max-width: 600px;
}
.headshop-nav-overlay__footer {
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 2.5rem;
}
@media (min-width: 992px) {
  .headshop-nav-overlay__footer {
    display: none;
  }
}
.headshop-nav-overlay__util-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: #fff !important;
  background: none;
  border: none;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s;
}
.headshop-nav-overlay__util-btn i {
  font-size: 1.2rem;
}
.headshop-nav-overlay__util-btn:hover {
  color: #3B4A2D !important;
  text-decoration: none;
}
.headshop-nav-overlay__menu li {
  margin: 0.75rem 0;
}
.headshop-nav-overlay__menu a {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 2.2rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}
.headshop-nav-overlay__menu a:hover, .headshop-nav-overlay__menu a:focus {
  color: #3B4A2D;
  transform: scale(1.04);
  text-decoration: none;
}
.headshop-nav-overlay__menu--cats {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.headshop-nav-overlay__menu--cats a {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.75);
}
.headshop-nav-overlay__menu--cats a:hover, .headshop-nav-overlay__menu--cats a:focus {
  color: #3B4A2D;
}
.headshop-nav-overlay__mobile-cats {
  margin-top: 0;
}
.headshop-nav-overlay__search {
  margin-top: 2rem;
  padding: 0 calc(1.5rem + 16px);
}
@media (min-width: 768px) {
  .headshop-nav-overlay__search {
    padding: 0 calc(3rem + 16px);
  }
}
.headshop-nav-overlay__search-wrap {
  display: flex;
  align-items: stretch;
  border: 1.5px solid #fff;
  border-radius: 6px;
  overflow: hidden;
  transition: border-color 0.25s ease;
}
.headshop-nav-overlay__search-wrap:hover {
  border-color: #fcaa67;
}
.headshop-nav-overlay__search-wrap:hover .headshop-nav-overlay__search-input {
  color: #fcaa67;
}
.headshop-nav-overlay__search-wrap:hover .headshop-nav-overlay__search-input::placeholder {
  color: rgba(252, 170, 103, 0.6);
}
.headshop-nav-overlay__search-wrap:hover .headshop-nav-overlay__search-submit {
  color: #fcaa67;
  border-left-color: rgba(252, 170, 103, 0.3);
}
.headshop-nav-overlay__search-wrap:focus-within {
  border-color: #fff;
}
.headshop-nav-overlay__search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-size: 1rem;
  padding: 16px 40px;
  transition: color 0.25s ease;
}
.headshop-nav-overlay__search-input::placeholder {
  color: rgba(255, 255, 255, 0.6);
  transition: color 0.25s ease;
}
.headshop-nav-overlay__search-input::-webkit-search-cancel-button {
  display: none;
}
.headshop-nav-overlay__search-submit {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-left: 1.5px solid rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.7);
  padding: 0 18px;
  cursor: pointer;
  font-size: 1rem;
  transition: color 0.25s ease, border-color 0.25s ease;
}
.headshop-nav-overlay__search-submit:hover {
  color: #fff;
}

body.nav-overlay-open {
  overflow: hidden;
}

.headshop-overlay-item__row {
  display: flex;
  align-items: center;
  justify-content: center;
}
.headshop-overlay-item__link {
  display: block;
  padding: 14px 0;
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.headshop-overlay-item__link:hover, .headshop-overlay-item__link:focus {
  color: #3B4A2D;
  text-decoration: none;
}
.headshop-overlay-item__toggle {
  flex-shrink: 0;
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.5);
  padding: 8px 4px 8px 16px;
  cursor: pointer;
  transition: color 0.2s ease;
}
.headshop-overlay-item__toggle i {
  display: block;
  font-size: 0.85rem;
  transition: transform 0.25s ease;
}
.headshop-overlay-item__toggle[aria-expanded=true] {
  color: #3B4A2D;
}
.headshop-overlay-item__toggle[aria-expanded=true] i {
  transform: rotate(180deg);
}
.headshop-overlay-item__toggle:hover {
  color: #3B4A2D;
}
.headshop-overlay-item__sub {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
  padding-left: 0;
  margin: 0;
}
.headshop-overlay-item__sub li {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.headshop-overlay-item__sub a {
  display: block;
  padding: 10px 0 10px 1.25rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s ease, padding-left 0.2s ease;
}
.headshop-overlay-item__sub a:hover, .headshop-overlay-item__sub a:focus {
  color: #3B4A2D;
  padding-left: 1.75rem;
  text-decoration: none;
}

@media (max-width: 767.98px) {
  .headshop-overlay-item__link {
    font-size: 1.2rem;
  }
  .headshop-overlay-item__sub a {
    font-size: 0.9rem;
  }
}
@media (max-width: 767.98px) {
  .headshop-nav-overlay {
    align-items: flex-start;
    padding-top: 5rem;
    overflow-y: auto;
  }
  .headshop-nav-overlay__inner {
    width: 92%;
    padding-bottom: 2rem;
  }
  .headshop-nav-overlay__menu a {
    font-size: 1.5rem;
  }
}
.headshop-action-btn {
  background: transparent;
  border: 0;
  padding: 0;
  line-height: 1;
  color: #473335;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.headshop-action-btn:hover {
  color: #3B4A2D !important;
}
.headshop-action-btn:focus, .headshop-action-btn:active {
  box-shadow: none;
  outline: none;
}

.headshop-header__actions {
  gap: 4px;
}

.headshop-search-btn {
  margin-right: 0;
}

.headshop-user-btn {
  position: relative;
  margin-right: 0;
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #473335;
  text-decoration: none;
}
.headshop-user-btn svg {
  display: block;
  width: 22px;
  height: 22px;
  stroke: currentColor;
  transition: color 0.2s ease, stroke 0.2s ease;
}
.headshop-user-btn:hover svg {
  color: #3B4A2D;
  stroke: #3B4A2D;
}
.headshop-user-btn__dot {
  position: absolute;
  bottom: 4px;
  right: 4px;
  width: 8px;
  height: 8px;
  background: #548687;
  border-radius: 50%;
  border: 1.5px solid #ffffff;
}
.headshop-user-btn.is-logged-in svg {
  color: #548687;
  stroke: #548687;
}
.headshop-header--home .headshop-user-btn {
  color: #fff !important;
}
.headshop-header--home .headshop-user-btn svg {
  stroke: #fff !important;
}
.headshop-header--home .headshop-user-btn__dot {
  border-color: transparent;
}
.headshop-header--scrolled .headshop-user-btn {
  color: #473335 !important;
}
.headshop-header--scrolled .headshop-user-btn svg {
  stroke: #473335 !important;
}
.headshop-header--scrolled .headshop-user-btn__dot {
  border-color: #ffffff;
}

.headshop-search-icon {
  width: 22px;
  height: 22px;
  display: block;
  background-color: #473335;
  mask: url("../img/search.png") no-repeat center/contain;
  -webkit-mask: url("../img/search.png") no-repeat center/contain;
  transition: background-color 0.2s ease;
}

.headshop-cart__icon {
  width: 22px !important;
  height: 22px !important;
}

.headshop-action-btn:hover .headshop-search-icon {
  background-color: #3B4A2D !important;
}

.headshop-menu-toggle {
  color: #473335;
  border: none;
  font-size: 1.4rem;
  padding: 4px 8px;
  line-height: 1;
}

@media (max-width: 991.98px) {
  .headshop-search-btn,
  .headshop-user-btn {
    display: none !important;
  }
  .headshop-search-icon {
    width: 18px;
    height: 18px;
  }
  .headshop-cart__icon {
    width: 22px !important;
    height: 22px !important;
  }
  .headshop-header .headshop-logo {
    max-height: 64px;
  }
}
/* =====================================================================
   OFFCANVAS MOBILE MENU
   ===================================================================== */
.headshop-offcanvas {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  top: 0 !important;
  background: #fff;
  color: #473335;
  z-index: 9999 !important;
  display: flex;
  flex-direction: column;
}
.headshop-offcanvas__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 28px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}
.headshop-offcanvas__logo-link {
  display: block;
  line-height: 0;
}
.headshop-offcanvas__logo {
  max-height: 52px;
  width: auto;
}
.headshop-offcanvas__close {
  background: rgba(0, 0, 0, 0.06);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: #473335;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s;
}
.headshop-offcanvas__close:hover {
  background: rgba(0, 0, 0, 0.12);
}
.headshop-offcanvas__body {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  overflow-y: auto;
}
.headshop-offcanvas__nav {
  list-style: none;
  margin: 0;
  padding: 12px 0;
  flex: 1 1 auto;
}
.headshop-offcanvas__nav li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.headshop-offcanvas__nav li > a {
  display: flex;
  align-items: center;
  padding: 16px 28px;
  color: #473335;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: color 0.2s, background 0.2s, padding-left 0.25s;
}
.headshop-offcanvas__nav li > a:hover, .headshop-offcanvas__nav li > a:focus {
  color: #3B4A2D;
  background: rgba(59, 74, 45, 0.06);
  padding-left: 40px;
  text-decoration: none;
}
.headshop-offcanvas__nav .sub-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.03);
}
.headshop-offcanvas__nav .sub-menu li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.headshop-offcanvas__nav .sub-menu li:last-child {
  border-bottom: none;
}
.headshop-offcanvas__nav .sub-menu li > a {
  padding: 12px 28px 12px 44px;
  font-size: 0.82rem;
  font-weight: 500;
  color: rgba(71, 51, 53, 0.7);
  letter-spacing: 0.06em;
}
.headshop-offcanvas__nav .sub-menu li > a:hover {
  color: #3B4A2D;
  padding-left: 52px;
}
.headshop-offcanvas__actions {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding: 8px 0;
  flex-shrink: 0;
}
.headshop-offcanvas__action-link {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 14px 28px;
  color: #473335;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}
.headshop-offcanvas__action-link svg {
  flex-shrink: 0;
  stroke: currentColor;
}
.headshop-offcanvas__action-link:hover {
  color: #3B4A2D;
  background: rgba(59, 74, 45, 0.06);
  text-decoration: none;
}
.headshop-offcanvas__search-icon {
  width: 20px;
  height: 20px;
  display: block;
  flex-shrink: 0;
  background-color: #473335;
  mask: url("../img/search.png") no-repeat center/contain;
  -webkit-mask: url("../img/search.png") no-repeat center/contain;
  transition: background-color 0.2s;
}
.headshop-offcanvas__action-link:hover .headshop-offcanvas__search-icon {
  background-color: #3B4A2D;
}
.headshop-offcanvas__social {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 28px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}
.headshop-offcanvas__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.2s;
}
.headshop-offcanvas__social-link img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  display: block;
}
.headshop-offcanvas__social-link:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* =====================================================================
   CART DROPDOWN
   ===================================================================== */
.headshop-cart {
  position: relative;
}
.headshop-cart__link {
  color: #473335;
  text-decoration: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}
.headshop-cart__icon {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.headshop-cart__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #548687;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  position: absolute;
  top: 2px;
  right: 2px;
}
.headshop-cart__dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 10px;
  background: #ffffff;
  border: 2px solid #548687;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  width: 420px;
  max-width: calc(100vw - 24px);
}
@media (max-width: 480px) {
  .headshop-cart__dropdown {
    position: fixed;
    top: 80px;
    right: 12px;
    left: 12px;
    width: auto;
    max-width: none;
  }
}
.headshop-cart__dropdown {
  max-height: 520px;
  z-index: 10000;
}
.headshop-cart__dropdown::before {
  content: "";
  position: absolute;
  top: -10px;
  right: 24px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #548687;
}
.headshop-cart__dropdown::after {
  content: "";
  position: absolute;
  top: -8px;
  right: 24px;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #ffffff;
}
.headshop-cart__layout {
  display: flex;
  flex-direction: column;
  max-height: 520px;
}
.headshop-cart__body {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
}
.headshop-cart__footer {
  flex: 0 0 auto;
  background: #ffffff;
}
.headshop-cart__price {
  color: #548687;
}
.headshop-cart .cart-remove--icon {
  background: none;
  border: none;
  padding: 4px 6px;
  color: #b0413e;
  cursor: pointer;
  line-height: 1;
  opacity: 0.75;
  transition: opacity 0.2s ease;
}
.headshop-cart .cart-remove--icon:hover {
  opacity: 1;
}
.headshop-cart__action-btn {
  background-color: #548687 !important;
  border-color: #548687 !important;
  color: #fff !important;
  --bs-btn-bg: #548687;
  --bs-btn-border-color: #548687;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: rgb(77.28, 123.28, 124.2);
  --bs-btn-hover-border-color: rgb(77.28, 123.28, 124.2);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: rgb(77.28, 123.28, 124.2);
  --bs-btn-active-border-color: rgb(77.28, 123.28, 124.2);
  --bs-btn-active-color: #fff;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  text-decoration: none;
}
.headshop-cart__action-btn:hover, .headshop-cart__action-btn:focus, .headshop-cart__action-btn:active {
  background-color: rgb(77.28, 123.28, 124.2) !important;
  border-color: rgb(77.28, 123.28, 124.2) !important;
  color: #fff !important;
  text-decoration: none;
}
.headshop-cart__action-btn .dashicons {
  font-size: 18px;
  line-height: 1;
}

/* =====================================================================
   SEARCH OVERLAY
   ===================================================================== */
.headshop-search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.headshop-search-overlay.is-open {
  display: flex;
  opacity: 1;
}
.headshop-search-overlay__close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  opacity: 0.7;
  padding: 0.25rem;
  transition: opacity 0.2s ease;
}
.headshop-search-overlay__close:hover {
  opacity: 1;
}
.headshop-search-overlay__inner {
  width: 90%;
  max-width: 800px;
}
.headshop-search-overlay__form {
  display: flex;
  gap: 1rem;
  align-items: stretch;
}
.headshop-search-overlay__input {
  flex: 1;
  font-size: 1.75rem;
  font-style: italic;
  padding: 1.25rem 2rem;
  border: 2px solid #fff;
  background: transparent;
  color: #fff;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.headshop-search-overlay__input::placeholder {
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  transition: color 0.25s ease;
}
.headshop-search-overlay__input:hover {
  border-color: #fcaa67;
  color: #fcaa67;
}
.headshop-search-overlay__input:hover::placeholder {
  color: rgba(252, 170, 103, 0.6);
}
.headshop-search-overlay__input:focus {
  border-color: #fcaa67;
  color: #fff;
  box-shadow: 0 0 0 3px rgba(252, 170, 103, 0.25);
}
.headshop-search-overlay__input:focus::placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.headshop-search-overlay__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.5rem;
  background: #fff;
  color: #548687;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s ease, color 0.2s ease;
}
.headshop-search-overlay__submit svg {
  display: block;
  width: 28px;
  height: 28px;
}
.headshop-search-overlay__submit:hover {
  background: #548687;
  color: #fff;
}

body.search-overlay-open {
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .headshop-search-overlay {
    align-items: center;
  }
  .headshop-search-overlay__inner {
    width: 92%;
  }
  .headshop-search-overlay__input {
    font-size: 1.1rem;
    padding: 0.9rem 1rem;
  }
  .headshop-search-overlay__submit {
    padding: 0 1rem;
  }
  .headshop-search-overlay__submit svg {
    width: 22px;
    height: 22px;
  }
  .headshop-search-overlay__close {
    top: 1rem;
    right: 1rem;
  }
}
/* =====================================================================
   BANNER SLIDER (Bootstrap Carousel)
   ===================================================================== */
.headshop-banner {
  width: 100%;
  height: 95vh;
  overflow: hidden;
  background: #000;
}
.headshop-banner .carousel-inner,
.headshop-banner .carousel-item {
  height: 100%;
}
.headshop-banner__slide {
  width: 100%;
  height: 100%;
  background-image: var(--img-desktop);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
@media (max-width: 768px) {
  .headshop-banner__slide {
    background-image: var(--img-mobile, var(--img-desktop));
  }
}
.headshop-banner__caption {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
  text-align: center;
}
@media (max-width: 767.98px) {
  .headshop-banner__caption .container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.headshop-banner__caption-title {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: clamp(1.1rem, 2.6vw, 2.1rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.15;
  margin: 0;
}
.headshop-banner__caption-title p {
  margin: 0;
  line-height: inherit;
}
.headshop-banner__caption-title p + p {
  margin-top: 0.2em;
}
.headshop-banner__caption-sub {
  font-size: clamp(0.6rem, 1.1vw, 0.75rem);
  margin: 8px 0 0;
  opacity: 0.88;
  font-weight: 400;
  line-height: 1.5;
}
.headshop-banner__caption-sub p {
  margin: 0;
}
.headshop-banner__caption-sub p + p {
  margin-top: 0.4em;
}
.headshop-banner__nav-icon {
  font-size: 3rem;
  color: #fff;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  line-height: 1;
}
.headshop-banner .carousel-control-prev,
.headshop-banner .carousel-control-next {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  opacity: 0.65;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.headshop-banner .carousel-control-prev:hover,
.headshop-banner .carousel-control-next:hover {
  opacity: 1;
}
.headshop-banner .carousel-control-prev:hover .headshop-banner__nav-icon,
.headshop-banner .carousel-control-next:hover .headshop-banner__nav-icon {
  transform: scale(1.15);
  transition: transform 0.2s ease;
}
.headshop-banner .carousel-control-prev {
  left: 8px;
}
.headshop-banner .carousel-control-next {
  right: 8px;
}
.headshop-banner .carousel-control-prev-icon,
.headshop-banner .carousel-control-next-icon {
  display: none;
}
.headshop-banner .carousel-indicators {
  bottom: 8px;
}
.headshop-banner .carousel-indicators button {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.5);
  margin: 0 3px;
  transition: background 0.3s ease;
}
.headshop-banner .carousel-indicators button.active {
  background: #fff;
}
.headshop-banner .carousel-indicators button:hover {
  background: rgba(255, 255, 255, 0.8);
}
@media (max-width: 768px) {
  .headshop-banner {
    height: 95vh;
    height: 95svh;
  }
}

/* =====================================================================
   CATEGORIES GRID
   ===================================================================== */
.headshop-categories {
  background: #f0efed;
}
.headshop-categories__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 300px);
  gap: 20px;
}
.headshop-categories__card {
  display: block;
  text-decoration: none;
  overflow: hidden;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.3s ease;
}
.headshop-categories__card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  z-index: 1;
  text-decoration: none;
}
.headshop-categories__card:hover .headshop-categories__image {
  transform: scale(1.05);
}
.headshop-categories__card:hover .headshop-categories__image::after {
  background: rgba(0, 0, 0, 0.3);
}
.headshop-categories__card:first-child {
  grid-column: 1/3;
  grid-row: 1/3;
}
.headshop-categories__card:first-child .headshop-categories__name {
  font-size: 2.2rem;
  letter-spacing: 2px;
}
.headshop-categories__card:nth-child(2) {
  grid-column: 3/4;
  grid-row: 1/2;
}
.headshop-categories__card:nth-child(3) {
  grid-column: 4/5;
  grid-row: 1/2;
}
.headshop-categories__card:nth-child(4) {
  grid-column: 3/4;
  grid-row: 2/3;
}
.headshop-categories__card:nth-child(5) {
  grid-column: 4/5;
  grid-row: 2/3;
}
.headshop-categories__image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  transition: transform 0.5s ease;
}
.headshop-categories__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  transition: background 0.3s ease;
}
.headshop-categories__name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 20px;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  z-index: 2;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
  letter-spacing: 1px;
}
@media (max-width: 1024px) {
  .headshop-categories__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 250px);
  }
  .headshop-categories__card:first-child {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .headshop-categories__card:nth-child(2) {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .headshop-categories__card:nth-child(3) {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  .headshop-categories__card:nth-child(4) {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .headshop-categories__card:nth-child(5) {
    grid-column: 2/3;
    grid-row: 3/4;
  }
  .headshop-categories__name {
    font-size: 1.2rem;
    letter-spacing: 1px;
  }
  .headshop-categories__card:first-child .headshop-categories__name {
    font-size: 1.8rem;
    letter-spacing: 1.5px;
  }
}
@media (max-width: 768px) {
  .headshop-categories {
    overflow: hidden;
  }
  .headshop-categories__grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding-bottom: 8px;
    grid-template-columns: unset;
    grid-template-rows: unset;
  }
  .headshop-categories__grid::-webkit-scrollbar {
    display: none;
  }
  .headshop-categories__grid {
    scrollbar-width: none;
  }
  .headshop-categories__card {
    flex: 0 0 72vw;
    max-width: 72vw;
    aspect-ratio: 4/5;
    scroll-snap-align: start;
    grid-column: unset;
    grid-row: unset;
  }
  .headshop-categories__name {
    font-size: 1.1rem;
    padding: 15px;
    letter-spacing: 0.5px;
  }
  .headshop-categories__card:first-child .headshop-categories__name {
    font-size: 1.4rem;
    padding: 20px;
    letter-spacing: 1px;
  }
}

/* =====================================================================
   FOOTER
   ===================================================================== */
.headshop-footer {
  background: #473335;
  color: #f0efed;
  font-size: 1.5rem;
  border-top: none;
}
.headshop-footer__links-col {
  padding-top: 4px;
}
.headshop-footer a {
  color: inherit;
  text-decoration: none;
}
.headshop-footer a:hover {
  color: #fcaa67;
}
.headshop-footer__top-rule {
  height: 3px;
  background: #fcaa67;
}
.headshop-footer__main {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  align-items: start;
  padding: 36px 0;
}
.headshop-footer__brand-name {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: 1.75rem;
  color: #fcaa67;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-bottom: 6px;
}
.headshop-footer__brand-sub {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(240, 239, 237, 0.75);
  margin-bottom: 20px;
}
.headshop-footer__info-col {
  padding-top: 4px;
}
.headshop-footer__info-col .headshop-footer__info-group + .headshop-footer__info-group {
  margin-top: 20px;
}
.headshop-footer__info-cols {
  display: flex;
  gap: 40px;
  padding-top: 4px;
  flex-wrap: wrap;
}
.headshop-footer__info-title {
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #fcaa67;
  opacity: 1;
  margin-bottom: 8px;
}
.headshop-footer__info-line {
  display: block;
  font-size: 1.5rem;
  color: #f0efed;
  margin-bottom: 4px;
  line-height: 1.5;
}
.headshop-footer__info-line a {
  color: inherit;
}
.headshop-footer__info-line a:hover {
  color: #fcaa67;
}
.headshop-footer__social-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding-top: 4px;
  margin-top: 16px;
}
.headshop-footer__social-label {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #f0efed;
  opacity: 0.5;
}
.headshop-footer__social-btns {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.headshop-footer__social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  transition: opacity 0.2s, transform 0.2s;
}
.headshop-footer__social-btn img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: transform 0.2s;
}
.headshop-footer__social-btn:hover img {
  transform: translateY(-2px);
}
.headshop-footer__social-btn--whatsapp img {
  width: 36px;
  height: 36px;
}
.headshop-footer__bar {
  background: #473335;
  border-top: 1px solid rgba(240, 239, 237, 0.15);
  padding: 14px 0;
}
.headshop-footer__bar-inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.headshop-footer__bar-inner .footer-dev-link {
  position: absolute;
  right: 0;
}
.headshop-footer__bar-text {
  font-size: 1rem;
  color: rgba(240, 239, 237, 0.8);
  letter-spacing: 0.04em;
  text-align: center;
}
.headshop-footer__bar-link {
  font-size: 1rem;
  color: rgba(240, 239, 237, 0.8);
  text-decoration: none !important;
}
.headshop-footer__bar-link:hover {
  color: #fcaa67;
}

@media (max-width: 991px) {
  .headshop-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    padding: 32px 0;
  }
}
@media (max-width: 575px) {
  .headshop-footer__main {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 0;
  }
}
.footer-dev-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1.5px solid rgba(240, 239, 237, 0.8);
  background: transparent;
  color: rgba(240, 239, 237, 0.8) !important;
  text-decoration: none !important;
  transform: rotate(45deg);
  transition: border-color 0.2s ease, color 0.2s ease;
  flex-shrink: 0;
  margin: 10px 20px 16px 10px;
}
.footer-dev-link:hover {
  border-color: #c9a84c;
  color: #c9a84c !important;
  transform: rotate(45deg);
}
.footer-dev-link span {
  display: block;
  transform: rotate(-45deg);
  font-weight: 700;
  font-size: 0.75rem !important;
  line-height: 1;
  letter-spacing: -0.5px;
}

/* =====================================================================
   RECENT PRODUCTS
   ===================================================================== */
.headshop-purchased-products__btn, .headshop-viewed-products__btn, .headshop-new-products__btn, .headshop-sale-products__btn, .headshop-recent-products__btn {
  background: transparent !important;
  color: #3B4A2D !important;
  border: 2px solid #3B4A2D !important;
  font-size: 0.75rem !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 11px 32px !important;
  border-radius: 6px;
  transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}
.headshop-purchased-products__btn:hover, .headshop-viewed-products__btn:hover, .headshop-new-products__btn:hover, .headshop-sale-products__btn:hover, .headshop-recent-products__btn:hover {
  background: #3B4A2D !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(59, 74, 45, 0.35);
  text-decoration: none;
}

.headshop-recent-products {
  background: #f0efed;
}
.headshop-recent-products__title {
  font-size: 2rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #473335;
  position: relative;
  padding-bottom: 15px;
}
.headshop-recent-products__title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #3B4A2D;
  margin: 12px auto 0;
  border-radius: 2px;
}
.headshop-recent-products__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.headshop-recent-products__card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: #473335;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.headshop-recent-products__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  text-decoration: none;
  color: #473335;
}
.headshop-recent-products__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #b0413e;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 2;
}
.headshop-recent-products__image-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f0f0f0;
}
.headshop-recent-products__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.headshop-recent-products__card:hover .headshop-recent-products__image {
  transform: scale(1.08);
}
.headshop-recent-products__info {
  padding: 16px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.headshop-recent-products__name {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.headshop-recent-products__price {
  font-size: 1rem;
  font-weight: 700;
  color: #3B4A2D;
}
.headshop-recent-products__price del {
  color: #8c7173;
  font-weight: 400;
  font-size: 0.85rem;
}
.headshop-recent-products__price ins {
  text-decoration: none;
}
@media (max-width: 1024px) {
  .headshop-recent-products__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .headshop-recent-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .headshop-recent-products__title {
    font-size: 1.5rem;
  }
}
@media (max-width: 480px) {
  .headshop-recent-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .headshop-recent-products__info {
    padding: 12px;
  }
  .headshop-recent-products__name {
    font-size: 0.85rem;
  }
}
/* =====================================================================
   SALE PRODUCTS
   ===================================================================== */
.headshop-sale-products {
  background: #f0efed;
}
.headshop-sale-products .headshop-section-title__eyebrow {
  color: #b0413e;
}
.headshop-sale-products .headshop-section-title__text {
  color: #473335;
}
.headshop-sale-products .headshop-section-title__rule {
  background: #473335;
  opacity: 0.4;
}
.headshop-sale-products__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.headshop-sale-products__card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  color: #473335;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.headshop-sale-products__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.headshop-sale-products__image-link {
  display: block;
  text-decoration: none;
  flex-shrink: 0;
}
.headshop-sale-products__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #b0413e;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 2;
}
.headshop-sale-products__image-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f0f0f0;
}
.headshop-sale-products__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.headshop-sale-products__card:hover .headshop-sale-products__image {
  transform: scale(1.08);
}
.headshop-sale-products__info {
  padding: 16px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.headshop-sale-products__name {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.headshop-sale-products__price {
  font-size: 1rem;
  font-weight: 700;
  color: #3B4A2D;
}
.headshop-sale-products__price del {
  color: #8c7173;
  font-weight: 400;
  font-size: 0.85rem;
}
.headshop-sale-products__price ins {
  text-decoration: none;
  color: #5C9E3F;
}
@media (max-width: 1024px) {
  .headshop-sale-products__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .headshop-sale-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .headshop-sale-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .headshop-sale-products__info {
    padding: 12px;
  }
  .headshop-sale-products__name {
    font-size: 0.85rem;
  }
}
/* =====================================================================
   NEW PRODUCTS
   ===================================================================== */
.headshop-new-products {
  background: #f0efed;
}
.headshop-new-products .headshop-section-title__eyebrow {
  color: #548687;
}
.headshop-new-products .headshop-section-title__text {
  color: #473335;
}
.headshop-new-products .headshop-section-title__rule {
  background: #473335;
  opacity: 0.4;
}
.headshop-new-products__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.headshop-new-products__card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  color: #473335;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.headshop-new-products__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.headshop-new-products__image-link {
  display: block;
  text-decoration: none;
  flex-shrink: 0;
}
.headshop-new-products__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #548687;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 2;
}
.headshop-new-products__image-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f0f0f0;
}
.headshop-new-products__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.headshop-new-products__card:hover .headshop-new-products__image {
  transform: scale(1.08);
}
.headshop-new-products__info {
  padding: 16px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.headshop-new-products__name {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.headshop-new-products__price {
  font-size: 1rem;
  font-weight: 700;
  color: #3B4A2D;
}
.headshop-new-products__price del {
  color: #8c7173;
  font-weight: 400;
  font-size: 0.85rem;
}
.headshop-new-products__price ins {
  text-decoration: none;
  color: #5C9E3F;
}
.headshop-new-products__btn {
  color: #3B4A2D !important;
  border-color: #3B4A2D !important;
}
.headshop-new-products__btn:hover {
  background: #3B4A2D !important;
  color: #473335 !important;
  box-shadow: 0 6px 18px rgba(59, 74, 45, 0.3);
}
.headshop-new-products__image-wrap {
  background: #f0f0f0;
}
.headshop-new-products__name {
  color: #473335;
}
.headshop-new-products__price {
  color: #3B4A2D;
}

@media (max-width: 1024px) {
  .headshop-new-products__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .headshop-new-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .headshop-new-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .headshop-new-products__info {
    padding: 12px;
  }
  .headshop-new-products__name {
    font-size: 0.85rem;
  }
}
/* =====================================================================
   MOST VIEWED PRODUCTS
   ===================================================================== */
.headshop-viewed-products {
  background: #ffffff;
}
.headshop-viewed-products .headshop-section-title__eyebrow {
  color: #3B4A2D;
}
.headshop-viewed-products .headshop-section-title__text {
  color: #473335;
}
.headshop-viewed-products .headshop-section-title__rule {
  background: #473335;
  opacity: 0.4;
}
.headshop-viewed-products__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.headshop-viewed-products__card {
  display: flex;
  flex-direction: column;
  background: #f0efed;
  border-radius: 12px;
  overflow: hidden;
  color: #473335;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.headshop-viewed-products__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.headshop-viewed-products__image-link {
  display: block;
  text-decoration: none;
  flex-shrink: 0;
}
.headshop-viewed-products__image-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f0f0f0;
}
.headshop-viewed-products__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.headshop-viewed-products__card:hover .headshop-viewed-products__image {
  transform: scale(1.08);
}
.headshop-viewed-products__info {
  padding: 16px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.headshop-viewed-products__name {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 8px;
  color: #473335;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.headshop-viewed-products__price {
  font-size: 1rem;
  font-weight: 700;
  color: #3B4A2D;
}
.headshop-viewed-products__price del {
  color: #8c7173;
  font-weight: 400;
  font-size: 0.85rem;
}
.headshop-viewed-products__price ins {
  text-decoration: none;
  color: #5C9E3F;
}
.headshop-viewed-products__btn {
  color: #3B4A2D !important;
  border-color: #3B4A2D !important;
}
.headshop-viewed-products__btn:hover {
  background: #3B4A2D !important;
  color: #473335 !important;
  box-shadow: 0 6px 18px rgba(59, 74, 45, 0.3);
}

@media (max-width: 1024px) {
  .headshop-viewed-products__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .headshop-viewed-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .headshop-viewed-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .headshop-viewed-products__info {
    padding: 12px;
  }
  .headshop-viewed-products__name {
    font-size: 0.85rem;
  }
}
/* =====================================================================
   MOST PURCHASED PRODUCTS
   ===================================================================== */
.headshop-purchased-products {
  background: #f0efed;
}
.headshop-purchased-products .headshop-section-title__eyebrow {
  color: #548687;
}
.headshop-purchased-products .headshop-section-title__text {
  color: #473335;
}
.headshop-purchased-products .headshop-section-title__rule {
  background: #473335;
  opacity: 0.4;
}
.headshop-purchased-products__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.headshop-purchased-products__card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  color: #473335;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.headshop-purchased-products__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.headshop-purchased-products__image-link {
  display: block;
  text-decoration: none;
  flex-shrink: 0;
}
.headshop-purchased-products__image-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f0f0f0;
}
.headshop-purchased-products__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.headshop-purchased-products__card:hover .headshop-purchased-products__image {
  transform: scale(1.08);
}
.headshop-purchased-products__info {
  padding: 16px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.headshop-purchased-products__name {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 8px;
  color: #473335;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.headshop-purchased-products__price {
  font-size: 1rem;
  font-weight: 700;
  color: #3B4A2D;
}
.headshop-purchased-products__price del {
  color: #8c7173;
  font-weight: 400;
  font-size: 0.85rem;
}
.headshop-purchased-products__price ins {
  text-decoration: none;
  color: #5C9E3F;
}
.headshop-purchased-products__btn {
  color: #548687 !important;
  border-color: #548687 !important;
}
.headshop-purchased-products__btn:hover {
  background: #548687 !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(84, 134, 135, 0.3);
}

@media (max-width: 1024px) {
  .headshop-purchased-products__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .headshop-purchased-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .headshop-purchased-products__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .headshop-purchased-products__info {
    padding: 12px;
  }
  .headshop-purchased-products__name {
    font-size: 0.85rem;
  }
}
/* =====================================================================
   CAROUSEL CARD — ADD TO CART BUTTON (shared)
   ===================================================================== */
.headshop-carousel__add-btn {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 8px 12px;
  background: #3B4A2D;
  color: #fff !important;
  font-size: 0.8rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 6px;
  border: none;
  transition: background 0.2s ease, transform 0.15s ease;
}
.headshop-carousel__add-btn:hover {
  background: rgb(50.74, 63.64, 38.7);
  color: #fff !important;
  transform: translateY(-1px);
}
.headshop-carousel__add-btn.loading {
  opacity: 0.7;
  pointer-events: none;
}

/* =====================================================================
   ADD TO CART TOAST
   ===================================================================== */
.headshop-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  left: 24px;
  max-width: 420px;
  margin: 0 auto;
  transform: translateY(16px);
  background: #fff;
  color: #473335;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 14px 20px;
  border-radius: 10px;
  border-left: 4px solid #3B4A2D;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.14);
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 99999;
  pointer-events: none;
}
.headshop-toast--visible {
  opacity: 1;
  transform: translateY(0);
}
.headshop-toast--error {
  border-left-color: #b0413e;
}

/* =====================================================================
   PRODUCTS CAROUSEL
   ===================================================================== */
.headshop-products-carousel {
  position: relative;
}
.headshop-products-carousel__track {
  display: flex !important;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 24px;
  padding-bottom: 8px;
}
.headshop-products-carousel__track::-webkit-scrollbar {
  display: none;
}
.headshop-products-carousel__track > * {
  flex: 0 0 calc(25% - 18px);
  min-width: 200px;
  scroll-snap-align: start;
}
.headshop-products-carousel__btn {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  z-index: 10;
  font-size: 1.2rem;
  line-height: 1;
  color: #473335;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.headshop-products-carousel__btn:hover {
  background: #3B4A2D;
  color: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.headshop-products-carousel__btn--prev {
  left: -22px;
}
.headshop-products-carousel__btn--next {
  right: -22px;
}

@media (max-width: 1024px) {
  .headshop-products-carousel__track > * {
    flex: 0 0 calc(33.33% - 16px);
  }
}
@media (max-width: 768px) {
  .headshop-products-carousel__track > * {
    flex: 0 0 calc(60% - 12px);
  }
  .headshop-products-carousel__btn {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }
  .headshop-products-carousel__btn--prev {
    left: -12px;
  }
  .headshop-products-carousel__btn--next {
    right: -12px;
  }
}
/* =====================================================================
   MISC
   ===================================================================== */
body.home .entry-title,
body.front-page .entry-title {
  display: none !important;
}

html {
  overflow-x: hidden;
}

/* =====================================================================
   SECTION TITLE — Editorial Urbano
   ===================================================================== */
.headshop-section-title {
  margin-bottom: 28px;
}
.headshop-section-title__eyebrow {
  display: block;
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.headshop-section-title__row {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}
.headshop-section-title__text {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: 2.4rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1;
  margin: 0;
  flex-shrink: 0;
}
.headshop-section-title__rule {
  flex: 1;
  height: 1.5px;
  background: currentColor;
  opacity: 0.25;
  margin-bottom: 7px;
}

@media (max-width: 768px) {
  .headshop-section-title__text {
    font-size: 1.6rem;
  }
}
/* =====================================================================
   EMPTY CART PAGE
   ===================================================================== */
.cart-is-empty .entry-title,
.cart-is-empty h1.page-title {
  display: none !important;
}

.wp-block-woocommerce-empty-cart-block {
  padding: 60px 0;
  text-align: center;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  font-size: 1.5rem !important;
  font-weight: 600;
  color: #473335;
}

@media (max-width: 768px) {
  .wp-block-woocommerce-empty-cart-block {
    padding: 40px 0;
  }
  .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    font-size: 1.25rem !important;
  }
}
/* =====================================================================
   PAYMENT GATEWAY CUSTOM FIELDS (checkout)
   Bootscore's radio styling for `ul.wc_payment_methods li input` uses a
   descendant selector, so it also catches text inputs that payment
   plugins (e.g. Asaas credit card form) nest inside the same <li>,
   shrinking them to checkbox size. Reset those back to normal fields.
   ===================================================================== */
.payment_box .form-row input.input-text,
.payment_box .form-row select,
.payment_box .form-row textarea {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  flex-shrink: initial !important;
  appearance: auto !important;
  background-color: var(--bs-body-bg) !important;
  background-image: none !important;
  border: var(--bs-border-width) solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius) !important;
  vertical-align: initial !important;
}

/* =====================================================================
   THANK YOU PAGE — remove leftover Font Awesome glyph
   Parent theme (bootscore/_wc-thank-you.scss) sets
   `.woocommerce ul.order_details::before { content: "\f058"; }` (a
   Font Awesome check-circle codepoint) but never applies a
   font-family/positioning to render it as an icon — the alert-icon
   system elsewhere in the theme uses SVG mask-images instead, and this
   rule was never migrated. Left as-is it renders as a raw missing-glyph
   character next to the order summary. No accompanying box/positioning
   styles exist to restore it as an icon, so removing it entirely.
   ===================================================================== */
.woocommerce ul.order_details::before {
  content: none !important;
}

/* =====================================================================
   CHECKOUT — CEP autocomplete loading state
   ===================================================================== */
#billing_postcode.headshop-cep-loading,
#shipping_postcode.headshop-cep-loading,
#calc_shipping_postcode.headshop-cep-loading {
  background-image: none !important;
  opacity: 0.6;
}

/* =====================================================================
   CHECKOUT — hide the country field. We only ship within Brazil
   (woocommerce_specific_allowed_countries/ship_to_countries already
   restrict selection to BR), so the field always resolves to the single
   available option. Stays in the DOM so its value still submits with
   the checkout form.
   ===================================================================== */
#billing_country_field,
#shipping_country_field {
  display: none !important;
}

/* =====================================================================
   CART — shipping calculator: always-visible CEP field + icon button.
   Country/state/city stay in the form (so their values still submit
   with the calculator's AJAX request) but are hidden from view; the
   CEP autocomplete (custom.js) fills them in from ViaCEP before submit.
   ===================================================================== */
.woocommerce-shipping-calculator .shipping-calculator-button {
  display: none !important;
}
.woocommerce-shipping-calculator #calc_shipping_country_field,
.woocommerce-shipping-calculator #calc_shipping_state_field,
.woocommerce-shipping-calculator #calc_shipping_city_field {
  display: none !important;
}
.woocommerce-shipping-calculator .shipping-calculator-form {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end;
  column-gap: 10px;
  width: 100% !important;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}
.woocommerce-shipping-calculator #calc_shipping_postcode_field {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.woocommerce-shipping-calculator #calc_shipping_postcode_field ~ p {
  flex: 0 0 auto;
  margin: 0;
}
.woocommerce-shipping-calculator label[for=calc_shipping_postcode] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.woocommerce-shipping-calculator #calc_shipping_postcode {
  min-width: 0;
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid rgba(71, 51, 53, 0.15);
  border-radius: 8px;
  box-sizing: border-box;
}
.woocommerce-shipping-calculator button[name=calc_shipping] {
  position: relative;
  flex: 0 0 46px;
  width: 46px !important;
  height: 46px;
  padding: 0;
  color: transparent !important;
  font-size: 0 !important;
  background-color: #3B4A2D !important;
  border-color: #3B4A2D !important;
  border-radius: 8px;
}
.woocommerce-shipping-calculator button[name=calc_shipping]::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background-color: #fff;
  mask: url("../img/search.png") no-repeat center/contain;
  -webkit-mask: url("../img/search.png") no-repeat center/contain;
}
.woocommerce-shipping-calculator button[name=calc_shipping]:hover {
  background-color: rgb(53.1, 66.6, 40.5) !important;
  border-color: rgb(53.1, 66.6, 40.5) !important;
}

/* =====================================================================
   CART — info icon (used next to "Forma de Entrega", injected via
   custom.js). Not scoped to .woocommerce-shipping-calculator since its
   home — the shipping row's <th> — is a sibling cell outside that form.
   Hover (desktop) or tap/click (icon is tabindex="0") reveals a tooltip.
   ===================================================================== */
.headshop-info-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-left: 6px;
  border-radius: 50%;
  background: rgba(71, 51, 53, 0.18);
  color: #473335;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: help;
}
.headshop-info-icon__tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 220px;
  padding: 8px 10px;
  background: #473335;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 20;
}
.headshop-info-icon__tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #473335;
}
.headshop-info-icon:hover .headshop-info-icon__tooltip, .headshop-info-icon:focus .headshop-info-icon__tooltip {
  display: block;
}

@media (max-width: 768px) {
  .woocommerce table.shop_table_responsive tr.shipping th,
  .woocommerce-page table.shop_table_responsive tr.shipping th {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    box-sizing: border-box;
  }
  .woocommerce table.shop_table_responsive tr.shipping td::before,
  .woocommerce-page table.shop_table_responsive tr.shipping td::before {
    display: none !important;
  }
  .woocommerce table.shop_table_responsive tr.shipping td,
  .woocommerce-page table.shop_table_responsive tr.shipping td {
    width: 100% !important;
    text-align: left !important;
  }
  .woocommerce table.shop_table_responsive tr.shipping .woocommerce-shipping-calculator,
  .woocommerce-page table.shop_table_responsive tr.shipping .woocommerce-shipping-calculator {
    display: block;
    width: 100%;
    margin-top: 12px;
  }
  .cart_totals table.shop_table_responsive th,
  .cart_totals table.shop_table_responsive td {
    border-top: none !important;
  }
}
/* =====================================================================
   Bootstrap color tokens — override do azul padrão pela paleta da loja
   O Bootstrap deste tema vem pré-compilado no tema pai e carrega DEPOIS
   do nosso CSS no cascade — !important é necessário em tudo abaixo,
   não é estilo, é a única forma de vencer a ordem de carregamento.
   Duas camadas: tokens de :root (o que o Bootstrap consome via var())
   e classes específicas (o que o Bootstrap grava como cor fixa).
   ===================================================================== */
:root {
  --bs-primary: #3B4A2D !important;
  --bs-primary-rgb: 59, 74, 45 !important;
  --bs-secondary: #548687 !important;
  --bs-secondary-rgb: 84, 134, 135 !important;
  --bs-link-color: #3B4A2D !important;
  --bs-link-hover-color: rgb(51.92, 65.12, 39.6) !important;
  --bs-focus-ring-color: rgba(59, 74, 45, 0.25) !important;
}

.btn-primary,
.btn-primary:disabled {
  background-color: #3B4A2D !important;
  border-color: #3B4A2D !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: rgb(53.1, 66.6, 40.5) !important;
  border-color: rgb(53.1, 66.6, 40.5) !important;
}

.btn-secondary,
.btn-secondary:disabled {
  background-color: #548687 !important;
  border-color: #548687 !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
  background-color: rgb(75.6, 120.6, 121.5) !important;
  border-color: rgb(75.6, 120.6, 121.5) !important;
}

.btn-outline-primary {
  color: #3B4A2D !important;
  border-color: #3B4A2D !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: #3B4A2D !important;
  border-color: #3B4A2D !important;
  color: #fff !important;
}

.btn-outline-secondary {
  color: #548687 !important;
  border-color: #548687 !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
  background-color: #548687 !important;
  border-color: #548687 !important;
  color: #fff !important;
}

.form-control:focus,
.form-select:focus {
  border-color: #3B4A2D !important;
  box-shadow: 0 0 0 0.25rem rgba(59, 74, 45, 0.25) !important;
}

.form-check-input:checked {
  background-color: #3B4A2D !important;
  border-color: #3B4A2D !important;
}

.form-check-input:focus {
  border-color: #3B4A2D !important;
  box-shadow: 0 0 0 0.25rem rgba(59, 74, 45, 0.25) !important;
}

/* =====================================================================
   WooCommerce's own .button/.button.alt/.checkout-button/a.button-alt
   family (not Bootstrap's .btn classes — used by "Add to cart" on the
   product page, "Proceed to checkout" on the cart, etc.) reads the
   resting-state color from var(--bs-primary), already fixed above, but
   the parent theme bakes the :hover color as a literal compiled RGB
   value (shade-color($primary, 10%) at build time) instead of a CSS
   variable — needs its own override.
   ===================================================================== */
.woocommerce div.product form.cart .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button:hover,
.woocommerce a.button-alt:hover {
  background-color: rgb(53.1, 66.6, 40.5) !important;
  border-color: rgb(53.1, 66.6, 40.5) !important;
}

/* =====================================================================
   MOBILE UX — larger touch targets for quantity steppers & remove icon
   The +/- buttons measured ~31-35x38px and the cart remove icon 24x24px
   — both below the 44x44px minimum recommended tap target, causing
   mis-taps (especially risky on the destructive remove icon).
   ===================================================================== */
@media (max-width: 768px) {
  .quantity .input-group {
    width: auto !important;
    flex-wrap: nowrap !important;
  }
  .quantity .input-group-text {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
  }
  .quantity .form-control {
    min-height: 44px;
    width: 48px !important;
    flex-shrink: 0;
  }
  .woocommerce-cart-form a.remove {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
  .woocommerce-cart-form a.remove::before {
    position: static !important;
    transform: none !important;
    width: 18px;
    height: 18px;
  }
}
/* =====================================================================
   CART — desktop thumbnail size
   Overrides WooCommerce's default 32px cart thumbnail (too small to
   recognize the product at a glance). Scoped to desktop/tablet only —
   the mobile card layout below sizes the thumbnail to 100% width
   instead, and this selector's specificity would otherwise win there.
   ===================================================================== */
@media (min-width: 769px) {
  .woocommerce-cart table.cart .product-thumbnail img {
    width: 160px;
    height: 160px;
    object-fit: contain;
  }
}
/* =====================================================================
   CART — mobile card layout + AJAX auto-update
   WooCommerce's default small-screen CSS turns each cart row into a
   stack of "Label: value" lines and hides the product thumbnail
   entirely. Rebuilt as a compact card (image + name + price + qty +
   subtotal) using CSS Grid directly on the existing <tr>/<td> markup —
   no template override needed, cells are repositioned via grid-area
   regardless of DOM order.
   ===================================================================== */
@media (max-width: 768px) {
  .woocommerce-cart-form__contents {
    display: block !important;
    background: #fff;
    border: 1px solid rgba(71, 51, 53, 0.12);
    border-radius: 12px;
    overflow: hidden;
  }
  .woocommerce-cart-form__contents tbody {
    display: block !important;
  }
  .woocommerce-cart-form__cart-item {
    position: relative;
    display: grid !important;
    grid-template-columns: 140px minmax(0, 1fr);
    grid-template-areas: "thumb name" "thumb price" "thumb qty" "thumb subtotal";
    column-gap: 14px;
    row-gap: 6px;
    align-items: start;
    padding: 20px 16px !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(71, 51, 53, 0.12) !important;
  }
  .woocommerce-cart-form__cart-item:last-of-type {
    border-bottom: 0 !important;
  }
  .woocommerce-cart-form__cart-item td {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    text-align: left !important;
  }
  .woocommerce-cart-form__cart-item td::before {
    display: none !important;
  }
  .woocommerce-cart-form__cart-item .product-thumbnail {
    grid-area: thumb;
    display: block !important;
    position: relative;
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(71, 51, 53, 0.04);
  }
  .woocommerce-cart-form__cart-item .product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
  }
  .woocommerce-cart-form__cart-item .product-name {
    grid-area: name;
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.3;
  }
  .woocommerce-cart-form__cart-item .product-name a {
    color: #473335;
    text-decoration: none;
  }
  .woocommerce-cart-form__cart-item .product-name a:hover {
    color: #3B4A2D;
  }
  .woocommerce-cart-form__cart-item .product-price {
    grid-area: price;
    font-size: 0.9rem;
    color: #8c7173;
  }
  .woocommerce-cart-form__cart-item .product-quantity {
    grid-area: qty;
    margin-top: 4px;
  }
  .woocommerce-cart-form__cart-item .product-quantity .input-group {
    width: fit-content !important;
    border: 1px solid #473335;
    border-radius: 6px;
    overflow: hidden;
  }
  .woocommerce-cart-form__cart-item .product-quantity .input-group-text {
    background: #473335 !important;
    color: #fff !important;
    border: 0 !important;
    width: 30px;
    height: 30px;
    min-width: 30px !important;
    min-height: 30px !important;
    font-size: 0.95rem;
  }
  .woocommerce-cart-form__cart-item .product-quantity .form-control {
    border: 0 !important;
    background: #fff !important;
    text-align: center;
    flex: 0 0 26px !important;
    width: 26px !important;
    min-height: 30px !important;
    padding: 0 !important;
  }
  .woocommerce-cart-form__cart-item .product-subtotal {
    grid-area: subtotal;
    font-weight: 700;
    font-size: 1.05rem;
    color: #473335;
    margin-top: 2px;
  }
  .woocommerce-cart-form__cart-item .product-remove {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 1;
  }
  .woocommerce-cart-form__cart-item .product-remove a.remove {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55) !important;
  }
  .woocommerce-cart-form__cart-item .product-remove a.remove::before {
    background-color: #fff !important;
  }
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
  .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: transparent !important;
  }
  .woocommerce-cart-form.headshop-cart-updating {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.15s ease;
  }
}
/* =====================================================================
   CART — "Total do carrinho" full width on tablet
   WooCommerce's own woocommerce-layout.css floats .cart_totals at 48%
   width unconditionally (media="all", not scoped to desktop). Its
   smallscreen.css resets that back to 100%/float:none, but only up to
   768px — leaving a gap on tablet widths (769–1024px) where the totals
   box renders cramped at roughly half the available width.
   ===================================================================== */
@media (max-width: 1024px) {
  .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
  }
}
/* =====================================================================
   CHECKOUT — stronger visual separation between Contato / Endereço /
   Pagamento. The classic WooCommerce checkout renders these as one
   continuous flow with no grouping — CSS-only card treatment on the
   existing #customer_details / #order_review / #payment wrappers, no
   template override and no risk to checkout validation/AJAX.
   ===================================================================== */
#customer_details,
.woocommerce-checkout-review-order {
  background: #fff;
  border: 1px solid rgba(71, 51, 53, 0.08);
  border-radius: 12px;
  padding: 20px 16px;
  margin-bottom: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

#customer_details h3,
#order_review_heading,
.headshop-payment-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.15rem;
  margin-bottom: 1rem;
}
#customer_details h3 i,
#order_review_heading i,
.headshop-payment-heading i {
  color: #3B4A2D;
  font-size: 1.1rem;
}

#order_review_heading {
  border: 0;
  padding: 0;
  margin: 0 0 1rem;
  background: none;
  box-shadow: none;
}

#payment {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 2px solid rgba(71, 51, 53, 0.08);
}

.headshop-payment-heading {
  color: #473335;
}

@media (max-width: 768px) {
  .woocommerce-checkout-review-order {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
}
/* =====================================================================
   CHECKOUT — accepted card brand icons near the card number field
   Injected via JS (custom.js) since the field is rendered by the
   Asaas payment gateway (third-party plugin, not safe to template-
   override). Simple neutral SVG marks, not official brand assets.
   ===================================================================== */
.headshop-card-brands {
  display: flex;
  gap: 6px;
  margin: 6px 0 12px;
}
.headshop-card-brands img {
  height: 22px;
  width: auto;
}

/* =====================================================================
   CHECKOUT — fill test data button (WP_DEBUG only)
   ===================================================================== */
.headshop-debug-fill-btn {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  padding: 10px 16px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  background-color: #a46497;
  border: none;
  border-radius: 999px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}
.headshop-debug-fill-btn:hover {
  background-color: rgb(140.6341463415, 82.5658536585, 128.8390243902);
}

/* =====================================================================
   CHECKOUT — order review list on mobile
   review-order.php has no thumbnail column (only product-name /
   product-total) and isn't a .shop_table_responsive table, so it gets
   none of the cart page's mobile handling. Rebuilt to match the cart:
   a small square photo with a quantity badge, name + variation
   stacked beside it, price on the right — plus a cleaner Subtotal /
   Forma de Entrega / Total footer. The thumbnail itself is injected
   server-side via the woocommerce_cart_item_name filter (functions.php).
   ===================================================================== */
@media (max-width: 768px) {
  .woocommerce-checkout-review-order-table {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
  }
  .woocommerce-checkout-review-order-table thead {
    display: none !important;
  }
  .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout-review-order-table tfoot {
    display: block !important;
  }
  .woocommerce-checkout-review-order-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 12px;
    align-items: start;
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(71, 51, 53, 0.1) !important;
    background: transparent !important;
  }
  .woocommerce-checkout-review-order-table tbody tr:first-child {
    padding-top: 0 !important;
  }
  .woocommerce-checkout-review-order-table tbody tr:last-child {
    border-bottom: 0 !important;
  }
  .woocommerce-checkout-review-order-table tbody td {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .woocommerce-checkout-review-order-table td.product-name {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas: "thumb name" "thumb variation";
    column-gap: 12px;
    row-gap: 2px;
    text-align: left !important;
  }
  .woocommerce-checkout-review-order-table .headshop-checkout-item {
    display: contents;
  }
  .woocommerce-checkout-review-order-table .headshop-checkout-item__thumb {
    grid-area: thumb;
    position: relative;
    width: 56px;
    height: 56px;
    background: rgba(71, 51, 53, 0.04);
  }
  .woocommerce-checkout-review-order-table .headshop-checkout-item__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
    border-radius: 8px;
  }
  .woocommerce-checkout-review-order-table .headshop-checkout-item__qty {
    position: absolute;
    top: -6px;
    left: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #473335;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    border-radius: 999px;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  }
  .woocommerce-checkout-review-order-table .headshop-checkout-item__name {
    grid-area: name;
    font-weight: 600;
    line-height: 1.3;
  }
  .woocommerce-checkout-review-order-table .product-quantity {
    display: none !important;
  }
  .woocommerce-checkout-review-order-table dl.variation {
    grid-area: variation;
    margin: 0;
    font-size: 0.8rem;
    color: #8c7173;
  }
  .woocommerce-checkout-review-order-table dl.variation dt,
  .woocommerce-checkout-review-order-table dl.variation dd {
    display: inline-block !important;
    float: none !important;
    clear: none !important;
    margin: 0 4px 0 0 !important;
    font-weight: 400;
    white-space: nowrap;
  }
  .woocommerce-checkout-review-order-table dl.variation dd p {
    display: inline;
    margin: 0;
  }
  .woocommerce-checkout-review-order-table td.product-total {
    text-align: right !important;
    font-weight: 600;
    white-space: nowrap;
  }
  .woocommerce-checkout-review-order-table tfoot tr {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .woocommerce-checkout-review-order-table tfoot th,
  .woocommerce-checkout-review-order-table tfoot td {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    text-align: left !important;
    font-weight: 400;
  }
  .woocommerce-checkout-review-order-table tfoot td {
    text-align: right !important;
  }
  .woocommerce-checkout-review-order-table tfoot tr.order-total {
    border-top: 1px solid rgba(71, 51, 53, 0.15) !important;
    margin-top: 4px;
    padding-top: 14px !important;
  }
  .woocommerce-checkout-review-order-table tfoot tr.order-total th,
  .woocommerce-checkout-review-order-table tfoot tr.order-total td {
    font-weight: 700;
    font-size: 1.1rem;
  }
}
/* =====================================================================
   ORDER RECEIVED (thank you page) — tighter spacing and smaller section
   titles. Unstyled by default: sections ran with generic h2 sizing
   (up to 2rem) and the order-overview box had inconsistent gaps
   between its items — the parent theme's mobile CSS only adds
   margin-bottom to the order/date/email items, not total/payment
   method (wc-thank-you.scss), so those two ran together.
   ===================================================================== */
.woocommerce-order {
  padding: 20px 16px;
  max-width: 640px;
  margin: 0 auto;
  font-size: 1rem;
}
.woocommerce-order .woocommerce-thankyou-order-received {
  margin-bottom: 20px;
}
.woocommerce-order .woocommerce-order-details__title {
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 32px;
  margin-bottom: 16px;
  padding-top: 20px;
  border-top: 1px solid rgba(71, 51, 53, 0.12);
}
.woocommerce-order section:first-of-type .woocommerce-order-details__title {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.woocommerce-order-overview li {
  margin-bottom: 12px !important;
  font-size: 0.9rem !important;
}
.woocommerce-order-overview li:last-child {
  margin-bottom: 0 !important;
}
.woocommerce-order-overview li strong {
  font-size: 1.2em !important;
}

.woocommerce-table--order-details {
  display: block;
  overflow-x: auto;
  font-size: 1.05rem;
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
  padding: 10px 12px !important;
}

/* =====================================================================
   ORDER RECEIVED — "ticket" redesign (headshop-order-*)
   Reaproveita o padrão "eyebrow" (uppercase, letter-spacing) já usado
   no rodapé (.headshop-footer__info-title) e a fonte de destaque Syne
   (.headshop-footer__brand-name) — sem carregar fonte nova.
   ===================================================================== */
.headshop-order .headshop-order-eyebrow {
  display: block;
  font-size: clamp(0.8rem, 3.4vw, 0.9rem);
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #8c7173;
}

.headshop-order-hero {
  text-align: center;
  padding: 4px 0 clamp(1.25rem, 6vw, 1.75rem);
}
.headshop-order-hero__check {
  width: clamp(2.875rem, 13vw, 3.25rem);
  height: clamp(2.875rem, 13vw, 3.25rem);
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #3B4A2D;
  display: grid;
  place-items: center;
  animation: headshop-order-pop 0.45s cubic-bezier(0.2, 1.4, 0.4, 1) both;
}
.headshop-order-hero__check svg {
  width: 55%;
  height: 55%;
  stroke: #fff;
  stroke-width: 3;
  fill: none;
}
.headshop-order-hero h1 {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: clamp(1.375rem, 6.5vw, 1.75rem);
  line-height: 1.15;
}
.headshop-order-hero p {
  color: #8c7173;
  margin-top: 10px;
  font-size: clamp(1.05rem, 4.5vw, 1.2rem);
}
.headshop-order-hero p strong {
  color: #473335;
}

@keyframes headshop-order-pop {
  from {
    transform: scale(0.4);
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .headshop-order-hero__check {
    animation: none;
  }
}
.headshop-order-ticket {
  background: #fff;
  border: 1px solid rgba(71, 51, 53, 0.12);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(71, 51, 53, 0.05);
}
.headshop-order-ticket__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  padding: clamp(0.875rem, 4.5vw, 1.125rem) clamp(0.875rem, 4.5vw, 1.25rem);
  background: #f0efed;
}
.headshop-order-ticket__num strong {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 7vw, 1.875rem);
  display: block;
}
.headshop-order-ticket__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px clamp(0.875rem, 4.5vw, 1.25rem);
  padding: clamp(0.875rem, 4.5vw, 1.125rem) clamp(0.875rem, 4.5vw, 1.25rem);
  border-bottom: 1px dashed rgba(71, 51, 53, 0.15);
}
@media (max-width: 355px) {
  .headshop-order-ticket__meta {
    grid-template-columns: 1fr;
  }
}
.headshop-order-ticket__val {
  font-size: clamp(0.906rem, 3.9vw, 1rem);
  font-weight: 600;
  margin-top: 2px;
}
.headshop-order-ticket__items {
  padding: 6px clamp(0.875rem, 4.5vw, 1.25rem);
}
.headshop-order-ticket__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 16px;
  padding: 14px 0;
  font-size: clamp(0.906rem, 3.9vw, 1rem);
}
.headshop-order-ticket__item + .headshop-order-ticket__item {
  border-top: 1px solid rgba(71, 51, 53, 0.1);
}
.headshop-order-ticket__qty {
  color: #8c7173;
  font-size: 0.8rem;
  white-space: nowrap;
}
.headshop-order-ticket .wc-item-meta {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  font-size: 0.8rem;
  color: #8c7173;
}
.headshop-order-ticket__price {
  font-size: clamp(0.906rem, 3.9vw, 1rem);
  font-weight: 600;
  margin-left: auto;
  white-space: nowrap;
}
.headshop-order-ticket__shipping {
  padding: 14px clamp(0.875rem, 4.5vw, 1.25rem);
  border-top: 1px dashed rgba(71, 51, 53, 0.15);
}
.headshop-order-ticket__totals {
  border-top: 1px dashed rgba(71, 51, 53, 0.15);
  padding: clamp(0.75rem, 4vw, 1rem) clamp(0.875rem, 4.5vw, 1.25rem) clamp(1rem, 4.5vw, 1.25rem);
  background: rgb(249.75, 249.4, 248.7);
}
.headshop-order-ticket__row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  color: #8c7173;
  font-size: 0.8rem;
}
.headshop-order-ticket__row--grand {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(71, 51, 53, 0.15);
  color: #473335;
  align-items: baseline;
}
.headshop-order-ticket__label {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: clamp(0.9rem, 3.8vw, 1rem);
}
.headshop-order-ticket__amount {
  font-size: clamp(1.1875rem, 5.5vw, 1.4375rem);
  font-weight: 600;
}

.headshop-order-badge {
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: clamp(0.656rem, 2.9vw, 0.719rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  padding: 7px 12px;
  border-radius: 999px;
  white-space: nowrap;
}
.headshop-order-badge.is-confirmed {
  background: #3B4A2D;
}
.headshop-order-badge.is-pending {
  background: rgb(126, 101.7, 103.5);
}
.headshop-order-badge.is-declined {
  background: #b0413e;
}

.headshop-order-pickup,
.headshop-order-delivery {
  margin-top: 20px;
  border-radius: 10px;
  padding: clamp(1.125rem, 5.5vw, 1.5rem) clamp(0.875rem, 4.5vw, 1.25rem) clamp(0.875rem, 4.5vw, 1.25rem);
}
.headshop-order-pickup h2,
.headshop-order-delivery h2 {
  font-family: "Syne", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(1.125rem, 5.2vw, 1.375rem);
  letter-spacing: 0.02em;
  margin: 6px 0 12px;
}
.headshop-order-pickup address,
.headshop-order-delivery address {
  font-style: normal;
  font-size: clamp(1.05rem, 4.5vw, 1.2rem);
  line-height: 1.55;
}

.headshop-order-pickup {
  background: #473335;
  color: #f0efed;
}
.headshop-order-pickup .headshop-order-eyebrow {
  color: rgba(240, 239, 237, 0.65);
}
.headshop-order-pickup__hours {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(240, 239, 237, 0.18);
  font-size: clamp(0.95rem, 4vw, 1.05rem);
  line-height: 1.6;
  color: rgba(240, 239, 237, 0.85);
}
.headshop-order-pickup__hours b {
  color: #f0efed;
  font-weight: 600;
}

.headshop-order-delivery {
  background: #f0efed;
  color: #473335;
}

.headshop-order-btn-whats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  margin-top: 18px;
  background: #3B4A2D;
  color: #fff;
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: clamp(0.875rem, 3.9vw, 0.9375rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 18px;
  border-radius: 999px;
}
.headshop-order-btn-whats svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.headshop-order-btn-whats:hover, .headshop-order-btn-whats:focus-visible {
  background: rgb(53.1, 66.6, 40.5);
  color: #fff;
}

.headshop-order-back-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 24px;
  font-family: "Syne", sans-serif;
  font-weight: 700;
  font-size: clamp(0.84rem, 3.7vw, 0.906rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3B4A2D;
  text-decoration: none;
  padding: 12px;
}
.headshop-order-back-link:hover, .headshop-order-back-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.headshop-order-note {
  margin-top: 28px;
  text-align: center;
  font-size: clamp(0.95rem, 4vw, 1.05rem);
  color: #8c7173;
}
.headshop-order-note a {
  color: #8c7173;
  text-decoration: underline;
}

/*# sourceMappingURL=main.css.map */
