 :root {
     --purple: #3b2a6e;
     --purple-light: #4e3a8e;
     --gold: #b8972a;
     --gold-light: #d4af37;
     --gold-bg: #c9a84c;
     --green: #4a8c4a;
     --light-bg: #f8f7f5;
     --border: #e2ddd5;
     --text: #2a2a2a;
     --muted: #888;
 }


 /* Hide breadcrumb on single product details page to match HTML design */
.single-product .woocommerce-breadcrumb,
.single-product nav.woocommerce-breadcrumb {
    display: none !important;
}

.single-product #primary,
.single-product #main,
.single-product .site-main,
.single-product .content-area {
    margin: 0 !important;
    padding: 0 !important;
}

section.product-details {
    padding: 38px 0 45px;
    background: #fff;
    background-image: radial-gradient(circle at 10% 20%, rgba(255, 238, 219, 0.4) 0%, rgba(255, 255, 255, 1) 90%);
    position: relative;
    overflow: visible;
}

 .main-image {
     width: 100%;
     height: 100% !important;
     border-radius: 6px;
     object-fit: cover !important;
     transition: transform 0.25s ease;
     cursor: zoom-in;
 }

 .product-image {
     width: 100%;
     max-width: 500px;
     border-radius: 6px;
     height: 480px;
     margin-right: auto;
     margin-left: auto;
     position: relative;
     overflow: visible;
 }

 .product-image .badge-tag {
     position: absolute;
     top: 14px;
     left: 14px;
     padding: 4px 10px;
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.6px;
     line-height: 1.3;
     color: #ffffff !important;
     z-index: 10;
     border-radius: 4px;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
 }

 .product-image .badge-tag.new {
     background: #0f766e;
 }

 .product-image .badge-tag.bestseller {
     background: #b45309;
 }

 .product-image .badge-tag.sale {
     background: #dc2626;
 }

 .product-image .badge-tag.out-of-stock {
     background: rgba(33, 29, 26, 0.92) !important;
     color: #ffffff !important;
     border: 1px solid rgba(255, 255, 255, 0.18) !important;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22) !important;
     backdrop-filter: blur(4px);
     -webkit-backdrop-filter: blur(4px);
     letter-spacing: 0.7px !important;
 }

 .product-image-inner {
     width: 100%;
     height: 100%;
     border-radius: 6px;
     overflow: hidden;
 }

 .enlarge-btn {
     position: absolute;
     top: -15px;
     right: -15px;
     width: 42px;
     height: 42px;
     border-radius: 50%;
     border: none;
     background: rgb(0 0 0 / 58%);
     color: #fff;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: background 0.2s ease, transform 0.2s ease;
     z-index: 2;
 }

 .enlarge-btn .fa-maximize:before {
     content: "\f31e";
     font-weight: 500;
 }

 .enlarge-btn:hover,
 .enlarge-btn:focus-visible {
     background: rgba(0, 0, 0, 0.75);
     outline: none;
     transform: scale(1.05);
 }

 .product-media-col {
     position: -webkit-sticky;
     position: sticky;
     top: 80px;
     align-self: flex-start;
 }

 .product-details .row {
     align-items: flex-start;
 }

 @media (max-width: 991px) {
     .product-media-col,
     .product-gallery-vertical {
         position: static !important;
         top: auto !important;
         align-self: auto !important;
     }

      .product-image {
          width: 100%;
          max-width: 100%;
          height: auto;
          aspect-ratio: 1;
          max-height: 440px;
      }
 }

 @media (max-width: 1199px) {
    .product-title,
    h1.product-title,
    h1.product_title {
        font-size: 28px !important;
    }

    .price-range {
         font-size: 20px;
     }
 }

 @media (max-width: 991px) {
     section.product-details {
         padding: 40px 0 40px;
     }

     .product-details .row {
         gap: 30px;
     }

     .tab-toggle {
         flex-wrap: wrap;
     }

     .tab-toggle button {
         flex: 1 1 calc(50% - 6px);
         text-align: center;
     }

     .product-info-col {
         padding-left: 15px !important;
         padding-right: 15px !important;
     }

     .panel-grid {
         grid-template-columns: 1fr;
     }

     .panel-grid.single-panel {
         grid-template-columns: minmax(0, 1fr);
     }

     .trust-strip {
         grid-template-columns: repeat(2, minmax(0, 1fr));
     }
 }

 .thumb-row-wrap {
     position: relative;
     margin-top: 12px;
 }

 .thumb-row {
     display: flex;
     gap: 8px;
     justify-content: center;
     overflow-x: auto;
     scroll-behavior: smooth;
     padding: 0 28px;
 }

 .thumb-row::-webkit-scrollbar {
     display: none;
 }

 .thumb-row img {
     width: 100px;
     aspect-ratio: 1;
     object-fit: cover;
     border-radius: 4px;
     border: 2px solid transparent;
     cursor: pointer;
 }

 .thumb-row img.active {
     border-color: var(--purple);
 }

 .thumb-nav {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     width: 32px;
     height: 32px;
     border-radius: 50%;
     border: 0;
     background: rgba(0, 0, 0, 0.5);
     color: #fff;
     display: none;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     z-index: 5;
 }

 .thumb-nav i {
     font-size: 14px;
 }

 .thumb-nav:disabled {
     opacity: 0.35;
     cursor: default;
 }

 .thumb-nav-prev {
     left: 4px;
 }

 .thumb-nav-next {
     right: 4px;
 }

 @media (max-width: 767px) {
     .thumb-row {
         justify-content: flex-start;
         gap: 12px;
         padding: 0px;
     }

     .thumb-nav {
         display: inline-flex;
     }
 }

 .image-lightbox {
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.88);
     display: none;
     align-items: center;
     justify-content: center;
     z-index: 9999;
     padding: 24px;
 }

 .image-lightbox.show {
     display: flex;
 }

 .lightbox-content {
     max-width: min(92vw, 1200px);
     max-height: 86vh;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .lightbox-content img {
     max-width: 100%;
     max-height: 86vh;
     object-fit: contain;
     border-radius: 8px;
 }

 .lightbox-close {
     position: absolute;
     top: 16px;
     right: 18px;
     border: 0;
     width: 42px;
     height: 42px;
     border-radius: 50%;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: rgba(255, 255, 255, 0.16);
     color: #fff;
     font-size: 18px;
 }

 .lightbox-download {
     display: none !important;
 }

 .lightbox-download:hover,
 .lightbox-close:hover {
     background: rgba(255, 255, 255, 0.28);
     color: #fff;
 }

 body.lightbox-open {
     overflow: hidden;
 }

 /* ── PRODUCT INFO ── */
 .product-info-col {
     padding-left: 28px !important;
     padding-right: 28px !important;
     box-sizing: border-box !important;
 }

 .product-title-row {
     display: flex;
     align-items: flex-start;
     justify-content: space-between;
     gap: 16px;
     width: 100%;
     box-sizing: border-box;
     margin-top: 0 !important;
 }

 .product-title-row .btn-wishlist-action {
     flex-shrink: 0;
     margin-top: 2px;
     margin-right: 0;
     width: 34px !important;
     height: 34px !important;
     border: none !important;
     border-radius: 50% !important;
     background: transparent !important;
     box-shadow: none !important;
     padding: 0 !important;
     font-size: 22px !important;
     color: #7b4e12 !important;
     line-height: 1 !important;
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
 }

 .product-title-row .btn-wishlist-action:hover {
     background: rgba(184, 134, 11, 0.08) !important;
     color: #b8860b !important;
     transform: scale(1.1);
 }

 .product-title-row .btn-wishlist-action.is-active,
 .product-title-row .btn-wishlist-action.is-active:hover {
     background: transparent !important;
     border: none !important;
 }

 .product-title-row .btn-wishlist-action.is-active i {
     color: #e91e63 !important;
 }

 .product-title,
 h1.product-title,
 h1.product_title {
     font-family: 'Times New Roman', Times, 'Cormorant Garamond', Georgia, serif !important;
     font-size: 30px !important;
     font-weight: 600 !important;
     font-style: italic !important;
     line-height: 1.2 !important;
     margin-top: 0 !important;
     margin-bottom: 2px !important;
     color: #000000 !important;
 }

 .product-short-desc {
     font-family: var(--rr-ff-p, "Poppins", sans-serif);
     font-size: 16px;
     font-weight: normal;
     line-height: 1.625;
     color: var(--rr-color-text-body, #74787C);
     margin: 8px 0 15px !important;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
     text-overflow: ellipsis;
     max-height: calc(1.625em * 2);
     word-break: break-word;
 }

 @media (min-width: 992px) {
     .product-short-desc.d-lg-block {
         display: -webkit-box !important;
         line-height: 1.4;
         max-height: calc(1.4em * 2);
     }
 }

 .product-brand {
     color: #44020d;
     font-size: 15px;
     margin-bottom: 5px;
     font-weight: 500;
     margin-top: 6px;
 }

 .star-row {
     display: flex;
     align-items: center;
     gap: 6px;
     margin-bottom: 5px;
     margin-top: 2px;
     padding-bottom: 0;
     border-bottom: none;
 }

 .stars {
     display: inline-flex;
     align-items: center;
     gap: 2px;
 }

 .stars i {
     color: #f59e0b;
     font-size: 15px;
 }

 .review-count-text {
     font-size: 13px;
     font-weight: 500;
     color: #555;
 }

 .review-count-text strong {
     color: #1a1a1a;
     font-weight: 700;
 }

 .from-price {
     font-weight: 600;
     font-size: 15px;
     color: brown;
 }

 .review-count {
     color: black;
     font-size: 12px;
 }

 .price-range {
     margin-bottom: 8px;
     margin-top: 8px;
     font-weight: 600;
     font-size: 22px;
     color: #1a1a1a;
     display: flex;
     align-items: baseline;
     flex-wrap: wrap;
     gap: 8px;
 }

 .price-range,
 .price-range .panel-price-val,
 .price-range .panel-price-val .price,
 .price-range .panel-price-val span.price,
 .price-range .amount,
 .price-range .woocommerce-Price-amount,
 .price-range bdi,
 .woocommerce div.product .price-range span.price,
 .woocommerce div.product .price-range p.price,
 .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .price-range span.price,
 .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .price-range p.price {
     font-size: 22px !important;
     font-weight: 600 !important;
     color: #1a1a1a !important;
     text-decoration: none !important;
     line-height: 1.2 !important;
 }

 .price-range del,
 .price-range del .amount,
 .price-range del .woocommerce-Price-amount,
 .price-range del bdi {
     font-weight: 400 !important;
     font-size: 18px !important;
     color: #888888 !important;
     text-decoration: line-through !important;
     display: inline-block !important;
 }

 .price-range ins,
 .price-range ins .amount,
 .price-range ins .woocommerce-Price-amount,
 .price-range ins bdi {
     font-weight: 700 !important;
     font-size: 22px !important;
     color: #1a1a1a !important;
     text-decoration: none !important;
     display: inline-block !important;
 }

 .panel-price del,
 .panel-price del .amount,
 .panel-price del bdi {
     text-decoration: line-through !important;
     color: #888888 !important;
     font-size: 14px !important;
     font-weight: 400 !important;
     margin-right: 6px !important;
 }

 .panel-price ins,
 .panel-price ins .amount,
 .panel-price ins bdi {
     text-decoration: none !important;
     color: #1a1a1a !important;
     font-weight: 700 !important;
 }

 .product-desc-inline {
     display: none;
     margin-top: 14px;
     padding-top: 14px;
     border-top: 1px solid #f0e7db;
     font-size: 14.5px;
     line-height: 1.75;
     color: #5c5347;
 }

 .product-desc-inline p {
     margin: 0 0 10px;
 }

 .product-desc-inline p:last-child {
     margin-bottom: 0;
 }

 .tab-toggle {
     display: flex;
     border-bottom: 1px solid #865a0526;
     overflow: hidden;
     margin-bottom: 18px;
     margin-top: 20px;
 }

 .tab-toggle button {
     border: 1px solid #7a5007;
     padding: 7px 32px;
     font-size: 16px;
     font-weight: 600;
     cursor: pointer;
     transition: background 0.2s, color 0.2s;
 }

 .tab-toggle button.active {
     background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%);
     color: #fff;
 }

 .tab-toggle button:not(.active) {
     background: #fff;
     color: var(--text);
 }

 .product-options {
    margin: 10px 0 0 !important;
    display: flex;
    flex-direction: column;
    gap: 13px;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce div.product form.cart,
.woocommerce div.product .variations_form,
form.cart,
form.variations_form,
.woocommerce div.product .single_variation_wrap {
    margin-bottom: 0 !important;
}

.option-card {
    border: none !important;
    border-bottom: 1px solid #f0e7db !important;
    padding-bottom: 13px !important;
    margin-bottom: 0 !important;
    width: 100%;
    box-sizing: border-box;
}

.option-card:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

 /* Buy vs Rent mode selector */
 .acquire-mode-card {
     margin-top: 2px;
     margin-bottom: 0 !important;
 }

 .acquire-mode-card .option-title {
     font-size: 12.5px !important;
     font-weight: 700 !important;
     text-transform: none !important;
     letter-spacing: 0 !important;
     color: #2c1e11 !important;
 }

 .acquire-mode-options {
     display: flex;
     gap: 10px;
     margin-top: 4px;
     width: 100%;
     box-sizing: border-box;
 }

 .acquire-mode-option {
     flex: 1 1 0;
     min-width: 0;
     box-sizing: border-box;
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 7px 12px;
     border-radius: 6px;
     border: 1px solid #dcd4c8;
     background: #ffffff;
     cursor: pointer;
     text-align: left;
     transition: all 0.2s ease;
 }

 .acquire-mode-option:hover {
     border-color: #825e1a;
     background: #fffdf9;
 }

 .acquire-mode-option.is-selected {
     border: 1.5px solid #825e1a !important;
     background: #fffdf9 !important;
     box-shadow: 0 2px 10px rgba(130, 94, 26, 0.12);
 }

 .acquire-mode-option .acquire-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 26px;
     height: 26px;
     border-radius: 50%;
     background: #fdf5ea;
     color: #7b4e12;
     font-size: 12px;
     flex-shrink: 0;
     transition: background 0.2s ease, color 0.2s ease;
 }

 .acquire-mode-option.is-selected .acquire-icon {
     background: #735011;
     color: #fff;
 }

 .acquire-mode-option .acquire-text {
     display: flex;
     flex-direction: column;
     gap: 1px;
 }

 .acquire-mode-option .acquire-label {
     font-size: 12.5px;
     font-weight: 700;
     color: #2c1e11;
     line-height: 1.2;
 }

 .acquire-mode-option .acquire-price {
     font-size: 11.5px;
     color: #666;
     font-weight: 600;
     line-height: 1.2;
 }

 .acquire-mode-option.is-selected .acquire-price {
     color: #63450f;
     font-weight: 700;
 }

 @media (max-width: 480px) {
     .acquire-mode-options {
         flex-direction: column;
     }
 }

 .option-card-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 7px;
  }

   .option-title {
       font-size: 14px !important;
       letter-spacing: 0.08em;
       text-transform: uppercase;
       color: #63503f;
       font-weight: 700;
   }

 .size-guide-link {
     font-size: 12px;
     font-weight: 600;
     color: #6b4d1b;
     text-decoration: none;
     display: inline-flex;
     align-items: center;
     gap: 5px;
     transition: color 0.15s ease;
 }

 .size-guide-link:hover {
     color: #a67600;
 }

 /* --- Colour Swatches Grid (Dot + Name below) --- */
 .colour-grid {
     display: flex;
     flex-wrap: wrap;
     align-items: flex-start;
     gap: 16px;
     margin-top: 4px;
 }

 .colour-chip {
     display: inline-flex !important;
     flex-direction: column !important;
     align-items: center !important;
     gap: 4px !important;
     background: none !important;
     border: none !important;
     box-shadow: none !important;
     padding: 0 !important;
     cursor: pointer;
     min-width: 38px;
     width: auto !important;
     height: auto !important;
     position: relative;
     transition: transform 0.15s ease;
     text-decoration: none !important;
 }

 .colour-chip:focus-visible {
     outline: none !important;
 }

 .colour-chip .colour-ring {
     width: 28px !important;
     height: 28px !important;
     border-radius: 50% !important;
     background-color: var(--chip) !important;
     position: relative;
     box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12) !important;
     transition: transform 0.2s ease, box-shadow 0.2s ease !important;
     display: block;
 }

 .colour-chip:hover .colour-ring {
     transform: scale(1.08);
 }

 .colour-chip.is-selected .colour-ring {
     box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px #1a1a1a !important;
     transform: scale(1.04);
 }

 .colour-chip .colour-name-label {
     font-size: 12px;
     font-weight: 500;
     color: #888888;
     transition: color 0.2s ease, font-weight 0.2s ease;
     text-align: center;
     line-height: 1.2;
     display: block;
 }

 .colour-chip.is-selected .colour-name-label {
     font-weight: 700;
     color: #1a1a1a;
 }

 .colour-chip.is-out-of-stock {
     opacity: 0.45;
 }

 /* --- Size Tiles Grid --- */
 .size-grid {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
     margin-top: 4px;
 }

 .size-tile {
     border-radius: 6px !important;
     border: 1px solid #dcd4c8 !important;
     background: #ffffff !important;
     color: #2c1e11 !important;
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     cursor: pointer;
     min-width: 40px;
     height: 34px;
     padding: 0 10px !important;
     font-size: 12.5px !important;
     font-weight: 600 !important;
     transition: all 0.2s ease !important;
     box-shadow: none !important;
 }

 .size-tile:hover {
     border-color: #6b4d1b !important;
     background: #fdfaf5 !important;
 }

 .size-tile.is-selected {
     background: #6d4c1b !important;
     border-color: #6d4c1b !important;
     color: #ffffff !important;
     font-weight: 700 !important;
     box-shadow: 0 2px 6px rgba(109, 76, 27, 0.25) !important;
 }

 .size-tile.is-disabled,
 .size-tile:disabled,
 .size-tile[aria-disabled="true"] {
     position: relative !important;
     background: #f3f4f6 linear-gradient(to top right, transparent calc(50% - 1.25px), #f87171 calc(50% - 0.75px), #f87171 calc(50% + 0.75px), transparent calc(50% + 1.25px)) !important;
     border-color: #e5e7eb !important;
     color: #9ca3af !important;
     cursor: not-allowed !important;
     pointer-events: none !important;
     opacity: 0.8 !important;
     overflow: hidden !important;
     box-shadow: none !important;
     text-decoration: none !important;
 }

 .size-tile.is-disabled:hover,
 .size-tile:disabled:hover {
     background: #f3f4f6 linear-gradient(to top right, transparent calc(50% - 1.25px), #f87171 calc(50% - 0.75px), #f87171 calc(50% + 0.75px), transparent calc(50% + 1.25px)) !important;
     border-color: #e5e7eb !important;
     color: #9ca3af !important;
     box-shadow: none !important;
 }

 .size-tile.is-disabled .tile-label,
 .size-tile:disabled .tile-label,
 .size-tile[aria-disabled="true"] .tile-label {
     color: #9ca3af !important;
     text-decoration: none !important;
 }

 /* --- Quantity & Stock Row --- */
 .qty-action-row {
     display: flex;
     flex-direction: column;
     gap: 15px;
     margin-top: 4px;
 }

 .qty-controller-wrap {
     display: flex;
     align-items: center;
     gap: 14px;
     flex-wrap: wrap;
 }

 .qty-controller {
     display: inline-flex;
     align-items: center;
     gap: 4px;
     background: #fdfaf5;
     border-radius: 999px;
     padding: 3px 10px;
     border: 1px solid #e8dfd3;
     width: fit-content;
 }

 .qty-btn {
     width: 25px;
     height: 25px;
     border-radius: 50%;
     border: 0;
     background: transparent;
     color: #443422;
     font-size: 12px;
     cursor: pointer;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     transition: background 0.15s ease, transform 0.15s ease;
     box-shadow: none;
 }

 .qty-btn:hover {
     background: #f0e6d6;
 }

 .qty-btn:active {
     transform: scale(0.92);
 }

 .qty-btn:disabled,
 .qty-btn.is-disabled {
     opacity: 0.28 !important;
     cursor: not-allowed !important;
     pointer-events: none !important;
     background: transparent !important;
     transform: none !important;
 }

 #quantityInput {
     width: 32px;
     text-align: center;
     border: 0;
     background: transparent;
     font-size: 14px;
     font-weight: 700;
     color: #1f1711;
     padding: 0;
 }

 .product-in-stock-badge {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     font-size: 13px;
     font-weight: 600;
     color: #15803d;
 }

 .product-in-stock-badge i {
     font-size: 14px;
 }

 /* --- Action Buttons: Add to Cart & Buy Now --- */
 .qty-btn-group {
     display: flex;
     align-items: center;
     gap: 12px;
     width: 100%;
     margin-top: 6px;
 }

 .qty-add-btn,
 .single_add_to_cart_button {
     flex: 1 1 0 !important;
     width: auto !important;
     max-width: none !important;
     min-height: 44px !important;
     height: 44px !important;
     background: #fffdf9 !important;
     border: 1.5px solid #825e1a !important;
     color: #63450f !important;
     border-radius: 7px !important;
     font-weight: 700 !important;
     font-size: 14px !important;
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     gap: 8px !important;
     cursor: pointer;
     transition: all 0.2s ease !important;
     font-family: inherit !important;
     padding: 0 16px !important;
 }

 .qty-add-btn:hover,
 .single_add_to_cart_button:hover {
     background: #fbf5eb !important;
     border-color: #6d4c1b !important;
     color: #4a330a !important;
 }

 .btn-buy-now {
     flex: 1 1 0 !important;
     width: auto !important;
     max-width: none !important;
     min-height: 44px !important;
     height: 44px !important;
     background: #735011 !important;
     color: #ffffff !important;
     border: none !important;
     border-radius: 7px !important;
     font-weight: 700 !important;
     font-size: 14px !important;
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     gap: 8px !important;
     cursor: pointer;
     transition: all 0.2s ease !important;
     font-family: inherit !important;
     padding: 0 16px !important;
 }

 .btn-buy-now:hover {
     background: #5d3f0a !important;
     color: #ffffff !important;
 }

 .btn-view-cart {
     display: none !important;
 }

 /* --- Mini Trust Strip (below buttons - styled like boutique-details trust strip) --- */
 .product-mini-trust-strip {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 12px;
     padding: 16px 0 4px !important;
     margin-top: 14px !important;
     border-top: 1px solid #eddfce;
 }

 .mini-trust-item {
     display: flex;
     align-items: center;
     gap: 10px;
     border: 1px solid #eddfce;
     border-radius: 10px;
     background: #fff;
     padding: 9px 12px;
     transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
 }

 .mini-trust-item:hover {
     border-color: #d3b488;
     transform: translateY(-2px);
     box-shadow: 0 6px 14px rgba(84, 52, 9, 0.06);
 }

 .mini-trust-icon {
     width: 36px;
     height: 36px;
     border-radius: 8px;
     background: #f8ecdc;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .mini-trust-icon i {
     font-size: 16px;
     color: brown;
 }

 .mini-trust-text {
     display: flex;
     flex-direction: column;
     min-width: 0;
 }

 .mini-trust-title {
     font-size: 12.5px;
     font-weight: 700;
     color: #1f1711;
     line-height: 1.25;
 }

 .mini-trust-sub {
     font-size: 10.5px;
     color: #6f6054;
     line-height: 1.2;
     margin-top: 2px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }
  @media (max-width: 767px) {
      .product-mini-trust-strip {
          grid-template-columns: repeat(2, 1fr) !important;
          gap: 8px !important;
          padding: 10px 0 2px !important;
          margin-top: 12px !important;
      }
      .mini-trust-item {
          padding: 8px 8px !important;
          gap: 8px !important;
          border-radius: 8px !important;
          min-width: 0 !important;
      }
      .mini-trust-icon {
          width: 32px !important;
          height: 32px !important;
          border-radius: 6px !important;
      }
      .mini-trust-icon i {
          font-size: 14px !important;
      }
      .mini-trust-text {
          min-width: 0 !important;
          overflow: hidden !important;
      }
      .mini-trust-title {
          font-size: 11.5px !important;
          line-height: 1.25 !important;
          white-space: nowrap !important;
          overflow: hidden !important;
          text-overflow: ellipsis !important;
      }
      .mini-trust-sub {
          font-size: 9.5px !important;
          line-height: 1.2 !important;
          margin-top: 2px !important;
          white-space: nowrap !important;
          overflow: hidden !important;
          text-overflow: ellipsis !important;
      }
  }

 /* ── FOOTER TRUST STRIP (from boutique-details.html) ── */
 .trust-strip {
     border-radius: 12px;
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 14px;
     margin-top: 40px;
     margin-bottom: 20px;
 }

 .trust-item {
     display: flex;
     align-items: center;
     gap: 12px;
     border: 1px solid #eddfce;
     border-radius: 10px;
     background: #fff;
     padding: 22px 18px;
     transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
 }

 .trust-item:hover {
     border-color: #d3b488;
     transform: translateY(-2px);
     box-shadow: 0 8px 18px rgba(84, 52, 9, 0.08);
 }

 .trust-icon {
     width: 45px;
     height: 45px;
     border-radius: 10px;
     background: #f8ecdc;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .trust-icon i {
     font-size: 21px;
     color: brown;
 }

 .trust-content h5 {
     margin: 0 0 6px;
     font-size: 16px;
     font-weight: 700;
     color: #1f1711;
 }

 .trust-content p {
     margin: 0;
     font-size: 13.5px;
     color: #6f6054;
     line-height: 1.35;
 }

 @media (max-width: 1024px) {
     .trust-strip {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media (max-width: 600px) {
     .trust-strip {
         grid-template-columns: 1fr;
     }
 }


 /* ── RENT / BUY PANELS ── */
 .panel-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 12px;
     margin-top: 50px;
 }

 .panel-grid.single-panel {
     grid-template-columns: minmax(0, 540px);
     justify-content: center;
 }

 /* .panel-grid.single-panel .panel {
     max-width: 540px;
     margin: 0 auto;
 } */

 .panel {
     display: flex;
     flex-direction: column;
     border-radius: 6px;
     overflow: hidden;
     border: 1px solid var(--border);
     transition: border-color 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
     padding: 10px;
 }

 .panel-header {
     padding: 12px 16px;
     font-weight: 700;
     font-size: 15px;
     color: #fff;
     display: flex;
     align-items: center;
     justify-content: space-between;
     transition: background 0.25s ease, color 0.25s ease, opacity 0.25s ease;
     box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
 }

 .panel-header.rent {
     background: var(--gold-bg);
     color: white;
 }

 .panel-header.buy {
     background: var(--gold-bg);
     color: white;
 }

 .panel.is-active {
     border-color: #8a5a0f;
     box-shadow: 0 10px 24px rgba(122, 80, 7, 0.16);
 }

 /* .panel:not(.is-active) {
     opacity: 0.78;
 } */

 .panel.is-active .panel-header.rent {
     background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%);
 }

 .panel.is-active .panel-header.buy {
     background: linear-gradient(90deg, #7a4f07 0%, #bf8d2e 100%);
     color: #fff;
 }

 .panel-header .feather-icon {
     font-size: 20px;
     opacity: 0.6;
 }

 .panel-body {
     display: flex;
     flex-direction: column;
     flex: 1;
     padding: 14px 16px;
     background: #fff;
 }

 .panel-body ul {
     list-style: none;
     padding: 0;
     margin: 0 0 10px;
 }

 .panel-body ul li {
     padding: 5px 0;
     font-size: 16px;
     display: flex;
     align-items: baseline;
     gap: 6px;
     color: black;
     border-bottom: 1px solid #7c51071f;
     padding-bottom: 10px;
     margin-bottom: 5px;
 }

 .panel-body ul li::before {
     content: "•";
     color: var(--text);
     flex-shrink: 0;
 }

 .panel-body ul li strong {
     font-weight: 700;
     font-size: 15px;
     color: brown;
 }

 .dot-green {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: var(--green);
     display: inline-block;
     margin-right: 4px;
     flex-shrink: 0;
 }

 .in-stock {
     color: var(--green);
     font-weight: 600;
     font-size: 15px;
     display: flex;
     align-items: center;
     gap: 4px;
     margin-top: 14px;
     margin-bottom: 8px;
 }

 .buy-badge-row {
     margin-top: 10px;
     border-radius: 8px;
 }

 /* Date inputs */
 .date-section {
     margin: 8px 0;
     padding: 10px;
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 10px 14px;
 }

 .date-row-label {
     flex: 0 0 auto;
     font-size: 14px;
     color: black;
     white-space: nowrap;
 }

 .date-section label {
     font-size: 12px;
     color: var(--muted);
     display: block;
     margin-bottom: 2px;
 }

 .date-row {
     display: flex;
     align-items: center;
     gap: 6px;
     margin-bottom: 0;
 }

 @media (max-width: 480px) {
     .date-section {
         grid-template-columns: 1fr;
     }
 }

 .rental-date-field {
     position: relative;
     display: flex;
     align-items: center;
     flex: 1;
     gap: 8px;
 }

 .rental-date-field input[type="date"] {
     flex: 1;
     width: 100%;
     border: 1px solid var(--border);
     border-radius: 4px;
     padding: 11px 11px;
     font-size: 14px;
     color: #2a2a2a;
     font-family: 'Jost', sans-serif;
     background: #fff;
     cursor: pointer;
 }

 .rental-date-field input[type="date"]::-webkit-calendar-picker-indicator {
     display: none;
 }

 .rental-date-field input[type="date"]::-webkit-inner-spin-button {
     display: none;
 }

 .rental-date-field > i {
     position: absolute;
     right: 12px;
     top: 50%;
     transform: translateY(-50%);
     color: var(--muted);
     font-size: 14px;
     pointer-events: none;
 }

 /* Custom rental calendar dropdown (replaces the browser-native date picker) */
 .rental-calendar {
     display: none;
     position: absolute;
     top: calc(100% + 8px);
     left: 0;
     z-index: 40;
     width: 280px;
     background: #fff;
     border: 1px solid #e2ddd5;
     border-radius: 10px;
     box-shadow: 0 16px 40px rgba(61, 34, 8, 0.16);
     padding: 14px;
 }

 .rental-calendar.show {
     display: block;
 }

 #rentalEndCalendar,
 #rentalEndField .rental-calendar {
     left: auto;
     right: 0;
 }

 .rental-calendar-head {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 10px;
 }

 .rental-calendar-title {
     font-weight: 700;
     font-size: 14px;
     color: #1a1a1a;
 }

 .rental-calendar-nav {
     display: flex;
     gap: 4px;
 }

 .rental-calendar-nav button {
     width: 26px;
     height: 26px;
     flex-shrink: 0;
     border: 1px solid #e2ddd5;
     border-radius: 6px;
     background: #fff;
     color: #7b4e12;
     cursor: pointer;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     font-size: 12px;
 }

 .rental-calendar-nav button i {
     position: static;
     transform: none;
     font-size: inherit;
     color: inherit;
     pointer-events: auto;
 }

 .rental-calendar-nav button:hover:not(:disabled) {
     background: #fbf3e4;
 }

 .rental-calendar-nav button:disabled {
     opacity: 0.35;
     cursor: not-allowed;
 }

 .rental-calendar-grid {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     gap: 2px;
 }

 .rental-calendar-grid .rc-weekday {
     text-align: center;
     font-size: 11px;
     font-weight: 600;
     color: #9e7b4b;
     padding: 4px 0 8px;
 }

 .rental-calendar-grid button.rc-day {
     width: 100%;
     aspect-ratio: 1;
     border: none;
     background: transparent;
     border-radius: 6px;
     font-size: 13px;
     color: #2a2a2a;
     cursor: pointer;
 }

 .rental-calendar-grid button.rc-day:hover:not(:disabled) {
     background: #fbf3e4;
 }

 .rental-calendar-grid button.rc-day:disabled {
     color: #d8cfc2;
     cursor: not-allowed;
 }

 .rental-calendar-grid button.rc-day.rc-outside {
     color: #d8cfc2;
 }

 .rental-calendar-grid button.rc-day.rc-today {
     border: 1px solid #c29c32;
 }

 .rental-calendar-grid button.rc-day.rc-selected {
     background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%);
     color: #fff;
     font-weight: 700;
 }

 @media (max-width: 480px) {
     .rental-calendar {
         width: 250px;
     }
 }

 .duration-inline {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 12px;
     position: relative;
     width: 100%;
 }

 .duration-label {
     font-size: 16px;
     color: black;
     white-space: nowrap;
 }

 .duration-custom {
     position: relative;
     flex: 1;
 }

 .duration-menu li:before {
     display: none;
 }

 li.duration-li {
     border-bottom: none !important;
     /* list-style-type: disc; */
 }

 .duration-menu li {
     padding: 0px 0 !important;
     border-bottom: none !important;
 }

 .duration-trigger {
     width: 100%;
     border: 1px solid var(--border);
     border-radius: 4px;
     padding: 10px 12px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 10px;
     /* background: linear-gradient(180deg, #fff 0%, #fbf8f3 100%); */
     color: black;
     font-size: 14px;
     font-weight: 500;
     transition: border-color 0.2s ease, box-shadow 0.2s ease;
 }

 .duration-trigger i {
     font-size: 11px;
     color: black;
 }

 .duration-trigger:focus,
 .duration-trigger:focus-visible {
     outline: none !important;
     border-color: #8a5a0f;
     box-shadow: 0 0 0 2px rgba(138, 90, 15, 0.15);
 }

 .duration-custom.is-open .duration-trigger {
     border-color: #8a5a0f;
     box-shadow: 0 0 0 2px rgba(138, 90, 15, 0.18);
 }

 .duration-custom.is-open .duration-trigger i {
     color: #a9741d;
 }

 .duration-menu {
     position: absolute;
     top: calc(100% + 6px);
     left: 0;
     width: 100%;
     margin: 0;
     padding: 4px 0;
     list-style: none;
     background: #fff;
     border: 1px solid #d8c7b3;
     border-radius: 8px;
     box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
     display: none;
     z-index: 20;
     max-height: 132px;
     overflow-y: auto;
 }

 .duration-menu.show {
     display: block;
 }

 .duration-option {
     width: 100%;
     border: 0;
     background: transparent;
     text-align: left;
     color: #3a2b1b;
     font-size: 14px;
     padding: 10px 12px;
 }

 .duration-option:hover,
 .duration-option.active {
     background: #f7ede0;
     color: #7a5007;
 }

 .duration-menu::-webkit-scrollbar {
     width: 6px;
 }

 .duration-menu::-webkit-scrollbar-thumb {
     background: #c7ab86;
     border-radius: 10px;
 }

 .duration-menu::-webkit-scrollbar-track {
     background: #f5eee4;
     border-radius: 10px;
 }

 .panel-body ul li.duration-li::before {
     content: none;
 }

 /* Buttons */
 .btn-cart {
     width: 35%;
     background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%);
     color: #fff;
     border: none;
     border-radius: 4px;
     padding: 12px 10px;
     font-weight: 700;
     font-size: 14px;
     cursor: pointer;
     font-family: 'Jost', sans-serif;
     letter-spacing: 0.5px;
     margin: auto auto 0;
     display: block;
 }

 .qty-action-row .btn-cart {
     width: auto;
     min-width: 175px;
     min-height: 48px;
     margin: 0;
     padding: 13px 38px;
     border-radius: 8px;
     background: #c29c32;
     font-size: 15px;
     font-weight: 700;
     display: inline-flex;
     align-items: center;
     justify-content: center;
 }

 .btn-buy-now {
     width: auto;
     min-width: 175px;
     min-height: 48px;
     background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%);
     color: #fff;
     border: none;
     border-radius: 8px;
     padding: 13px 38px;
     font-weight: 700;
     font-size: 15px;
     cursor: pointer;
     font-family: 'Jost', sans-serif;
     letter-spacing: 0.5px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
 }

 /* Rental total, terms acknowledgement & inline validation */
 .rental-total-row {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 10px;
     padding: 12px 14px;
     margin: 4px 0 12px;
     border-radius: 8px;
     background: #fbf3e4;
     border: 1px solid #e9d3a3;
     font-size: 14px;
     color: #1a1a1a;
 }

 .rental-total-row small {
     display: block;
     color: var(--muted);
     font-size: 11px;
     font-weight: 400;
     margin-top: 2px;
 }

 .rental-total-row strong {
     font-size: 17px;
     color: brown;
     white-space: nowrap;
 }

 .rental-total-row-due {
     background: #f7f5f2;
     border: 1px dashed #d3c9ba;
     margin-top: -6px;
 }

 .rental-total-row-due strong {
     color: #6f6054;
 }

 .rental-terms-check {
     display: flex;
     align-items: flex-start;
     gap: 8px;
     font-size: 13px;
     color: #4a4a4a;
     margin-bottom: 8px;
     cursor: pointer;
 }

 .rental-terms-check input[type="checkbox"] {
     margin-top: 3px;
     accent-color: #a67600;
     cursor: pointer;
     flex-shrink: 0;
 }

 .rental-terms-check a {
     color: brown;
     font-weight: 600;
     text-decoration: underline;
 }

 .rental-error {
     color: #b02a2a;
     font-size: 12.5px;
     margin: 0 0 10px;
 }

 .qty-add-btn:disabled,
 .btn-cart:disabled {
     opacity: 0.5;
     cursor: not-allowed;
 }

 /* Badge rows */
 .badge-row {
     display: flex;
     justify-content: space-around;
     border-top: 1px solid var(--border);
     padding: 15px 6px 15px;
     margin-top: 20px;
     background: #a52a2a0a;
 }

 .badge-item {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 3px;
     font-size: 10px;
     color: var(--muted);
     text-align: center;
 }

 .badge-item i {
     font-size: 20px;
     color: brown;
 }

 .badge-text {
     display: inline-block;
     width: 84px;
     line-height: 1.25;
     font-size: 13px;
     margin-top: 10px;
     color: black;
 }

 @media (max-width: 991px) {

     .btn-cart,
     .btn-buy-now {
         width: 50%;
     }
 }

 /* ── TABS ── */
 .desc-tabs {
     display: flex;
     border-bottom: 2px solid var(--border);
     margin-top: 35px;
 }

 .desc-tabs button {
     background: none;
     border: none;
     padding: 10px 16px;
     font-size: 15px;
     /* font-family: 'Jost', sans-serif; */
     font-weight: 500;
     color: #000000e0;
     cursor: pointer;
     border-bottom: 2px solid transparent;
     margin-bottom: -2px;
     transition: color 0.2s, border-color 0.2s;
 }

 .desc-tabs button.active {
     color: brown;
     border-bottom-color: brown;
     font-weight: 600;
     background: #fbf7f7;
 }

 .desc-body {
     padding: 16px 0;
     font-size: 14.5px;
     line-height: 1.75;
     color: #2b2b2b;
 }

 .desc-body br,
 .product-short-desc br,
 .product-short-desc-content br {
     display: inline !important;
 }

 .desc-body p {
     margin: 0 0 12px;
     font-size: 15px;
     line-height: 1.75;
     color: #1f1f1f;
 }

 .desc-body p:last-child {
     margin-bottom: 0;
 }

 .desc-body h1,
 .desc-body h2,
 .desc-body h3,
 .desc-body h4,
 .desc-body h5,
 .desc-body h6 {
     margin: 18px 0 10px;
     font-weight: 600;
     color: #1f1711;
     line-height: 1.35;
 }

 .desc-body h2,
 .desc-body h3 {
     font-size: 20px;
 }

 .desc-body h4 {
     font-size: 17px;
 }

 .desc-body em {
     font-style: italic;
 }

 .desc-body ul,
 .desc-body ol {
     margin: 0 0 14px;
     padding-left: 20px;
 }

 .desc-body ul {
     list-style: disc;
 }

 .desc-body li {
     margin-bottom: 6px;
     color: #333;
     line-height: 1.65;
 }

 .desc-body li strong,
 .desc-body p strong {
     color: #1a1a1a;
     font-weight: 700;
 }

 @media (max-width: 767px) {
     .desc-tabs {
         display: flex;
         align-items: center;
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
         scrollbar-width: none;
         margin-top: 26px;
     }

     .desc-tabs::-webkit-scrollbar {
         display: none;
     }

     .desc-tabs button {
         flex: 0 0 auto;
         white-space: nowrap;
         padding: 10px 14px;
         font-size: 13.5px;
         line-height: 1.3;
     }

     .desc-body {
         padding: 14px 2px;
         font-size: 14px;
         line-height: 1.8;
     }

     .desc-body p {
         font-size: 14px;
         line-height: 1.85;
         margin-bottom: 12px;
     }

     .desc-body h2,
     .desc-body h3 {
         font-size: 18px;
         margin: 16px 0 8px;
     }
 }

 /* ==========================================================================
    CUSTOMER REVIEWS SECTION (Matching Reference Mockups)
    ========================================================================== */

 /* 1. Top Customer Reviews Summary Box */
 .amelia-reviews-summary {
     background: #fffdfa;
     border: 1px solid #ebd9c8;
     border-radius: 12px;
     padding: 24px 30px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 30px;
     margin-top: 10px;
 }

 .amelia-reviews-summary .summary-left {
     display: flex;
     flex-direction: column;
     min-width: 180px;
 }

 .amelia-reviews-summary .summary-title {
     font-family: var(--rr-ff-heading, 'Italiana', serif);
     font-size: 22px;
     font-weight: 700;
     color: #2a1708;
     margin: 0 0 10px;
     line-height: 1.2;
 }

 .amelia-reviews-summary .summary-score-row {
     display: flex;
     flex-direction: column;
 }

 .amelia-reviews-summary .score-large {
     font-size: 40px;
     font-weight: 800;
     color: #1a1a1a;
     line-height: 1;
 }

 .amelia-reviews-summary .score-out-of {
     font-size: 20px;
     font-weight: 500;
     color: #666;
 }

 .amelia-reviews-summary .summary-stars {
     color: #f59e0b;
     font-size: 16px;
     margin: 6px 0 3px;
     display: flex;
     gap: 3px;
 }

 .amelia-reviews-summary .summary-based {
     font-size: 13px;
     color: #73675e;
 }

 /* Middle Rating Breakdown Bars */
 .amelia-reviews-summary .summary-middle {
     flex: 1;
     max-width: 380px;
 }

 .rating-breakdown {
     display: flex;
     flex-direction: column;
     gap: 7px;
 }

 .breakdown-row {
     display: flex;
     align-items: center;
     gap: 10px;
     font-size: 13px;
 }

 .breakdown-row .star-label {
     min-width: 32px;
     font-weight: 600;
     color: #4a3b32;
     display: inline-flex;
     align-items: center;
     gap: 4px;
 }

 .breakdown-row .star-label i {
     color: #f59e0b;
     font-size: 11px;
 }

 .breakdown-row .bar-track {
     flex: 1;
     height: 8px;
     background: #eee4d8;
     border-radius: 6px;
     overflow: hidden;
 }

 .breakdown-row .bar-fill {
     height: 100%;
     background: #f59e0b;
     border-radius: 6px;
     transition: width 0.4s ease;
 }

 .breakdown-row .count-label {
     min-width: 24px;
     text-align: right;
     font-weight: 600;
     color: #6b5c51;
 }

 /* Right Action Button */
 .amelia-reviews-summary .summary-right {
     display: flex;
     align-items: center;
 }

 .btn-write-review {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     padding: 10px 22px;
     border: 1.5px solid #800020;
     background: #ffffff;
     color: #800020;
     border-radius: 6px;
     font-size: 14px;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.25s ease;
     white-space: nowrap;
 }

 .btn-write-review:hover {
     background: #800020;
     color: #ffffff;
 }

 /* 2. Write a Review Form Card */
 .write-review-wrap {
     margin-top: 20px;
 }

 .write-review-card {
     background: #ffffff;
     border: 1px solid #ebd9c8;
     border-radius: 12px;
     padding: 24px 28px;
 }

 .write-review-head {
     margin-bottom: 20px;
 }

 .write-review-title {
     font-size: 18px;
     font-weight: 700;
     color: #2a1708;
     margin: 0 0 4px;
 }

 .write-review-subtitle {
     font-size: 13.5px;
     color: #71717a;
     margin: 0;
 }

 .form-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 28px;
 }

 .star-picker {
     display: flex;
     gap: 8px;
     font-size: 24px;
     color: #d1d5db;
     cursor: pointer;
 }

 .star-picker i {
     transition: color 0.15s ease;
 }

 .star-picker i.active {
     color: #f59e0b;
 }

 .textarea-wrap {
     position: relative;
 }

 .textarea-wrap textarea {
     width: 100%;
     border: 1px solid #d4c5b5;
     border-radius: 6px;
     padding: 10px 14px 24px;
     font-size: 14px;
     line-height: 1.5;
     resize: vertical;
     font-family: inherit;
     transition: border-color 0.2s;
 }

 .textarea-wrap textarea:focus {
     border-color: #800020;
     outline: none;
     box-shadow: 0 0 0 3px rgba(128, 0, 32, 0.1);
 }

 .textarea-wrap .char-counter {
     position: absolute;
     right: 12px;
     bottom: 8px;
     font-size: 11px;
     color: #9ca3af;
     pointer-events: none;
     background: rgba(255, 255, 255, 0.9);
     padding: 0 4px;
 }

 .form-col input[type="text"],
 .form-col input[type="email"] {
     width: 100%;
     border: 1px solid #d4c5b5;
     border-radius: 6px;
     padding: 10px 14px;
     font-size: 14px;
     font-family: inherit;
     transition: border-color 0.2s;
 }

 .form-col input[type="text"]:focus,
 .form-col input[type="email"]:focus {
     border-color: #800020;
     outline: none;
     box-shadow: 0 0 0 3px rgba(128, 0, 32, 0.1);
 }

 .photo-upload-box input[type="file"] {
     font-size: 13px;
     color: #555;
     width: 100%;
 }

 .photo-upload-previews {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
     margin-top: 10px;
 }

 .photo-upload-preview {
     position: relative;
     display: inline-block;
     margin-top: 0;
 }

 .photo-upload-preview img {
     width: 72px;
     height: 72px;
     max-width: 72px;
     max-height: 72px;
     border-radius: 6px;
     border: 1px solid #d4c5b5;
     object-fit: cover;
     display: block;
 }

 .photo-upload-preview .btn-remove-photo {
     position: absolute;
     top: -6px;
     right: -6px;
     background: #800020;
     color: #ffffff;
     border: none;
     border-radius: 50%;
     width: 20px;
     height: 20px;
     font-size: 13px;
     line-height: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
 }

 .btn-submit-review {
     background: #800020;
     color: #ffffff;
     border: none;
     border-radius: 6px;
     padding: 12px 28px;
     font-size: 14.5px;
     font-weight: 600;
     width: 100%;
     cursor: pointer;
     transition: background 0.2s ease;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .btn-submit-review:hover {
     background: #5a0016;
 }

 .btn-submit-review:disabled {
     opacity: 0.7;
     cursor: not-allowed;
 }

 /* 3. Customer Reviews List with Sorting */
 .reviews-list-section {
     margin-top: 30px;
 }

 .reviews-list-head {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding-bottom: 12px;
     border-bottom: 1px solid #ebd9c8;
     margin-bottom: 10px;
 }

 .reviews-list-title {
     font-size: 18px;
     font-weight: 700;
     color: #2a1708;
     margin: 0;
 }

 .reviews-sort-container {
     display: flex;
     align-items: center;
 }

 select.reviews-sort-dropdown {
     border: 1px solid #d4c5b5;
     border-radius: 6px;
     padding: 6px 14px;
     font-size: 13px;
     color: #333;
     background: #ffffff;
     cursor: pointer;
     outline: none;
 }

 .nice-select.reviews-sort-dropdown {
     border: 1px solid #d4c5b5;
     border-radius: 6px;
     padding: 0 34px 0 14px !important;
     height: 38px !important;
     line-height: 36px !important;
     font-size: 13px;
     color: #333;
     background: #ffffff;
     cursor: pointer;
     outline: none;
     float: none !important;
     display: inline-flex !important;
     align-items: center !important;
 }

 .nice-select.reviews-sort-dropdown .current {
     line-height: 1 !important;
     display: inline-block;
 }

 .nice-select.reviews-sort-dropdown:after {
     right: 13px !important;
     top: 50% !important;
     margin-top: -4px !important;
 }

 .amelia-reviews-list {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .amelia-review-item {
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
     gap: 20px;
     padding: 20px 0;
     border-bottom: 1px solid #f2e9df;
 }

 .amelia-review-item:last-child {
     border-bottom: none;
 }

 .amelia-review-item .review-item-main {
     display: flex;
     gap: 14px;
     flex: 1;
 }

 .amelia-review-item .review-avatar {
     width: 42px;
     height: 42px;
     border-radius: 50%;
     background: #e2e8f0;
     color: #475569;
     font-weight: 700;
     font-size: 16px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .amelia-review-item .review-content {
     flex: 1;
 }

 .amelia-review-item .review-header {
     display: flex;
     align-items: center;
     gap: 8px;
     margin-bottom: 3px;
     flex-wrap: wrap;
 }

 .amelia-review-item .review-author {
     font-size: 15px;
     font-weight: 700;
     color: #1e293b;
 }

 .amelia-review-item .review-verified {
     font-size: 11.5px;
     color: #15803d;
     font-weight: 600;
     display: inline-flex;
     align-items: center;
     gap: 4px;
 }

 .amelia-review-item .review-stars-date {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 8px;
 }

 .amelia-review-item .review-stars {
     color: #f59e0b;
     font-size: 13px;
     display: flex;
     gap: 2px;
 }

 .amelia-review-item .review-date {
     font-size: 12.5px;
     color: #64748b;
 }

 .amelia-review-item .review-text {
     font-size: 14px;
     color: #374151;
     line-height: 1.6;
     margin: 0;
 }

 .amelia-review-item .review-thumbnails-wrap {
     display: flex;
     flex-direction: column;
     align-items: flex-end;
     gap: 6px;
     flex-shrink: 0;
 }

 .amelia-review-item .review-thumbnails-row {
     display: flex;
     flex-wrap: nowrap;
     gap: 8px;
     align-items: center;
     justify-content: flex-end;
 }

 .amelia-review-item .review-thumbnail {
     width: 80px;
     height: 80px;
     border-radius: 8px;
     overflow: hidden;
     border: 1px solid #ebd9c8;
     flex-shrink: 0;
     cursor: pointer;
 }

 /* Desktop: Show max 4 images; hide 5th+ */
 .amelia-review-item .review-thumbnail:nth-child(n+5),
 .amelia-review-item .review-thumbnail.is-extra-desktop-thumb {
     display: none !important;
 }

 .amelia-review-item .review-view-more-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: #fdfaf5;
     border: 1px solid #e5d5c3;
     color: #800020;
     font-size: 12px;
     font-weight: 600;
     border-radius: 6px;
     padding: 4px 12px;
     line-height: 1.3;
     cursor: pointer;
     white-space: nowrap;
     transition: background 0.2s ease, border-color 0.2s ease;
 }

 .amelia-review-item .review-view-more-btn:hover {
     background: #f4ebe0;
     border-color: #d4be9e;
 }

 .amelia-review-item .review-view-more-btn.is-mobile-only-more {
     display: none;
 }

 .amelia-review-item .review-view-more-btn .view-more-label-mobile {
     display: none;
 }

 .amelia-review-item .review-view-more-btn .view-more-label-desktop {
     display: inline;
 }

 .amelia-review-item .review-thumbnail img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
     transition: transform 0.25s ease;
 }

 .amelia-review-item .review-thumbnail:hover img {
     transform: scale(1.06);
 }

 .reviews-empty {
     padding: 24px 0;
     text-align: center;
     color: #786b61;
     font-size: 14px;
     list-style: none;
 }

 /* Review All Photos Popup Modal */
 .review-photos-modal-backdrop {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(18, 12, 8, 0.72);
     backdrop-filter: blur(5px);
     -webkit-backdrop-filter: blur(5px);
     z-index: 99998;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 16px;
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.25s ease, visibility 0.25s ease;
 }

 .review-photos-modal-backdrop.is-open {
     opacity: 1;
     visibility: visible;
 }

 #imageLightbox {
     z-index: 100005;
 }

 .review-photos-modal-dialog {
     background: #ffffff;
     border-radius: 16px;
     max-width: 480px;
     width: 100%;
     max-height: 84vh;
     display: flex;
     flex-direction: column;
     overflow: hidden;
     box-shadow: 0 24px 50px rgba(35, 20, 10, 0.28);
     border: 1px solid #eadccb;
     transform: translateY(16px) scale(0.98);
     transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
 }

 .review-photos-modal-backdrop.is-open .review-photos-modal-dialog {
     transform: translateY(0) scale(1);
 }

 .review-photos-modal-header {
     background: #44020d;
     padding: 14px 18px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     border-bottom: 2px solid #c29c32;
 }

 .review-photos-kicker {
     display: block;
     font-size: 11px;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: #c29c32;
     font-weight: 600;
     margin-bottom: 2px;
 }

 .review-photos-modal-title {
     color: #ffffff;
     font-size: 17px;
     font-family: 'Cinzel Decorative', 'Playfair Display', serif;
     font-weight: 700;
     margin: 0;
 }

 .review-photos-modal-close {
     background: transparent;
     border: 0;
     color: #ffffff;
     font-size: 28px;
     line-height: 1;
     cursor: pointer;
     padding: 0 4px;
     opacity: 0.85;
 }

 .review-photos-modal-body {
     padding: 16px;
     overflow-y: auto;
     max-height: calc(84vh - 70px);
 }

 .review-photos-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 10px;
 }

 .review-photos-modal-item {
     aspect-ratio: 1 / 1;
     border-radius: 8px;
     overflow: hidden;
     border: 1px solid #ebd9c8;
     background: #fdfaf6;
 }

 .review-photos-modal-item a,
 .review-photos-modal-item img {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.25s ease;
 }

 .review-photos-modal-item:hover img {
     transform: scale(1.05);
 }

 /* Mobile Responsiveness */
 @media (max-width: 768px) {
     .review-photos-grid {
         grid-template-columns: repeat(3, 1fr);
         gap: 8px;
     }
     .amelia-reviews-summary {
         flex-direction: column;
         align-items: stretch;
         padding: 18px 16px;
         gap: 18px;
     }

     .amelia-reviews-summary .summary-left {
         min-width: unset;
     }

     .amelia-reviews-summary .summary-middle {
         max-width: 100%;
     }

     .amelia-reviews-summary .summary-right {
         width: 100%;
     }

     .btn-write-review {
         width: 100%;
         padding: 12px 18px;
     }

     .form-grid {
         grid-template-columns: 1fr;
         gap: 16px;
     }

     .write-review-card {
         padding: 18px 16px;
     }

     .amelia-review-item {
         gap: 12px;
     }

     .amelia-review-item .review-item-main {
         min-width: 0;
     }

     .amelia-review-item .review-stars-date {
         flex-wrap: wrap;
         row-gap: 2px;
         column-gap: 8px;
     }

     .amelia-review-item .review-date {
         white-space: nowrap;
     }

     .amelia-review-item .review-thumbnails-row {
         flex-wrap: nowrap;
         gap: 6px;
     }

     .amelia-review-item .review-thumbnail {
         width: 58px;
         height: 58px;
     }

     .amelia-review-item .review-thumbnail:nth-child(n+3),
     .amelia-review-item .review-thumbnail.is-extra-mobile-thumb {
         display: none !important;
     }

     .amelia-review-item .review-view-more-btn,
     .amelia-review-item .review-view-more-btn.is-mobile-only-more {
         display: inline-flex;
         font-size: 11.5px;
         padding: 3px 10px;
         width: 100%;
     }

     .amelia-review-item .review-view-more-btn .view-more-label-desktop {
         display: none;
     }

     .amelia-review-item .review-view-more-btn .view-more-label-mobile {
         display: inline;
     }

     .amelia-review-item .review-view-more-btn:active {
         background: #f4ebe0;
     }

     .amelia-review-item .review-avatar {
         width: 36px;
         height: 36px;
         font-size: 14px;
     }
 }

 .info-ecom-card {
     border: 1px solid #e8d8c2;
     border-radius: 12px;
     background: linear-gradient(180deg, #fff 0%, #fdf7ef 100%);
     overflow: hidden;
 }

 .info-ecom-head {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     padding: 14px 16px;
     border-bottom: 1px solid #efdfca;
     background: #fff9f0;
 }

 .info-ecom-head h4 {
     margin: 0;
     font-size: 16px;
     font-weight: 700;
     color: #5c390f;
 }

 .info-stock-tag {
     font-size: 12px;
     font-weight: 600;
     color: #1f6d2d;
     background: #edf9ef;
     border: 1px solid #ccead1;
     border-radius: 999px;
     padding: 5px 10px;
     display: inline-flex;
     align-items: center;
     gap: 6px;
 }

 .info-stock-tag.out-of-stock {
     color: #b91c1c;
     background: #fef2f2;
     border-color: #fecaca;
 }

 .info-ecom-table {
     padding: 6px 16px 4px;
 }

 .info-row {
     display: grid;
     grid-template-columns: 220px 1fr;
     gap: 12px;
     padding: 10px 0;
     border-bottom: 1px dashed #eadcca;
 }

 .info-row:last-child {
     border-bottom: 0;
 }

 .info-key {
     font-size: 13px;
     font-weight: 600;
     color: #7a4f07;
     display: inline-flex;
     align-items: center;
     gap: 8px;
 }

 .info-val {
     font-size: 14px;
     color: black;
 }

 .info-ecom-badges {
     padding: 12px 16px 16px;
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
 }

 .info-ecom-badges span {
     border: 1px solid #e7d8c6;
     background: #fff;
     border-radius: 999px;
     padding: 6px 10px;
     font-size: 12px;
     font-weight: 600;
     color: #604221;
     display: inline-flex;
     align-items: center;
     gap: 6px;
 }

 @media (max-width: 767px) {
     .reviews-simple-head {
         flex-direction: column;
         align-items: flex-start;
     }

     .info-row {
         grid-template-columns: 1fr;
         gap: 6px;
     }

     .info-ecom-head {
         flex-direction: column;
         align-items: flex-start;
     }

     .product-options {
         grid-template-columns: 1fr;
         gap: 14px;
     }

     .qty-action-row {
         flex-direction: column;
         align-items: stretch;
     }

     .qty-action-row .btn-cart {
         width: 100%;
     }

     .panel-grid.single-panel {
         grid-template-columns: 1fr;
     }

     .tab-toggle button {
         flex: 1 1 100%;
     }

     .trust-strip {
         grid-template-columns: 1fr;
     }
 }

 /* ── FOOTER TRUST STRIP ── */
 .trust-strip {
     border-radius: 12px;
     /* padding: 14px; */
     display: grid;
     grid-template-columns: 1fr 1fr 1fr 1fr;
     gap: 12px;
     margin-top: 30px;
 }

 .trust-item {
     display: flex;
     align-items: center;
     gap: 10px;
     border: 1px solid #eddfce;
     border-radius: 10px;
     background: #fff;
     padding: 25px 20px;
     transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
 }

 .trust-item:hover {
     border-color: #d3b488;
     transform: translateY(-2px);
     box-shadow: 0 8px 18px rgba(84, 52, 9, 0.08);
 }

 .trust-icon {
     width: 45px;
     height: 45px;
     border-radius: 10px;
     background: #f8ecdc;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .trust-icon i {
     font-size: 21px;
     color: brown;
 }

 .trust-content h5 {
     margin: 0;
     font-size: 16px;
     font-weight: 700;
     color: black;
     margin-bottom: 8px;
 }

 .trust-content p {
     margin: 2px 0 0;
     font-size: 14px;
     color: black;
     line-height: 1.35;
 }

 /* ── RESPONSIVE TWEAKS ── */
 @media (max-width: 600px) {
     .panel-grid {
         grid-template-columns: 1fr;
     }

     .trust-strip {
         grid-template-columns: 1fr;
     }

     .product-title,
     h1.product-title,
     h1.product_title {
         font-size: 22px !important;
     }
 }

 @media only screen and (min-width: 601px) and (max-width: 1024px) {

     .trust-strip {
         grid-template-columns: repeat(2, 1fr);
     }
 }

/* ── RELATED PRODUCTS SECTION ── */
.related-products-section {
    padding: 10px 0 70px;
}

.related-products-header {
    text-align: center;
    margin-bottom: 26px;
}

.related-products-header h3 {
    margin: 0 0 8px;
    color: #1f1711;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.related-products-header p {
    margin: 0;
    color: #6f6054;
    font-size: 14px;
}

.related-product-card {
    height: 100%;
    padding: 14px 14px 24px;
    border: 1px solid #eadfd3;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 32px rgba(61, 34, 8, 0.06);
    text-align: center;
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.related-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(61, 34, 8, 0.1);
}

.related-product-img-wrap {
    position: relative;
    margin-bottom: 16px;
    border-radius: 16px;
    overflow: hidden;
}

.related-product-card img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    border-radius: 16px;
    margin-bottom: 0;
    display: block;
}

