/* Lolli & Lace final site-polish pass */

/* Larger desktop navigation without disturbing the mobile header. */
@media (min-width: 768px) {
  .site-header .main-navigation ul.menu > li > a,
  .site-header .main-navigation ul.nav-menu > li > a {
    font-size: 16.5px !important;
    font-weight: 500 !important;
    letter-spacing: .012em !important;
  }
}

/* Title-case variable product CTA, including disabled product-page state. */
.woocommerce a.button.product_type_variable,
.llpp-waiting-cta,
.single_add_to_cart_button {
  text-transform: capitalize !important;
}

/* Replace the damaged Pinterest SVG with the actual Pinterest brand glyph. */
.ll-footer-social a[aria-label="Pinterest"] svg,
.site-footer a[aria-label="Pinterest"] svg {
  display: none !important;
}
.ll-footer-social a[aria-label="Pinterest"]::before,
.site-footer a[aria-label="Pinterest"]::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.424 7.618 11.174-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.965 1.406-5.965s-.359-.72-.359-1.782c0-1.669.968-2.915 2.173-2.915 1.024 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.195.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.56-5.418 5.207 0 1.031.397 2.137.893 2.739.098.119.112.223.083.344-.091.378-.293 1.199-.334 1.363-.053.225-.172.271-.402.165-1.495-.696-2.429-2.88-2.429-4.632 0-3.773 2.741-7.253 7.904-7.253 4.151 0 7.375 2.958 7.375 6.91 0 4.123-2.599 7.441-6.197 7.441-1.21 0-2.347-.629-2.738-1.373 0 0-.599 2.282-.744 2.84-.282 1.084-1.064 2.434-1.583 3.261 1.19.368 2.453.568 3.762.568 6.624 0 11.99-5.367 11.99-11.987C24.007 5.367 18.641.001 12.017.001z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.424 7.618 11.174-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.965 1.406-5.965s-.359-.72-.359-1.782c0-1.669.968-2.915 2.173-2.915 1.024 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.195.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.56-5.418 5.207 0 1.031.397 2.137.893 2.739.098.119.112.223.083.344-.091.378-.293 1.199-.334 1.363-.053.225-.172.271-.402.165-1.495-.696-2.429-2.88-2.429-4.632 0-3.773 2.741-7.253 7.904-7.253 4.151 0 7.375 2.958 7.375 6.91 0 4.123-2.599 7.441-6.197 7.441-1.21 0-2.347-.629-2.738-1.373 0 0-.599 2.282-.744 2.84-.282 1.084-1.064 2.434-1.583 3.261 1.19.368 2.453.568 3.762.568 6.624 0 11.99-5.367 11.99-11.987C24.007 5.367 18.641.001 12.017.001z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Collection pages: full-width, uninterrupted grid beginning in column one. */
body.ll-collection-page .content-area,
body.tax-product_cat .content-area {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
body.ll-collection-page .widget-area,
body.tax-product_cat .widget-area,
body.ll-collection-page .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination {
  display: none !important;
}
/* The artwork already contains the collection title and description. */
body.ll-collection-page .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header {
  display: none !important;
}
body.ll-collection-page main.site-main > ul.products,
body.tax-product_cat main.site-main > ul.products {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  grid-auto-flow: row !important;
  justify-content: start !important;
  margin-top: clamp(28px, 3vw, 46px) !important;
}
body.ll-collection-page main.site-main > ul.products::before,
body.ll-collection-page main.site-main > ul.products::after,
body.tax-product_cat main.site-main > ul.products::before,
body.tax-product_cat main.site-main > ul.products::after {
  display: none !important;
  content: none !important;
}
body.ll-collection-page main.site-main > ul.products > li.product,
body.tax-product_cat main.site-main > ul.products > li.product {
  float: none !important;
  clear: none !important;
  grid-column: auto !important;
  margin-left: 0 !important;
  transform: none !important;
}
body.ll-collection-page main.site-main > ul.products > li.product:first-child,
body.tax-product_cat main.site-main > ul.products > li.product:first-child {
  grid-column-start: 1 !important;
}

/* Every archive card uses one filled 2:3 frame—no white letterbox bars. */
body.ll-collection-page ul.products li.product img,
body.tax-product_cat ul.products li.product img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #faf6f4 !important;
}

/* Retire the inert collection-story promotion everywhere it appears. */
.ll-collection-story,
[data-section="explore-top-halloween-costumes"] {
  display: none !important;
}

/* Four balanced related-product cards, starting flush left. */
.llpp-related .related,
.llpp-related ul.products {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.llpp-related ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.llpp-related ul.products::before,
.llpp-related ul.products::after {
  display: none !important;
  content: none !important;
}
.llpp-related ul.products > li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  grid-column: auto !important;
}

/* Related products use a completely filled 2:3 photographic frame. This
   intentionally overrides the older global contain rule that creates bars. */
body.single-product .llpp-related ul.products li.product img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

/* The included-items blocks repeat information already presented elsewhere. */
body.single-product .llpp-quick-info > details:first-child {
  display: none !important;
}

