/* =========================================
   MOBILE PRODUCT IMAGE FIX
========================================= */

@media (max-width: 768px) {

  .product-gallery-side {
    position: relative;
    z-index: 1;
  }

  .product-gallery-inner {
    width: 100%;
  }

  .product-hero-img,
  .product-gallery-img {

    width: 100% !important;
    aspect-ratio: 1 / 1 !important;

    object-fit: cover !important;
    object-position: center center !important;

    display: block !important;
  }

}



/* =========================================
   MOBILE HEADER STACK FIX
========================================= */

@media (max-width: 768px) {

  .announcement-bar,
  .site-announcement-bar {
    position: relative !important;
    z-index: 9999;
  }

  .site-header,
  header.site-header,
  .header-wrapper {
    position: sticky !important;
    top: 0 !important;
    z-index: 9998;
  }

}



/* =========================================
   SIZE SELECTOR PANEL
========================================= */

.size-selector-panel {
  padding: 28px 24px !important;
  background: #fff !important;
}



/* HEADER */
.size-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 28px;
}



/* TITLE */
.size-panel-header h3 {

  font-family: "GoldenbookCustom", serif !important;

  font-size: 32px !important;
  font-weight: 400 !important;

  letter-spacing: 0.04em !important;
  text-transform: uppercase;

  margin: 0;

  color: #1b3f33 !important;
}



/* CLOSE BUTTON */
.size-panel-close {
  background: transparent !important;
  border: none !important;

  color: #1b3f33 !important;

  cursor: pointer;

  transition: transform 0.25s ease;
}

.size-panel-close:hover {
  transform: rotate(90deg);
}



/* SIZE ROW */
.size-selection-item {

  width: 100%;

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

  padding: 18px 0 !important;

  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(27, 63, 51, 0.12) !important;

  cursor: pointer;

  transition: all 0.25s ease;
}



/* HOVER */
.size-selection-item:hover {
  padding-left: 8px !important;
}



/* SIZE TEXT */
.size-name {

  font-size: 18px !important;
  letter-spacing: 0.04em;

  color: #1b3f33 !important;

  transition: color 0.25s ease;
}



/* CUSTOM RADIO */
.size-radio-circle {

  width: 18px;
  height: 18px;

  border: 1.5px solid #1b3f33;
  border-radius: 50%;

  position: relative;

  transition: all 0.25s ease;
}



/* ACTIVE STATE */
.size-selection-item.selected .size-name {
  color: #1b3f33 !important;
}



/* ACTIVE CIRCLE */
.size-selection-item.selected .size-radio-circle {

  border-color: #1b3f33 !important;
}



/* INNER DOT */
.size-selection-item.selected .size-radio-circle::after {

  content: "";

  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: #1b3f33;

  position: absolute;

  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);
}



/* =========================================
   PRODUCT BUTTONS
========================================= */

/* FORCE SIZE LABEL GREEN */
span#qp-selected-size-label {
  color: #1b3f33 !important;
}



/* FORCE SIZE TEXT GREEN */
button.size-selection-wrap,
button.size-selection-wrap:hover,
button.size-selection-wrap:focus,
button.size-selection-wrap:active {

  color: #1b3f33 !important;
}



/* FORCE INNER LABEL GREEN */
button.size-selection-wrap #qp-selected-size-label,
button.size-selection-wrap:hover #qp-selected-size-label {

  color: #1b3f33 !important;
}



/* FORCE ADD TO CART GREEN */
button.single_add_to_cart_button.button.alt.shimmer-effect {

  background-color: #1b3f33 !important;
  background: #1b3f33 !important;

  border-color: #1b3f33 !important;

  color: #ffffff !important;
}







/* CHECKOUT BUTTON GREEN */
a.sc-checkout-btn {

  background: #1b3f33 !important;
  border-color: #1b3f33 !important;

  color: #ffffff !important;
}



/* HOVER */
a.sc-checkout-btn:hover {

  background: #245242 !important;
  border-color: #245242 !important;

  color: #ffffff !important;
}







/* FIX FLOATING SPACE UNDER CART */
.sc-body {

  padding-bottom: 0px !important;

  background: #ffffff !important;
}