.related-product-badge {
    position: absolute;
    top: 26px;
    left: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    z-index: 5;
}

.related-product-badge.new {
    background: #ebf7ee;
    color: #247145;
}

.related-product-badge.sale {
    background: #fff0e1;
    color: #a35b00;
}

.related-product-badge.bestseller,
.related-product-badge.hot {
    background: #fef3c7;
    color: #92400e;
}

.related-product-badge.out-of-stock {
    background: #f7ebff;
    color: #7b3dc2;
}

/* Rating Badge on Related Product Image (matching Product Listing page e.g. 4.4 ★ | 14) */
.related-product-img-wrap .product-image-rating-badge {
    position: absolute !important;
    bottom: 10px !important;
    left: 10px !important;
    z-index: 5 !important;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    border-radius: 4px !important;
    padding: 3px 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.14) !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

.related-product-img-wrap .product-image-rating-badge .rating-val {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #282c3f !important;
    letter-spacing: -0.2px !important;
    line-height: 1 !important;
}

.related-product-img-wrap .product-image-rating-badge .rating-star-icon {
    font-size: 9.5px !important;
    color: #14958f !important;
    line-height: 1 !important;
}

.related-product-img-wrap .product-image-rating-badge .rating-divider {
    display: inline-block !important;
    width: 1px !important;
    height: 10px !important;
    background: #d4d5d9 !important;
    margin: 0 2px !important;
}