/* Working product-search dialog. */
.llsp-search-dialog {
  width: min(620px, calc(100% - 32px));
  padding: 34px;
  overflow: visible;
  border: 1px solid #eadbd7;
  border-radius: 18px;
  background: #fff;
  color: #321014;
  box-shadow: 0 28px 90px rgba(50, 16, 20, .28);
}
.llsp-search-dialog::backdrop {
  background: rgba(35, 12, 16, .58);
  backdrop-filter: blur(4px);
}
.llsp-search-close {
  position: absolute;
  top: 8px;
  right: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #321014;
  font-size: 30px;
  line-height: 1;
}
.llsp-search-dialog label {
  display: block;
  margin-bottom: 16px;
  font: 500 clamp(27px, 4vw, 40px)/1.1 Georgia, serif;
}
.llsp-search-dialog form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.llsp-search-dialog input {
  min-width: 0;
  height: 52px;
  padding: 0 15px;
  border: 1px solid #d9c9c6;
  border-radius: 6px;
  background: #fff;
  color: #321014;
  font-size: 16px;
}
.llsp-search-dialog button[type="submit"] {
  min-height: 52px;
  padding: 0 25px;
  border: 0;
  border-radius: 6px;
  background: #781945;
  color: #fff;
  font-weight: 800;
}

/* Back to top: hidden until scrolling makes it useful. */
.llsp-back-to-top {
  position: fixed;
  z-index: 9990;
  right: 22px;
  bottom: 22px;
  display: flex;
  visibility: hidden;
  align-items: center;
  gap: 6px;
  min-width: 58px;
  min-height: 46px;
  padding: 8px 13px;
  transform: translateY(14px);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: #321014;
  box-shadow: 0 12px 30px rgba(50,16,20,.24);
  color: #fff;
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.llsp-back-to-top.is-visible {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
}
.llsp-back-to-top span { font-size: 20px; line-height: 1; }
.llsp-back-to-top b { font-size: 12px; }

/* Desktop homepage trust statement in title case. */
@media (min-width: 768px) {
  .ll-trust-line { text-transform: capitalize !important; }
}

/* Founder portrait and a balanced Our Story composition. */
.llhk-story:has(.llhk-founder-photo) {
  display: grid !important;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(34px, 5vw, 72px);
  max-width: 1120px !important;
  text-align: left !important;
}
.llhk-founder-photo {
  overflow: hidden;
  margin: 0;
  border: 1px solid #eadbd7;
  border-radius: 22px;
  background: #fbf7f5;
  box-shadow: 0 20px 55px rgba(61, 15, 22, .13);
}
.llhk-founder-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1126 / 1397;
  object-fit: cover;
}

/* Size charts stay inside the phone viewport and scroll within their frame. */
@media (max-width: 767px) {
  .llpp-related ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .llhk-story:has(.llhk-founder-photo) {
    grid-template-columns: 1fr !important;
    gap: 28px;
    text-align: center !important;
  }
  .llhk-founder-photo {
    width: min(100%, 390px);
    margin-right: auto;
    margin-left: auto;
  }
  body.ll-collection-page .ll-collection-hero,
  body.tax-product_cat .ll-collection-hero,
  body.post-type-archive-product .ll-collection-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
  }
  body.ll-collection-page .ll-collection-hero img,
  body.tax-product_cat .ll-collection-hero img,
  body.post-type-archive-product .ll-collection-hero img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }
  .llsp-search-dialog {
    padding: 29px 18px 20px;
    border-radius: 14px;
  }
  .llsp-search-dialog form > div { grid-template-columns: 1fr; }
  .llsp-search-dialog button[type="submit"] { width: 100%; }
  .llsp-back-to-top { right: 12px; bottom: 14px; }
  body.single-product .llsp-back-to-top { bottom: 82px; }
  body.single-product .llpp-exported-html .ll-table-wrap,
  body.single-product .llpp-exported-html [class$="-table-wrap"],
  body.single-product .llpp-exported-html [class*="-table-wrap "] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    border-radius: 8px;
  }
  body.single-product .llpp-exported-html .ll-table-wrap table,
  body.single-product .llpp-exported-html [class$="-table-wrap"] table,
  body.single-product .llpp-exported-html [class*="-table-wrap "] table {
    display: table !important;
    width: max-content !important;
    min-width: 680px !important;
    max-width: none !important;
    table-layout: auto !important;
    margin: 0 !important;
  }
  body.single-product .llpp-exported-html .ll-table-wrap th,
  body.single-product .llpp-exported-html .ll-table-wrap td,
  body.single-product .llpp-exported-html [class$="-table-wrap"] th,
  body.single-product .llpp-exported-html [class$="-table-wrap"] td,
  body.single-product .llpp-exported-html [class*="-table-wrap "] th,
  body.single-product .llpp-exported-html [class*="-table-wrap "] td {
    width: auto !important;
    min-width: 112px !important;
    padding: 10px 12px !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}