.size-selection-item.out-of-stock {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.size-selection-item .size-stock-note {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9b1c1c;
    margin-left: 8px;
}

/* ==========================================================================
   ESSENZZA INLINE SIZE PILLS
   ========================================================================== */
.inline-size-pill {
    padding: 10px 24px !important;
    border: 1px solid #111 !important;
    background: transparent !important;
    color: #111 !important;
    text-align: center !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    transition: all 0.25s ease !important;
    border-radius: 999px !important;
    min-width: 60px;
}
.inline-size-pill:hover:not(:disabled) {
    background: #fafafa !important;
    transform: translateY(-1px);
}
.inline-size-pill.selected {
    border: 2px solid #111 !important;
    font-weight: 500 !important;
    padding: 9px 23px !important; /* offset 1px border growth */
}
.inline-size-pill.out-of-stock {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
    border-color: #EAEAEA !important;
    color: #A8A8A8 !important;
    text-decoration: line-through !important;
}

/* ==========================================================================
   ESSENZZA EDITORIAL MASONRY REVIEWS (MOOD BOARD)
   ========================================================================== */
.essenzza-masonry-reviews-section {
    width: 100%;
    margin-top: 5rem;
    padding-top: 5rem;
    border-top: 1px solid #EAEAEA;
    background: #fff;
}

.essenzza-reviews-title {
    font-family: "ZZZGoldenbookTest", serif;
    font-size: 2rem;
    margin-bottom: 3rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Masonry Grid Setup */
.essenzza-masonry-reviews-section ol.commentlist {
    column-count: 3;
    column-gap: 30px;
    padding: 0;
    margin: 0;
    list-style: none;
}

@media (max-width: 1100px) {
    .essenzza-masonry-reviews-section ol.commentlist {
        column-count: 2;
    }
}

@media (max-width: 768px) {
    .essenzza-masonry-reviews-section ol.commentlist {
        column-count: 1;
    }
    .essenzza-masonry-reviews-section .reviews-inner {
        padding: 0 20px !important;
    }
}

.essenzza-masonry-reviews-section ol.commentlist li.review {
    break-inside: avoid;
    margin-bottom: 30px;
    border: 1px solid #EAEAEA;
    padding: 30px;
    background: #fff;
    display: block;
}

.essenzza-masonry-reviews-section ol.commentlist li.review .comment_container {
    display: flex;
    flex-direction: column;
}

/* Hide Default Avatar */
.essenzza-masonry-reviews-section ol.commentlist li.review img.avatar {
    display: none !important;
}

.essenzza-masonry-reviews-section ol.commentlist li.review .comment-text {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.essenzza-masonry-reviews-section ol.commentlist li.review .star-rating {
    float: none !important;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    color: #111;
}

.essenzza-masonry-reviews-section ol.commentlist li.review .meta {
    font-size: 0.75rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #EAEAEA;
    padding-bottom: 0.8rem;
}

.essenzza-masonry-reviews-section ol.commentlist li.review .description p {
    font-size: 1.1rem;
    line-height: 1.6;
    font-weight: 400;
    color: #111;
    margin: 0;
}

/* Review Form Styling */
#review_form_wrapper {
    margin-top: 5rem;
    padding: 4rem;
    background: #FAFAFA;
    border: 1px solid #EAEAEA;
}

#review_form_wrapper h3.comment-reply-title {
    font-family: "ZZZGoldenbookTest", serif;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    letter-spacing: 0.05em;
}

#review_form_wrapper .comment-form-rating {
    margin-bottom: 2rem;
}

#review_form_wrapper .comment-form-rating label {
    display: block;
    margin-bottom: 0.8rem;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

#review_form_wrapper .stars a {
    color: #ccc;
    text-decoration: none;
}
#review_form_wrapper .stars a.active,
#review_form_wrapper .stars a:hover {
    color: #111;
}

#review_form_wrapper input[type="text"],
#review_form_wrapper input[type="email"],
#review_form_wrapper textarea {
    width: 100%;
    padding: 1.2rem;
    border: 1px solid #EAEAEA;
    background: #fff;
    margin-bottom: 1.5rem;
    font-family: 'Inter', sans-serif;
    box-sizing: border-box;
}

#review_form_wrapper input[type="submit"] {
    background: #111 !important;
    color: #fff !important;
    padding: 1.2rem 2.5rem !important;
    border: none !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 600 !important;
    transition: background 0.3s ease !important;
    border-radius: 0 !important;
}

#review_form_wrapper input[type="submit"]:hover {
    background: #333 !important;
}

/* ==========================================================================
   ESSENZZA PREMIUM STAR RATING
   ========================================================================== */
.product-star-rating-summary {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin-bottom: 1.5rem !important;
    cursor: pointer;
    transition: transform 0.2s ease;
}
.product-star-rating-summary:hover {
    transform: scale(1.02);
}

.star-rating-visual {
    display: inline-flex;
    gap: 2px;
}
.star-rating-visual .star-filled,
.star-rating-visual .star-half {
    color: #FFC107 !important; /* Gold */
    font-size: 1.2rem;
    line-height: 1;
}
.star-rating-visual .star-empty {
    color: #E0E0E0 !important; /* Light Grey */
    font-size: 1.2rem;
    line-height: 1;
}

.review-number-simple {
    font-size: 1.05rem;
    color: #111;
    font-weight: 500;
    margin-left: 2px;
}