.related-product-img-wrap .product-image-rating-badge .rating-count {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    color: #535766 !important;
    line-height: 1 !important;
}

.related-product-card h4 {
    margin: 0 0 10px;
    font-size: 18px;
    color: #1f1711;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-product-card h4 a {
    color: #1f1711;
    text-decoration: none;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-product-card h4 a:hover {
    color: #cc9e46;
}

@media (max-width: 768px) {
    .related-product-card h4 {
        font-size: 15px;
    }
}

.related-product-price {
    display: block;
    margin-bottom: 16px;
    font-size: 16px;
    font-weight: 600;
    color: #000000db;
}

.related-product-price del {
    color: #888;
    font-size: 14px;
    margin-right: 6px;
    font-weight: normal;
}

.related-product-price ins {
    text-decoration: none;
}

.related-product-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0px 30px;
    border-radius: 999px;
    background: #cc9e46;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s ease;
}

.related-product-link:hover {
    background: #b58835;
    color: #fff;
}

/* ── WOOCOMMERCE VARIATION & FORM HELPERS ── */
.product-options select,
.product-options .nice-select,
.variations_form select.amelia-hidden-select,
.variations_form .nice-select,
.amelia-hidden-select,
.nice-select.amelia-hidden-select {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Disabled size tile when unavailable for selected color */
.size-tile.is-disabled,
.size-tile:disabled,
.size-tile[aria-disabled="true"] {
    opacity: 0.8 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background: #f3f4f6 linear-gradient(to top right, transparent calc(50% - 1.25px), #f87171 calc(50% - 0.75px), #f87171 calc(50% + 0.75px), transparent calc(50% + 1.25px)) !important;
    color: #9ca3af !important;
    border-color: #e5e7eb !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.size-tile.is-disabled .tile-label,
.size-tile:disabled .tile-label,
.size-tile[aria-disabled="true"] .tile-label {
    color: #9ca3af !important;
    text-decoration: none !important;
}

/* Custom Add to Cart & Buy Now buttons matching HTML design with prominent size */
.woocommerce .qty-action-row .btn-cart,
.woocommerce .qty-action-row .qty-add-btn,
.woocommerce .qty-action-row button.button.alt,
.qty-action-row .btn-cart,
.qty-action-row .qty-add-btn,
.woocommerce .qty-action-row .btn-view-cart,
.qty-action-row .btn-view-cart {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 30px !important;
    border-radius: 8px !important;
    background: #c29c32 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    line-height: normal !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(194, 156, 50, 0.3) !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
    text-decoration: none !important;
}

.woocommerce .qty-action-row .btn-cart:hover,
.woocommerce .qty-action-row .qty-add-btn:hover,
.woocommerce .qty-action-row button.button.alt:hover,
.qty-action-row .btn-cart:hover,
.qty-action-row .qty-add-btn:hover,
.woocommerce .qty-action-row .btn-view-cart:hover,
.qty-action-row .btn-view-cart:hover {
    background: #a88322 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(194, 156, 50, 0.35) !important;
    text-decoration: none !important;
}

.woocommerce .qty-action-row .btn-cart:disabled,
.woocommerce .qty-action-row .qty-add-btn:disabled,
.qty-action-row .btn-cart:disabled,
.qty-action-row .qty-add-btn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Buy Now needs its own colour so it reads as a distinct action from Add to Cart */
.woocommerce .qty-action-row .btn-buy-now,
.qty-action-row .btn-buy-now {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 30px !important;
    border-radius: 8px !important;
    background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%) !important;
    box-shadow: 0 4px 14px rgba(113, 72, 9, 0.35) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    line-height: normal !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.woocommerce .qty-action-row .btn-buy-now:hover,
.qty-action-row .btn-buy-now:hover {
    background: linear-gradient(90deg, rgb(93 58 6) 0%, rgb(140 98 0) 50%, rgb(104 78 0 / 98%) 100%) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(113, 72, 9, 0.4) !important;
}

/* Hide in-stock and shipping/guarantee badges on product detail */
.in-stock,
.buy-badge-row {
    display: none !important;
}

/* Quantity button row layout: ensures Add to Cart / View Cart, Buy Now, and Rent have compact width and sit neatly on the same row */
.qty-btn-group {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: 100% !important;
}

.woocommerce .qty-btn-group .btn-cart,
.woocommerce .qty-btn-group .btn-buy-now,
.woocommerce .qty-btn-group .btn-view-cart,
.woocommerce .qty-btn-group .btn-rent-now,
.qty-btn-group .btn-cart,
.qty-btn-group .btn-buy-now,
.qty-btn-group .btn-view-cart,
.qty-btn-group .btn-rent-now {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
    text-align: center !important;
    border-radius: 7px !important;
}

/* Rent action button */
.woocommerce .qty-action-row .btn-rent-now,
.qty-action-row .btn-rent-now {
    min-height: 42px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: #fffdf9 !important;
    color: #7b4e12 !important;
    border: 1.5px solid #7a5007 !important;
    box-shadow: 0 4px 12px rgba(122, 80, 7, 0.12) !important;
    font-weight: 700 !important;
    line-height: normal !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.woocommerce .qty-action-row .btn-rent-now:hover,
.qty-action-row .btn-rent-now:hover,
.woocommerce .qty-action-row .btn-rent-now.active,
.qty-action-row .btn-rent-now.active {
    background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(113, 72, 9, 0.35) !important;
}

@media (max-width: 480px) {
    .qty-btn-group {
        flex-wrap: wrap !important;
        width: 100% !important;
    }
    .woocommerce .qty-btn-group .btn-cart,
    .woocommerce .qty-btn-group .btn-buy-now,
    .woocommerce .qty-btn-group .btn-view-cart,
    .woocommerce .qty-btn-group .btn-rent-now,
    .qty-btn-group .btn-cart,
    .qty-btn-group .btn-buy-now,
    .qty-btn-group .btn-view-cart,
    .qty-btn-group .btn-rent-now {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
    text-align: center !important;
    border-radius: 7px !important;
}
}

/* Ensure quantity heading & stepper always remain visible */
.quantity-card .option-card-head,
.quantity-card.is-in-cart .option-card-head {
    display: flex !important;
}

.quantity-card .qty-controller,
.quantity-card.is-in-cart .qty-controller {
    display: inline-flex !important;
}

/* Button visibility based on cart status:
   - When not in cart: [ Add to Cart ] + [ Buy Now ]  + [ Rent ] (if rentable)
   - When in cart:     [ Buy Now ]     + [ View Cart ] + [ Rent ] (if rentable) */

.quantity-card:not(.is-in-cart) .single_add_to_cart_button {
    display: inline-flex !important;
}

.quantity-card.is-in-cart .single_add_to_cart_button {
    display: none !important;
}

.quantity-card:not(.is-in-cart) .btn-view-cart {
    display: none !important;
}

.quantity-card.is-in-cart .btn-view-cart {
    display: inline-flex !important;
}

.quantity-card .btn-buy-now {
    display: inline-flex !important;
}

.quantity-card .btn-rent-now {
    display: inline-flex !important;
}

/* Show star-row with stars only, hiding any text review count */
.star-row {
    display: flex !important;
    margin-top: 6px !important;
}

.star-row .review-count {
    display: none !important;
}

/* Suppress WooCommerce core unstyled view cart link */
.woocommerce a.added_to_cart.wc-forward,
a.added_to_cart.wc-forward,
.qty-action-row a.added_to_cart {
    display: none !important;
}

.single_variation_wrap {
    margin-top: 10px;
}

.single_variation_wrap .woocommerce-variation-price,
.woocommerce-variation-price {
    display: none !important;
}

.woocommerce-variation-availability {
    display: none !important;
}

.reset_variations {
    display: inline-block;
    font-size: 12px;
    color: #888;
    text-decoration: underline;
    margin-top: 6px;
    cursor: pointer;
}

.reset_variations:hover {
    color: #3b2a6e;
}

/* Review Form Styling inside Desc Tabs */
#review_form_wrapper {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}

#review_form .comment-reply-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    display: block;
    color: #1f1711;
}

#review_form .comment-form-rating {
    margin-bottom: 14px;
}

#review_form .comment-form-comment label,
#review_form .comment-form-author label,
#review_form .comment-form-email label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #333;
}

