/*
 Theme Name:   sexdollg Child Theme
 Theme URI:    https://sexdollg.com/
 Description:  Use this child theme to extend Sexdollg.
 Author:       sexdollg
 Author URI:   https://www.sexdollg.com/
 Template:     sexdollg
 Version:      1.1
 Text Domain:  sexdollg
*/
/* =========================================================
   001 Brand Grid
   ========================================================= */
.brand-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px 12px;
  padding: 20px;
  max-width: 1240px;
  margin: 0 auto;
}

/* Brand Links */
.brand-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
  padding: 4px 6px;
}
.brand-link:hover {
  opacity: 0.85;
  transform: scale(1.05);
}
.brand-name {
  white-space: nowrap;
  color: #fff;
}

/* Badge styles */
.badge:not(.onsale) {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1.2;
  color: #fff;
}
.badge-top { background: #ff0099; }
.badge-new { background: #00cc00; }
.badge-affordable { background: #22bb22; }
.badge-torso { background: #ff6600; }
.badge-default { background: #666; }
.badge:empty {
  display: none;
}

/* =========================================================
   002 Wishlist Page (shortcode table & actions)
   ========================================================= */
.brx-wll-wrap {width:100%;max-width:100%;overflow-x:auto}
.brx-wll-actions {display:flex;align-items:center;gap:10px;margin:12px 0}
.brx-wll-table {width:100%;border-collapse:collapse;margin-top:6px}
.brx-wll-table th,.brx-wll-table td {padding:10px;border-bottom:1px solid #eee;vertical-align:middle}
.brx-wll-empty {padding:16px;border:1px dashed #ddd;text-align:center}
.brx-wll-remove,.brx-wll-remove-selected {
  background:#F63E74;color:#fff;border:none;border-radius:5px;
  padding:6px 12px;font-size:14px;line-height:1.4;cursor:pointer;transition:background .2s ease;
}
.brx-wll-remove:hover,.brx-wll-remove-selected:hover {background:#d82e62;}

/* Wishlist count badge (menu or header) */
.wishlist-badge.wishlist-count {
  display:inline-block;
  min-width:18px;
  padding:0 6px;
  margin-left:6px;
  border-radius:9px;
  font-size:12px;
  line-height:18px;
  background:#F63E74;
  color:#fff;
  text-align:center;
}
.wishlist-icon-wrapper {
  position: relative;
  display: inline-block;
  font-size: 22px;
  color: #fff;
  text-decoration: none;
}
.wishlist-badge {
  position: absolute;
  top: 6px;
  right: -8px;
  min-width: 1.2em;
  height: 1.2em;
  padding: 0 0.35em;
  font-size: 12px;
  line-height: 1.2em;
  background: #ff1461;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  z-index: 9;
  box-sizing: border-box;
  display: inline-block;
}

/* =========================================================
   003 Wishlist Toggle Button (Loop & Single Product)
   ========================================================= */

/* Base button */
.wishlist-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 32px;
  height: 32px;
  border-radius: 50%;

  font-size: 16px;
  background: #fff;
  color: #f63e74; /* Default pink heart */
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  cursor: pointer;
  transition: all 0.2s ease;
}
.wishlist-toggle-btn i {
  pointer-events: none; /* Prevent icon blocking click */
}

/* Hover animation */
.wishlist-toggle-btn:hover {
  transform: scale(1.1);
}

/* In-wishlist state: pink background, white heart */
.wishlist-toggle-btn.in-wishlist {
  background: #f63e74;
  color: #fff;
}
.wishlist-toggle-btn.in-wishlist i {
  color: #fff;
}

/* Loop/Archive: top-right absolute positioning */
.wishlist-toggle-btn.is-absolute {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 9;
}

/* Ensure container relative for absolute positioning */
.repeater-item.product,
.woocommerce ul.products li.product,
.brxe-block.product,
.brxe-container.product,
.brxe-rhfixw.brxe-container {
  position: relative;
}

/* Mobile optimization: smaller button */
@media (max-width: 480px) {
  .wishlist-toggle-btn {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }
  .wishlist-toggle-btn.is-absolute {
    top: 6px;
    right: 6px;
  }
}
/* Force heart button in Bricks Query Loop product card → top-right corner */
.brxe-livsqr .wishlist-toggle-btn,
.brxe-container .wishlist-toggle-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 9;
}

/* =========================================================
   004 Slider Arrows (Unified Splide + Swiper pink round buttons)
   ========================================================= */

/* Splide arrows */
.splide__arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(246, 62, 116, 0.9); /* Pink background */
  display: flex;
  align-items: center;
  justify-content: center;

  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.splide__arrow svg {
  width: 14px;
  height: 14px;
  fill: #fff; /* White arrow */
}
.splide__arrow:hover {
  background: #f63e74; /* Hover darker pink */
  transform: scale(1.1);
}
.splide__arrow--prev { left: 8px; }
.splide__arrow--next { right: 8px; }

/* Swiper arrows */
.swiper-button-prev,
.swiper-button-next {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50%;
  background: rgba(246, 62, 116, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;

  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  color: #fff !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 14px !important;
  font-weight: bold;
  color: #fff !important;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: #f63e74;
  transform: scale(1.1);
}

/* Mobile optimization */
@media (max-width: 480px) {
  .splide__arrow,
  .swiper-button-prev,
  .swiper-button-next {
    width: 28px !important;
    height: 28px !important;
  }
  .splide__arrow svg,
  .swiper-button-prev::after,
  .swiper-button-next::after {
    font-size: 12px !important;
  }
}
/* =========================================================
   Slider Pagination (always outside container)
   ========================================================= */
/*Leave extra bottom space for the slider container */
.brxe-slider-nested {
  padding-bottom: 30px; /* You can change it to 30~50px, depending on the spacing you want*/
  padding-TOP: 2px;
  position: relative;
}
.splide__pagination__page.is-active,
.swiper-pagination-bullet-active {
  background: #f63e74; /* Active pink */
  transform: scale(1.2);
}

/* =========================================================
   005 WooCommerce Price Display Styles (WOOCS compatible)
   ========================================================= */

/* 1. Base price container */
.repeater-item.product .dynamic[data-field-id="91f6c7"] {
  text-align: center;
  margin: 8px 0;
  font-family: inherit;
}

/* 2. WOOCS price wrapper */
.repeater-item.product .dynamic[data-field-id="91f6c7"] .woocs_price_code {
  display: inline-block;
  font-size: 16px;
  line-height: 1.4;
  vertical-align: middle;
}

/* 3. Original price (del) */
.repeater-item.product .dynamic[data-field-id="91f6c7"] del {
  text-decoration: line-through !important;
  opacity: 0.6;
  font-size: 0.7em;
  color: #999 !important;
  margin-right: 8px;
  display: inline;
}
.repeater-item.product .dynamic[data-field-id="91f6c7"] del .woocommerce-Price-amount {
  font-weight: normal;
}

/* 4. Current price (ins) */
.repeater-item.product .dynamic[data-field-id="91f6c7"] ins {
  text-decoration: none !important;
  background: none;
  font-weight: bold;
  color: #ff0066 !important;
  font-size: 1em;
  display: inline;
}
.repeater-item.product .dynamic[data-field-id="91f6c7"] ins .woocommerce-Price-amount {
  font-weight: bold;
}

/* 5. General WooCommerce price elements */
.repeater-item.product .dynamic[data-field-id="91f6c7"] .woocommerce-Price-amount {
  font-weight: inherit;
}
.repeater-item.product .dynamic[data-field-id="91f6c7"] .woocommerce-Price-currencySymbol {
  font-weight: normal;
  margin-right: 2px;
}

/* 6. Accessibility: hide screen reader text visually */
.repeater-item.product .dynamic[data-field-id="91f6c7"] .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 7. Product card container cleanup */
.repeater-item.product {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Product titles */
.repeater-item.product .brxe-heading,
.repeater-item.product .product-title,
.repeater-item.product h2,
.repeater-item.product h3 {
  font-size: clamp(16px, 1.8vw, 22px);
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  color: #222;
  text-align: left;
  word-break: break-word;
}

/* General price block */
.repeater-item.product .price,
.brxe-text-basic .woocs_price_code,
.woocs_price_code {
  display: inline-block;
  font-size: clamp(13px, 1.2vw, 16px);
  line-height: 1.4;
}

/* Original price del */
.repeater-item.product .price del,
.brxe-text-basic .woocs_price_code del,
.woocs_price_code del {
  text-decoration: line-through;
  opacity: 0.6;
  font-size: clamp(11px, 1vw, 14px);
  color: #999;
  margin-right: 6px;
}

/* Current price ins */
.repeater-item.product .price ins,
.brxe-text-basic .woocs_price_code ins,
.woocs_price_code ins {
  text-decoration: none;
  font-weight: 700;
  color: #f63e74;
  font-size: clamp(14px, 1.5vw, 20px);
}

/* 8. Responsive adjustments */
@media (max-width: 768px) {
  .repeater-item.product .dynamic[data-field-id="91f6c7"] .woocs_price_code,
  .repeater-item.product .price {
    font-size: 14px;
  }
  .repeater-item.product .dynamic[data-field-id="91f6c7"] del {
    font-size: 0.85em;
    margin-right: 4px;
  }
  .repeater-item.product .dynamic[data-field-id="91f6c7"] ins {
    font-size: 0.95em;
  }
}
/* =========================================================
   006 divider middle pink
   ========================================================= */
.brxe-divider .line {
  height: 2px;
  border: none;
  background: linear-gradient(to right,
    #e5e5e5 0%,
    #e5e5e5 35%,
    #f63e74 35%,
    #f63e74 65%,
    #e5e5e5 65%,
    #e5e5e5 100%
  );
}