#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 14px;
}

#review_form input[type="submit"] {
    background: #cc9e46;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

#review_form input[type="submit"]:hover {
    background: #b58835;
}

/* Color stock status, badges, out-of-stock chips, and disabled button */
.colour-chip.is-out-of-stock {
    opacity: 0.7;
    position: relative;
}

.colour-stock-badge.out-of-stock {
    display: inline-block;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 4px;
    margin-left: 8px;
    vertical-align: middle;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.colour-stock-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

.colour-stock-notice i {
    color: #dc2626;
    font-size: 15px;
    flex-shrink: 0;
}

.woocommerce .qty-action-row .qty-add-btn.out-of-stock-btn,
.qty-action-row .qty-add-btn.out-of-stock-btn {
    background: #9ca3af !important;
    border-color: #9ca3af !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    box-shadow: none !important;
    opacity: 0.7 !important;
}
/* ── RENT DETAILS POPUP REDESIGN (Matching Reference Design) ── */
.panel-grid.rent-modal {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    margin: 0 !important;
    padding: 30px 16px !important;
    background: rgba(15, 10, 5, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    overflow-y: auto !important;
    align-items: center !important;
    justify-content: center !important;
}

body.rent-modal-open {
    overflow: hidden !important;
}

body.rent-modal-open .panel-grid.rent-modal {
    display: flex !important;
}

.panel-grid.rent-modal .panel.rent-modal-panel {
    width: 100% !important;
    max-width: 520px !important;
    margin: auto !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px 28px !important;
    border: 1px solid #f0ebe4 !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28) !important;
    overflow: visible !important;
    position: relative !important;
}

/* Header */
.rent-modal-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
    background: transparent !important;
}

.rent-modal-heading {
    display: flex !important;
    flex-direction: column !important;
}

.rent-modal-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-style: italic !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #1a1714 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.rent-modal-subtitle {
    font-size: 13px !important;
    color: #7a7067 !important;
    margin: 3px 0 0 0 !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}

.rent-modal-close-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #faf5ec !important;
    border: 1px solid #ebdccb !important;
    color: #7a5007 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
    font-size: 13px !important;
}

.rent-modal-close-btn:hover {
    background: #f0e2cd !important;
    color: #4e3203 !important;
    transform: scale(1.06) !important;
}

/* Mini Product Card */
.rent-modal-product-card {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 10px 12px !important;
    background: #ffffff !important;
    border: 1px solid #f0ebe4 !important;
    border-radius: 10px !important;
    margin-bottom: 14px !important;
}

.rent-modal-product-img {
    width: 68px !important;
    height: 68px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    border: 1px solid #f0ebe4 !important;
    flex-shrink: 0 !important;
}

.rent-modal-product-info {
    flex: 1 !important;
    min-width: 0 !important;
}

.rent-modal-product-name {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #1a1714 !important;
    margin: 0 0 4px !important;
    line-height: 1.3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.rent-modal-product-price-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.rent-modal-product-price {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #1a1714 !important;
}

.rent-available-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: #fdf2e9 !important;
    color: #9a4c1c !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 20px !important;
}

.rent-available-badge i {
    font-size: 10px !important;
}

/* 2 Metric Cards (Rental Price & Refundable Deposit) */
.rent-metric-cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

.rent-metric-card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border: 1px solid #f0ebe4 !important;
    border-radius: 10px !important;
}

.rent-metric-icon-box {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 8px !important;
    background-color: #faede2 !important;
    color: #852929 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
}

.rent-metric-info {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    line-height: 1.25 !important;
}

.rent-metric-label {
    font-size: 12px !important;
    color: #7a7067 !important;
    margin-bottom: 2px !important;
}

.rent-metric-value-wrap {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
}

.rent-metric-amount {
    color: #d32f2f !important;
    font-weight: 700 !important;
    font-size: 15.5px !important;
}

.rent-metric-amount .woocommerce-Price-amount {
    color: #d32f2f !important;
    font-weight: 700 !important;
    font-size: 15.5px !important;
}

.rent-metric-unit {
    font-size: 11.5px !important;
    color: #7a7067 !important;
    font-weight: 400 !important;
}

.rent-info-icon {
    color: #d32f2f !important;
    font-size: 12px !important;
    margin-left: 3px !important;
    cursor: pointer !important;
}

.rent-metric-note {
    font-size: 10px !important;
    color: #9c8e82 !important;
    margin-top: 3px !important;
    line-height: 1.25 !important;
}

/* Select Rental Dates */
.rent-dates-section {
    margin-bottom: 12px !important;
}

.rent-section-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1714 !important;
    margin-bottom: 0 !important;
}

.rent-date-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}

.rent-date-col {
    display: flex !important;
    flex-direction: column !important;
}

.rent-date-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #4a4036 !important;
    margin-bottom: 4px !important;
}

.rent-date-col .rental-date-field {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

.rent-date-col .rental-date-field input[type="date"] {
    width: 100% !important;
    border: 1px solid #e2ddd5 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    color: #2a2a2a !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.rent-date-col .rental-date-field > i {
    position: absolute !important;
    right: 12px !important;
    color: #7a7067 !important;
    font-size: 14px !important;
    pointer-events: none !important;
}

/* Ensure calendar popups stay fully inside the modal window */
#rentalEndCalendar,
#rentalEndField .rental-calendar,
.rent-date-col:last-child .rental-calendar {
    left: auto !important;
    right: 0 !important;
}

#rentalStartCalendar,
#rentalStartField .rental-calendar,
.rent-date-col:first-child .rental-calendar {
    left: 0 !important;
    right: auto !important;
}

/* Duration row */
.rent-duration-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 12px 0 14px !important;
}

.rent-duration-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1714 !important;
}

.rent-duration-row .duration-custom {
    position: relative !important;
    width: auto !important;
}

.rent-duration-row .duration-trigger {
    width: auto !important;
    min-width: 130px !important;
    border: 1px solid #e2ddd5 !important;
    border-radius: 8px !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
    background: #fff !important;
    color: #1a1714 !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

/* Breakdown Card */
.rent-breakdown-card {
    background: #fbf7f2 !important;
    border: 1px solid #f0e9df !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    margin-bottom: 14px !important;
}

.rent-breakdown-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    color: #5a4f45 !important;
}

.rent-breakdown-item {
    color: #5a4f45 !important;
    font-size: 12.5px !important;
}

.rent-breakdown-val {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1a1714 !important;
}

.rent-breakdown-total-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid #ebe0d3 !important;
}

.rent-total-label {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1714 !important;
}

.rent-total-price {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #d32f2f !important;
}

.rent-total-price .woocommerce-Price-amount {
    color: #d32f2f !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

/* Pay Deposit Button */
.rent-btn-pay-deposit {
    width: 100% !important;
    height: 46px !important;
    border: none !important;
    border-radius: 8px !important;
    background: #7a5416 !important;
    color: #ffffff !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(122, 84, 22, 0.25) !important;
    transition: all 0.2s ease !important;
    font-family: inherit !important;
}

.rent-btn-pay-deposit:hover:not(:disabled) {
    background: #68450d !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(122, 84, 22, 0.35) !important;
}

.rent-btn-pay-deposit:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

@media (max-width: 576px) {
    .panel-grid.rent-modal .panel.rent-modal-panel {
        padding: 20px 16px !important;
    }
    .rent-metric-cards {
        grid-template-columns: 1fr !important;
    }
}

/* ═════════════════════════════════════════════════════════════════════
   LEFT-SIDE VERTICAL GALLERY, BREADCRUMB & REDESIGN LAYOUT
   ═════════════════════════════════════════════════════════════════════ */

/* Product Breadcrumb */
.product-breadcrumb-wrap {
    margin-top: 4px;
    margin-bottom: 20px;
}
.amelia-product-breadcrumb {
    font-size: 13.5px;
    font-weight: 500;
    color: #8c7b6d;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.amelia-product-breadcrumb a {
    color: #5c4738;
    text-decoration: none;
    transition: color 0.15s ease;
}
.amelia-product-breadcrumb a:hover {
    color: #c29c32;
}
.amelia-product-breadcrumb .sep {
    color: #baa898;
    font-size: 11px;
    display: inline-flex;
    align-items: center;
}
.amelia-product-breadcrumb span:last-child {
    color: #2b1f14;
    font-weight: 600;
}

/* Left-Side Vertical Product Gallery */
.product-gallery-vertical {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 16px !important;
}

@media (min-width: 992px) {
    .product-gallery-vertical {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 80px !important;
        align-self: flex-start !important;
    }
}

.product-gallery-vertical .thumb-row-wrap {
    width: 106px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    margin-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.product-gallery-vertical .thumb-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 580px !important;
    padding: 3px !important;
    width: 100% !important;
    scrollbar-width: none !important;
}

.product-gallery-vertical .thumb-row::-webkit-scrollbar {
    display: none !important;
}

.product-gallery-vertical .thumb-row img {
    width: 98px !important;
    height: 98px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    background: #f8f6f2 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}

.product-gallery-vertical .thumb-row img:hover {
    border-color: #c29c32 !important;
    transform: scale(1.02) !important;
}

.product-gallery-vertical .thumb-row img.active {
    border-color: #c29c32 !important;
    box-shadow: 0 0 0 1px #c29c32, 0 4px 10px rgba(194, 156, 50, 0.25) !important;
}

.product-gallery-vertical .thumb-nav {
    position: static !important;
    transform: none !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid #e2d7c5 !important;
    background: #fff !important;
    color: #4a3b2c !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer !important;
    margin-top: 8px !important;
    transition: all 0.2s ease !important;
}

.product-gallery-vertical .thumb-nav:hover {
    background: #fdfaf4 !important;
    border-color: #c29c32 !important;
    color: #c29c32 !important;
}

.product-gallery-vertical .thumb-nav-prev {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: none !important;
}

.product-gallery-vertical .product-image {
    flex: 1 1 0 !important;
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    max-height: 580px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid #f0e9df !important;
    background: #f8f6f2 !important;
    position: relative !important;
}

.product-gallery-vertical .product-image-inner {
    border-radius: 10px !important;
    background: #f8f6f2 !important;
    height: 100% !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.product-gallery-vertical .product-image-inner img,
.product-gallery-vertical .product-image-inner .main-image {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
}

.product-gallery-vertical .enlarge-btn {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.65) !important;
    color: #fff !important;
    border: none !important;
    z-index: 10 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.product-gallery-vertical .enlarge-btn:hover {
    background: rgba(0, 0, 0, 0.85) !important;
    transform: scale(1.08) !important;
}

/* Star Row & Review Text */
.star-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 8px !important;
}
.star-row .review-count-text {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13.5px !important;
    color: #6b5a4b !important;
}
.star-row .review-count-text strong {
    color: #2b1f14 !important;
}
.star-row .review-sep {
    color: #d1c5b8 !important;
}
.star-row .write-review-link {
    color: #6b5a4b !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    font-size: 13px !important;
}
.star-row .write-review-link:hover {
    color: #c29c32 !important;
}

/* Size Guide Trigger */
.size-card .option-card-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.size-guide-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #7b4e12 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 0.15s ease !important;
}
.size-guide-link:hover {
    color: #a67600 !important;
    text-decoration: underline !important;
}
.size-guide-link i {
    font-size: 14px !important;
}

/* Quantity and In-Stock Badge Inline */
.qty-controller-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
}
.product-in-stock-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #15803d !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
.product-in-stock-badge i {
    color: #16a34a !important;
    font-size: 16px !important;
}

/* Out of Stock and Disabled Purchasing Controls */
.product-in-stock-badge.is-out-of-stock {
    color: #dc2626 !important;
}
.product-in-stock-badge.is-out-of-stock i,
.product-in-stock-badge.is-out-of-stock .dot-red {
    color: #dc2626 !important;
}

.qty-controller.is-disabled {
    opacity: 0.45 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
    background: #f9fafb !important;
    border-color: #e5e7eb !important;
}
.qty-controller.is-disabled .qty-btn,
.qty-controller.is-disabled input,
.qty-controller.is-disabled #quantityInput {
    cursor: not-allowed !important;
    pointer-events: none !important;
    color: #9ca3af !important;
}

.woocommerce .qty-action-row .btn-cart.disabled,
.woocommerce .qty-action-row .btn-cart.out-of-stock-btn,
.woocommerce .qty-action-row .btn-cart:disabled,
.qty-action-row .btn-cart.disabled,
.qty-action-row .btn-cart.out-of-stock-btn,
.qty-action-row .btn-cart:disabled,
.btn-buy-now.disabled,
.btn-buy-now:disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    filter: grayscale(0.6) !important;
    box-shadow: none !important;
}

/* Two-tone Action Buttons (Add to Cart = Cream with Gold Border, Buy Now = Solid Bronze Gradient) */
.woocommerce .qty-action-row .btn-cart,
.woocommerce .qty-action-row .qty-add-btn,
.qty-action-row .btn-cart,
.qty-action-row .qty-add-btn,
.woocommerce .qty-action-row .btn-view-cart,
.qty-action-row .btn-view-cart {
    background: #fffdf9 !important;
    color: #7b4e12 !important;
    border: 1.5px solid #c29c32 !important;
    box-shadow: 0 4px 12px rgba(194, 156, 50, 0.15) !important;
}
.woocommerce .qty-action-row .btn-cart:hover,
.woocommerce .qty-action-row .qty-add-btn:hover,
.qty-action-row .btn-cart:hover,
.qty-action-row .qty-add-btn:hover,
.woocommerce .qty-action-row .btn-view-cart:hover,
.qty-action-row .btn-view-cart:hover {
    background: #fbf5ea !important;
    border-color: #a88322 !important;
    color: #5a3504 !important;
    box-shadow: 0 6px 16px rgba(194, 156, 50, 0.25) !important;
}

.woocommerce .qty-action-row .btn-buy-now,
.qty-action-row .btn-buy-now {
    background: linear-gradient(90deg, rgb(113 72 9) 0%, rgb(166 118 0) 50%, rgb(128 98 0 / 98%) 100%) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(113, 72, 9, 0.35) !important;
}
.woocommerce .qty-action-row .btn-buy-now:hover,
.qty-action-row .btn-buy-now:hover {
    background: linear-gradient(90deg, rgb(93 58 6) 0%, rgb(140 98 0) 50%, rgb(104 78 0 / 98%) 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(113, 72, 9, 0.45) !important;
}



/* ── Product Mobile Header (Above Image on Mobile) ── */
.product-mobile-header {
    margin-bottom: 16px;
    padding: 0 4px;
}

.product-mobile-header .product-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.product-mobile-header .product-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1e1e1e !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    flex: 1;
}

.product-mobile-header .btn-wishlist-action {
    background: transparent;
    border: none;
    font-size: 20px;
    color: #555;
    padding: 4px 6px;
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s ease, transform 0.15s ease;
    touch-action: manipulation;
}

.product-mobile-header .btn-wishlist-action i {
    pointer-events: none;
}

.product-mobile-header .btn-wishlist-action:hover,
.product-mobile-header .btn-wishlist-action.is-in-wishlist {
    color: #8c2a3e;
}

.product-mobile-header .star-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.product-mobile-header .stars {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #c29c32;
    font-size: 13px;
}

.product-mobile-header .review-count-text {
    font-size: 13px;
    color: #666;
    font-weight: 500;
}

.product-mobile-header .price-range {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
}

.product-mobile-header .panel-price-val,
.product-mobile-header .panel-price-val .price,
.product-mobile-header .panel-price-val span.price,
.product-mobile-header .panel-price-val .amount,
.product-mobile-header .panel-price-val .woocommerce-Price-amount,
.product-mobile-header .panel-price-val bdi,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .product-mobile-header span.price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1e1e1e !important;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    text-decoration: none !important;
}

.product-mobile-header .panel-price-val del,
.product-mobile-header .panel-price-val del .woocommerce-Price-amount,
.product-mobile-header .panel-price-val del bdi {
    font-size: 15px !important;
    color: #999 !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}

.product-mobile-header .panel-price-val ins,
.product-mobile-header .panel-price-val ins .woocommerce-Price-amount,
.product-mobile-header .panel-price-val ins bdi {
    font-size: 22px !important;
    color: #8c2a3e !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.product-mobile-header .tax-info {
    font-size: 12px;
    color: #888;
    font-weight: 400;
}

/* ── Mobile Main Image Nav Arrows & Wishlist ── */
.main-image-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2b1f14;
    font-size: 14px;
    cursor: pointer;
    z-index: 5;
    transition: background 0.2s ease, transform 0.15s ease;
}

.main-image-nav:active {
    background: #fff;
    transform: translateY(-50%) scale(0.92);
}

.main-image-prev {
    left: 12px;
}

.main-image-next {
    right: 12px;
}

.image-wishlist-btn {
    display: none !important;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    font-size: 16px;
    cursor: pointer;
    z-index: 5;
    transition: color 0.2s ease, background 0.2s ease;
}

.image-wishlist-btn:hover,
.image-wishlist-btn.is-in-wishlist {
    color: #8c2a3e;
    background: #fff;
}

@media (min-width: 992px) {
    .product-mobile-header,
    .image-wishlist-btn {
        display: none !important;
    }
}

/* ── Mobile Gallery Layout (Max-Width: 991px): Thumbnails Below Main Image ── */
@media (max-width: 991px) {
    .product-gallery-vertical {
        display: flex !important;
        flex-direction: column !important;
        position: static !important;
        top: auto !important;
        gap: 0 !important;
    }

    .product-gallery-vertical .product-image {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        max-height: none !important;
        flex: none !important;
        position: relative !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        margin: 0 !important;
        background: #fdfaf6 !important;
        border: 1px solid #f0e9df !important;
    }

    .product-gallery-vertical .product-image-inner {
        width: 100% !important;
        height: 100% !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .product-gallery-vertical .product-image-inner img,
    .product-gallery-vertical .product-image-inner .main-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
        display: block !important;
    }

    .product-gallery-vertical .thumb-row-wrap {
        order: 2 !important;
        width: 100% !important;
        margin-top: 12px !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .product-gallery-vertical .thumb-row {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        max-height: none !important;
        width: 100% !important;
        gap: 10px !important;
        padding: 4px 2px !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .product-gallery-vertical .thumb-row::-webkit-scrollbar {
        display: none !important;
    }

    .product-gallery-vertical .thumb-row img {
        width: 72px !important;
        height: 72px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 8px !important;
        object-fit: cover !important;
        flex-shrink: 0 !important;
        border: 2px solid transparent !important;
        background: #fdfaf6 !important;
        transition: border-color 0.2s ease, transform 0.15s ease !important;
    }

    .product-gallery-vertical .thumb-row img.active {
        border-color: #c29c32 !important;
        box-shadow: 0 0 0 1px #c29c32, 0 2px 8px rgba(194, 156, 50, 0.25) !important;
    }

    .product-gallery-vertical .thumb-nav {
        display: none !important;
    }

    /* Hide duplicate desktop title, star row & price on mobile */
    .product-info-col .product-title-row,
    .product-info-col .star-row,
    .product-info-col .price-range {
        display: none !important;
    }

    /* Breadcrumbs on mobile: hide duplicate product title and its separator */
    .product-breadcrumb-wrap {
        margin-top: 6px !important;
        margin-bottom: 12px !important;
    }
    .amelia-product-breadcrumb {
        font-size: 13px !important;
        gap: 6px !important;
    }
    .amelia-product-breadcrumb > span:last-child,
    .amelia-product-breadcrumb > span:nth-last-child(2) {
        display: none !important;
    }
}



/* ── REVIEWS: dynamic list + submission form ── */
.reviews-simple-item .verified-badge {
    font-style: normal;
    font-size: 11px;
    font-weight: 500;
    color: #3b6d11;
    margin-left: 8px;
}

.reviews-simple-item .item-date {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #9a8a75;
}

.reviews-empty {
    margin: 0 0 18px;
    color: #6b5a44;
    font-size: 14px;
}

.review-notice {
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #eaf3de;
    color: #27500a;
    font-size: 13px;
}

.review-form {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid #efdcc7;
    border-radius: 10px;
    background: #fffaf5;
}

.review-form h4 {
    margin: 0 0 10px;
    font-size: 16px;
    color: #44020d;
}

.review-rating-input {
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
    margin-bottom: 12px;
}

.review-rating-input input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.review-rating-input label {
    font-size: 22px;
    color: #d8ccb8;
    cursor: pointer;
    transition: color 0.15s ease;
}

.review-rating-input label:hover,
.review-rating-input label:hover ~ label,
.review-rating-input input:checked ~ label {
    color: #d9a010;
}

.review-form-row {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.review-form-row input,
.review-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e3d3b8;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
}

.review-form textarea {
    resize: vertical;
    margin-bottom: 12px;
}

.review-form-as {
    margin: 0 0 10px;
    font-size: 13px;
    color: #6b5a44;
}

.review-submit {
    padding: 10px 28px;
    border: none;
    border-radius: 8px;
    background: #c29c32;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
}

.review-submit:hover {
    background: #a88322;
}

@media (max-width: 600px) {
    .review-form-row {
        flex-direction: column;
    }
}

/* -------------------------------------------------------------------------
 * SIZE GUIDE POPUP MODAL STYLES
 * ------------------------------------------------------------------------- */
.size-guide-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(18, 12, 8, 0.68);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.size-guide-modal-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

body.size-guide-open {
    overflow: hidden !important;
}

.size-guide-modal-dialog {
    background: #ffffff;
    border-radius: 16px;
    max-width: 700px;
    width: 100%;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(35, 20, 10, 0.28);
    border: 1px solid #eadccb;
    transform: translateY(20px) scale(0.98);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.size-guide-modal-backdrop.is-open .size-guide-modal-dialog {
    transform: translateY(0) scale(1);
}

.size-guide-modal-header {
    background: #44020d;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid #c29c32;
}

.size-guide-kicker {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #c29c32;
    font-weight: 600;
    margin-bottom: 2px;
}

.size-guide-modal-title {
    color: #ffffff;
    font-size: 20px;
    font-family: 'Cinzel Decorative', 'Playfair Display', serif;
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
}

.size-guide-modal-close {
    background: transparent;
    border: 0;
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
    opacity: 0.85;
    transition: opacity 0.2s, transform 0.2s;
}

.size-guide-modal-close:hover {
    opacity: 1;
    transform: scale(1.1);
}

.size-guide-modal-body {
    padding: 22px 24px;
    overflow-y: auto;
    max-height: calc(90vh - 85px);
}

/* Unit toggle */
.size-guide-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 10px;
}

.size-guide-controls .unit-label {
    font-size: 13.5px;
    font-weight: 600;
    color: #4a3828;
}

.size-unit-toggle {
    display: inline-flex;
    background: #f7f1e6;
    padding: 3px;
    border-radius: 30px;
    border: 1px solid #ebdccb;
}

.size-unit-toggle .unit-btn {
    border: none;
    background: transparent;
    padding: 6px 14px;
    font-size: 12.5px;
    font-weight: 600;
    color: #6b5846;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.size-unit-toggle .unit-btn.active {
    background: #44020d;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(68, 2, 13, 0.2);
}

/* Size Table */
.size-guide-table-wrap {
    overflow-x: auto;
    border: 1px solid #eddfce;
    border-radius: 10px;
    margin-bottom: 20px;
}

.size-guide-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    text-align: center;
}

.size-guide-table thead {
    background: #fdf9f4;
    border-bottom: 2px solid #eddfce;
}

.size-guide-table th {
    padding: 12px 14px;
    font-weight: 700;
    color: #3b2816;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.size-guide-table td {
    padding: 11px 14px;
    border-bottom: 1px solid #f2e9dc;
    color: #4a3b2e;
    white-space: nowrap;
}

.size-guide-table tbody tr:last-child td {
    border-bottom: none;
}

.size-guide-table tbody tr:hover {
    background: #faf4eb;
}

.size-badge {
    background: #44020d;
    color: #ffffff;
    display: inline-block;
    padding: 3px 9px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* How to measure */
.size-measure-guide {
    background: #fbf8f2;
    border: 1px solid #eddcc7;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 16px;
}

.measure-title {
    font-size: 14px;
    font-weight: 700;
    color: #44020d;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}

.measure-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.measure-card {
    display: flex;
    gap: 10px;
    background: #ffffff;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #f0e3d2;
}

.measure-num {
    width: 22px;
    height: 22px;
    background: #c29c32;
    color: #ffffff;
    font-weight: 700;
    font-size: 11px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.measure-info strong {
    display: block;
    font-size: 12px;
    color: #2b1d10;
    margin-bottom: 2px;
}

.measure-info p {
    margin: 0;
    font-size: 11px;
    color: #6d5b49;
    line-height: 1.35;
}

.size-guide-footer-note {
    background: #fdfaf4;
    border-left: 3px solid #c29c32;
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 12px;
    color: #5c4731;
    line-height: 1.45;
}

@media (max-width: 600px) {
    .measure-grid {
        grid-template-columns: 1fr;
    }
    .size-guide-modal-header {
        padding: 16px 18px;
    }
    .size-guide-modal-body {
        padding: 16px 18px;
    }
}


/* Rental calendar: days already booked */
.rental-calendar-grid button.rc-day.rc-booked {
    text-decoration: line-through;
    color: #b9a996;
    background: #f3ece0;
    cursor: not-allowed;
}

.acquire-mode-option:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
