/* ===== TWOTAILS PRODUCT PAGE — POP-ART STYLE ===== */
/* Matches product.html mockup: teal/yellow/Lilita One */

@import url('https://fonts.googleapis.com/css2?family=Lilita+One&family=Nunito:wght@400;600;700;800&display=swap');

/* ===== CSS VARIABLES ===== */
.tt-product-page {
  --yellow: #E8E048;
  --yellow-soft: #FFF7AE;
  --teal: #40E0D0;
  --teal-light: #B2F5EA;
  --lavender: #CE93D8;
  --lavender-light: #E8D5F5;
  --dark: #2D2D3F;
  --white: #FFFDF7;
  --orange: #FF7043;
  --green: #4CAF50;
  --pink: #FF69B4;
  --border: #e0e0e0;
  --transition: .3s ease;
  padding: 0;
  font-family: 'Nunito', sans-serif;
  background: var(--white);
  color: var(--dark);
}

.tt-product-page h1,
.tt-product-page h2,
.tt-product-page h3,
.tt-product-page h4 {
  font-family: 'Lilita One', cursive !important;
}

/* ===== HIDE WAREHOUSE DEFAULTS ===== */
.tt-product-page .row.product-info-row,
.tt-product-page .product-info-row,
.tt-product-page .col-add-qty,
.tt-product-page .col-add-btn,
.tt-product-page .product-quantity,
.tt-product-page .product-add-to-cart .qty,
.tt-product-page .blockreassurance_product,
.tt-product-page>.row,
.tt-product-page>.block.block-section,
#main-product-wrapper>.row,
#main-product-wrapper>.block.block-section:not(.tt-tabs-section),
.tt-product-page .product-cover:not(.tt-gallery-main .product-cover),
.tt-product-page .product-reference,
.tt-product-page .product-categories,
.tt-product-page .product-manufacturer,
.tt-product-page .tax-label,
.tt-product-page .product-price-tax,
.tt-product-page .product-ean,
.tt-product-page .product-isbn,
.tt-product-page .product-upc,
.tt-product-page .product-mpn,
.tt-product-page .col-add-compare,
.tt-product-page .btn-iqitcompare-add,
.tt-product-page .js-iqitcompare-add,
.tt-product-page .product-additional-info .social-sharing,
.product-discounts.js-product-discounts,
.product-discounts.mb-3,
.product_stock_info,
#ocs_btn_open_modal,
.ocs_btn_open_modal,
#product_stock_info_popup,
.ocs_stock_info_available,
.ocs_stock_info_not_available,
[class*="ocs_stock"],
[id*="ocs_"] {
  display: none !important;
}

#wrapper .tt-product-page .container {
  max-width: 100% !important;
  padding: 0 !important;
}
.tt-product-page #inner-wrapper { padding: 0 !important; }
.tt-product-page .breadcrumb+.container,
.tt-product-page #content-wrapper { padding: 0 !important; max-width: 100% !important; }
.tt-product-page .product-add-to-cart { padding: 0 !important; }
.tt-product-page .product-prices { margin: 0 !important; }
.tt-product-page .product-price.h5 { margin: 0 !important; }
.tt-product-page #col-product-info { padding: 0 !important; }

/* Keep custom sections visible */
.tt-product-grid { display: grid !important; }
.tt-tabs-section { display: block !important; }
.tt-related-section { display: block !important; }

/* ===== BREADCRUMB ===== */
#wrapper .breadcrumb {
  padding: 16px 40px !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  color: #999 !important;
  max-width: 1300px !important;
  margin: 0 auto !important;
  background: none !important;
  border: none !important;
}
#wrapper .breadcrumb a { color: var(--teal) !important; font-weight: 700 !important; }
#wrapper .breadcrumb a:hover { text-decoration: underline !important; color: var(--teal) !important; }
#wrapper .breadcrumb li::after { content: "›" !important; margin: 0 8px !important; color: #ccc !important; }
#wrapper .breadcrumb li:last-child::after { display: none !important; }
#wrapper .breadcrumb span { color: var(--dark) !important; font-weight: 700 !important; }

/* ===== PRODUCT GRID ===== */
.tt-product-grid {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 40px 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

/* ===== GALLERY ===== */
.tt-gallery {
  position: sticky !important;
  top: 120px !important;
  z-index: 1 !important;
}

.tt-gallery-main {
  border-radius: 24px !important;
  border: 3px solid var(--dark) !important;
  overflow: hidden !important;
  box-shadow: 5px 5px 0 var(--dark) !important;
  margin-bottom: 16px !important;
  position: relative !important;
  background: #f8f8f8 !important;
}

.tt-gallery-main img,
.tt-main-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  cursor: zoom-in !important;
  transition: transform .5s ease !important;
  padding: 0 !important;
}

.tt-gallery-zoom { width: 100%; height: 100%; overflow: hidden; }
.tt-gallery-zoom:hover .tt-main-image { transform: scale(1.06); }

/* Gallery badges */
.tt-gallery-badge {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  padding: 6px 16px !important;
  border-radius: 50px !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  border: 2px solid var(--dark) !important;
  background: var(--yellow) !important;
  color: var(--dark) !important;
  z-index: 5 !important;
}
.tt-badge-sale { background: var(--orange) !important; color: #fff !important; }

.tt-gallery-main .product-flags {
  position: absolute; top: 16px; left: 16px; z-index: 3;
  display: flex; flex-direction: column; gap: 4px;
}
.tt-gallery-main .product-flag {
  background: var(--yellow) !important; color: var(--dark); font-size: .8rem;
  font-weight: 800; padding: 6px 16px; border-radius: 50px;
  border: 2px solid var(--dark); display: inline-block; width: fit-content;
}
.tt-gallery-main .product-flag.on-sale,
.tt-gallery-main .product-flag.discount {
  background: var(--orange) !important; color: #fff;
}

/* Gallery nav arrows */
.tt-gallery-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px;
  background: rgba(255,255,255,.9) !important;
  border-radius: 50% !important;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 3px 3px 0 var(--dark) !important;
  border: 2px solid var(--dark) !important;
  cursor: pointer; z-index: 2; color: var(--dark) !important;
  transition: var(--transition) !important;
}
.tt-gallery-nav:hover { background: var(--teal-light) !important; }
.tt-gallery-prev { left: 12px; }
.tt-gallery-next { right: 12px; }

/* Gallery thumbnails */
.tt-gallery-thumbs {
  display: flex; gap: 10px; margin-top: 0; overflow-x: auto; padding-bottom: 4px;
}
.tt-thumb {
  width: 80px; height: 80px; border-radius: 12px !important;
  overflow: hidden; border: 3px solid #e0e0e0 !important;
  cursor: pointer; flex-shrink: 0; background: none !important;
  padding: 0 !important; transition: var(--transition) !important; opacity: 1;
}
.tt-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tt-thumb:hover, .tt-thumb.active {
  border-color: var(--teal) !important;
  box-shadow: 2px 2px 0 var(--dark) !important;
}

/* ===== PRODUCT INFO ===== */
.tt-product-info {
  padding-top: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.tt-product-brand-row {
  display: flex !important; align-items: center !important;
  justify-content: flex-start !important; margin-bottom: 8px !important;
  flex-wrap: wrap !important; gap: 8px !important;
}
.tt-brand-name {
  font-size: .85rem !important; font-weight: 700 !important;
  color: var(--teal) !important; text-transform: uppercase !important;
  letter-spacing: .5px !important; text-decoration: none !important;
}
.tt-product-rating { display: flex; align-items: center; gap: 6px; }
.tt-product-rating .stars,
.tt-product-rating .star-content { color: var(--yellow) !important; font-size: 1.2rem; }

.tt-product-title {
  font-family: 'Lilita One', cursive !important;
  font-size: 2rem !important; font-weight: 400 !important;
  color: var(--dark) !important; line-height: 1.2 !important;
  margin-bottom: 12px !important;
}

.tt-rating-row {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin-bottom: 16px !important; font-size: .9rem !important;
  font-weight: 600 !important;
}
.tt-stars {
  color: var(--yellow) !important; font-size: 1.1rem !important; letter-spacing: 1px !important;
}
.tt-rating-count {
  color: #999 !important;
}
.tt-rating-count a {
  color: var(--teal) !important; text-decoration: none !important;
}
.tt-rating-count a:hover {
  text-decoration: underline !important;
}

.tt-product-subtitle {
  font-size: 1rem !important; font-weight: 600 !important;
  color: #666 !important; line-height: 1.7 !important;
  margin-bottom: 24px !important; padding-bottom: 24px !important;
  border-bottom: 2px dashed #e0e0e0 !important;
}

/* ===== PRICE BLOCK ===== */
.tt-price-block {
  background: var(--yellow-soft) !important;
  border-radius: 20px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  border: 3px solid var(--dark) !important;
  box-shadow: 3px 3px 0 var(--dark) !important;
}

.tt-price-block .product-prices { display: block !important; margin: 0 !important; padding: 0 !important; border: none !important; background: none !important; }
.tt-price-block .product-prices .current-price-container { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; margin: 0 !important; padding: 0 !important; border: none !important; background: none !important; }
.tt-price-block .current-price { display: flex !important; align-items: center !important; gap: 12px !important; }

.tt-price-block .current-price-value,
.tt-price-block .product-price,
.tt-price-block span.product-price {
  font-family: 'Lilita One', cursive !important;
  font-size: 2.5rem !important;
  font-weight: 400 !important;
  color: var(--dark) !important;
  line-height: 1 !important;
}
.tt-price-block .regular-price {
  font-size: 1.2rem !important; color: #bbb !important;
  text-decoration: line-through !important; font-weight: 600 !important;
}
.tt-price-block .discount-percentage,
.tt-price-block .discount-amount {
  background: var(--orange) !important; color: #fff !important;
  font-size: .85rem !important; font-weight: 800 !important;
  padding: 4px 14px !important; border-radius: 50px !important;
}

/* Hide unwanted elements in price block */
.tt-price-block .product-availability,
.tt-price-block .tax-shipping-delivery-label,
.tt-price-block .delivery-information,
.tt-price-block .product-reference,
.tt-price-block #product-availability,
.tt-price-block .product-discounts,
.tt-price-block .product-without-taxes,
.tt-price-block .product-pack-price {
  display: none !important;
}

.tt-price-block .product-unit-price {
  font-size: .8rem !important; color: #999 !important;
  font-weight: 600 !important; margin-top: 4px !important;
}

.tt-stock-info {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin-top: 12px !important; font-weight: 700 !important; font-size: .9rem !important;
  color: var(--dark) !important;
}
.tt-stock-dot {
  width: 10px !important; height: 10px !important; border-radius: 50% !important;
  background: var(--green) !important; flex-shrink: 0 !important;
}
.tt-stock-info--warning .tt-stock-dot {
  background: var(--orange) !important;
}

/* ===== VARIANTS ===== */
.tt-variants-wrapper { margin-bottom: 24px !important; }
.tt-variants-wrapper .product-variants-item { margin-bottom: 20px !important; }
.tt-variants-wrapper .product-variants-item label,
.tt-variants-wrapper .form-control-label {
  font-weight: 800 !important; font-size: .9rem !important;
  color: var(--dark) !important; margin-bottom: 10px !important; display: block !important;
}
.tt-variants-wrapper .product-variants-item ul {
  display: flex !important; gap: 8px !important; list-style: none !important;
  padding: 0 !important; margin: 0 !important; flex-wrap: wrap !important;
}
.tt-variants-wrapper .input-container { position: relative !important; float: none !important; }
.tt-variants-wrapper .input-radio {
  position: absolute !important; opacity: 0 !important; width: 100% !important; height: 100% !important; cursor: pointer !important; z-index: 1 !important; top: 0 !important; left: 0 !important;
}
.tt-variants-wrapper .input-container .radio-label {
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 10px 20px !important;
  border: 2px solid var(--dark) !important; border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important; font-weight: 700 !important;
  font-size: .85rem !important; background: #fff !important;
  cursor: pointer !important; transition: var(--transition) !important;
  color: var(--dark) !important;
}
.tt-variants-wrapper .input-container .radio-label:hover {
  background: var(--teal-light) !important;
}
.tt-variants-wrapper .input-container .input-radio:checked + .radio-label,
.tt-variants-wrapper .input-container .input-radio.selected + .radio-label {
  background: var(--teal) !important; color: #fff !important;
  box-shadow: 2px 2px 0 var(--dark) !important;
}
.tt-variants-wrapper .attribute-not-in-stock .radio-label {
  opacity: 0.5 !important; text-decoration: line-through !important;
}

/* Color swatches */
.tt-variants-wrapper .color {
  width: 36px !important; height: 36px !important; border-radius: 50% !important;
  border: 3px solid transparent !important; transition: var(--transition) !important;
  cursor: pointer !important;
}
.tt-variants-wrapper .color:hover { transform: scale(1.1); }
.tt-variants-wrapper .input-container .input-color:checked + .color,
.tt-variants-wrapper .input-container .input-color.selected + .color {
  border-color: var(--dark) !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--dark) !important;
}

/* Select dropdown */
.tt-product-page select.form-control.form-control-select,
.tt-product-page .custom-select2 select {
  max-width: 220px !important; height: 44px !important;
  padding: 8px 16px !important; padding-right: 36px !important;
  border: 2px solid var(--dark) !important; border-radius: 50px !important;
  font-size: .85rem !important; font-weight: 700 !important;
  color: var(--dark) !important; background: #fff !important;
  -webkit-appearance: none !important; appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232D2D3F' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 12px center !important;
}
.tt-product-page select.form-control-select:hover,
.tt-product-page select.form-control-select:focus {
  border-color: var(--teal) !important; outline: none !important;
}

/* ===== QUANTITY + ADD TO CART ===== */
.tt-purchase-row {
  display: flex; gap: 12px; margin-bottom: 20px; align-items: stretch;
}
.tt-quantity-selector {
  display: flex; align-items: center;
  border: 3px solid var(--dark) !important; border-radius: 50px !important; overflow: hidden;
  background: #fff;
}
.tt-qty-btn {
  width: 44px; height: 50px; border: none !important; background: #fff !important;
  font-size: 1.2rem; font-weight: 800; cursor: pointer;
  transition: background .2s !important; color: var(--dark) !important;
}
.tt-qty-btn:hover { background: var(--teal-light) !important; }
.tt-qty-input {
  width: 50px !important; text-align: center !important; border: none !important;
  border-left: 3px solid var(--dark) !important; border-right: 3px solid var(--dark) !important;
  font-family: 'Nunito', sans-serif !important; font-weight: 800 !important;
  font-size: 1rem !important; outline: none !important;
  background: transparent !important; padding: 0 !important;
  -moz-appearance: textfield !important; appearance: textfield !important;
  box-shadow: none !important; color: var(--dark) !important;
  min-width: 0 !important; max-width: 50px !important; flex: none !important;
  height: 50px !important;
}
.tt-qty-input::-webkit-outer-spin-button,
.tt-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Kill Warehouse bootstrap-touchspin */
.tt-quantity-selector .bootstrap-touchspin,
.tt-quantity-selector .input-group.bootstrap-touchspin,
.tt-quantity-selector .input-group { display: contents !important; border: none !important; background: none !important; box-shadow: none !important; width: auto !important; }
.tt-quantity-selector .bootstrap-touchspin .input-group-btn-vertical,
.tt-quantity-selector .input-group-btn-vertical { display: none !important; }
.tt-quantity-selector .bootstrap-touchspin-prefix,
.tt-quantity-selector .bootstrap-touchspin-postfix,
.tt-quantity-selector .input-group-addon { display: none !important; }
.tt-quantity-selector .input-group-add-cart,
.tt-product-page .input-group-add-cart { display: none !important; }

.tt-btn-add-cart {
  flex: 1;
  padding: 14px 32px !important;
  background: var(--yellow) !important;
  color: var(--dark) !important;
  font-family: 'Lilita One', cursive !important;
  font-size: 1.2rem !important;
  border: 3px solid var(--dark) !important;
  border-radius: 50px !important;
  cursor: pointer;
  transition: var(--transition) !important;
  box-shadow: 3px 3px 0 var(--dark) !important;
  display: flex !important; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px;
}
.tt-btn-add-cart:hover {
  background: var(--teal) !important; color: #fff !important;
  transform: translate(-1px, -1px) !important;
  box-shadow: 4px 4px 0 var(--dark) !important;
}
.tt-btn-add-cart:disabled {
  background: #d1d5db !important; cursor: not-allowed;
  transform: none !important; box-shadow: 3px 3px 0 #999 !important;
  border-color: #999 !important; color: #666 !important;
}
.tt-btn-add-cart.added { background: var(--green) !important; color: #fff !important; }
.tt-btn-add-cart i:not(.spinner-icon),
.tt-btn-add-cart .material-icons { display: none !important; }
.tt-btn-add-cart .spinner-icon { display: none; }
.tt-btn-add-cart.is-loading .spinner-icon { display: inline-block; }
.tt-btn-add-cart.is-loading .tt-cart-label { display: none; }
.tt-btn-add-cart.is-loading svg:first-child { display: none; }

.tt-minimal-qty { font-size: 13px; color: #999; margin-top: 4px; }

/* Product additional info */
.tt-product-page .product-additional-info {
  display: none !important;
}
.tt-product-page .reward_alert_message {
  background: var(--yellow-soft) !important;
  border: 2px solid var(--dark) !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  font-size: 14px !important;
  color: var(--dark) !important;
  margin: 16px 0 !important;
  box-shadow: 2px 2px 0 var(--dark) !important;
}
.tt-product-page .reward_alert_message::before { content: '🎁' !important; font-size: 1.3rem !important; margin-right: 10px !important; }
.tt-product-page .reward_alert_message b,
.tt-product-page .reward_alert_message strong { font-weight: 800 !important; color: var(--dark) !important; }

/* ===== TRUST BADGES ===== */
.tt-trust-badges {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
  padding-bottom: 24px !important;
  border-bottom: 2px dashed #e0e0e0 !important;
}
.tt-trust-badge {
  display: flex !important; align-items: center !important; gap: 8px !important;
  font-weight: 700 !important; font-size: .8rem !important; color: #666 !important;
  padding: 0 !important; border: none !important; background: transparent !important;
}
.tt-trust-badge .tt-trust-emoji {
  font-size: 1.2rem !important;
}
.tt-trust-icon,
.tt-trust-badge svg {
  display: none !important;
}

.tt-secondary-actions {
  display: flex !important; gap: 12px !important; margin-bottom: 24px !important;
}
.tt-secondary-actions button,
.tt-secondary-actions a {
  padding: 12px 20px !important; border: 2px solid #e0e0e0 !important;
  border-radius: 50px !important; background: #fff !important;
  font-family: 'Nunito', sans-serif !important; font-weight: 700 !important;
  font-size: .85rem !important; cursor: pointer !important; transition: var(--transition) !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
  color: var(--dark) !important; text-decoration: none !important;
}
.tt-secondary-actions .tt-btn-wishlist:hover {
  border-color: var(--pink) !important; color: var(--pink) !important;
}
.tt-secondary-actions .tt-btn-compare:hover {
  border-color: var(--teal) !important; color: var(--teal) !important;
}

.tt-delivery-info {
  background: #fff !important; border: 2px solid #e0e0e0 !important;
  border-radius: 16px !important; padding: 20px !important; margin-bottom: 24px !important;
}
.tt-delivery-item {
  display: flex !important; align-items: center !important; gap: 12px !important;
  padding: 10px 0 !important; font-weight: 600 !important; font-size: .9rem !important;
}
.tt-delivery-item:not(:last-child) {
  border-bottom: 1px solid #f0f0f0 !important;
}
.tt-delivery-item .tt-del-icon {
  font-size: 1.3rem !important; width: 32px !important; text-align: center !important; flex-shrink: 0 !important;
}
.tt-delivery-item strong {
  color: var(--teal) !important;
}

.tt-store-pickup {
  background: var(--teal-light) !important; border-radius: 16px !important;
  padding: 20px !important; border: 2px solid var(--teal) !important; margin-bottom: 24px !important;
}
.tt-store-pickup h4 {
  font-size: 1rem !important; margin-bottom: 12px !important; color: var(--dark) !important;
}
.tt-store-list {
  display: flex !important; flex-direction: column !important; gap: 8px !important;
}
.tt-store-item {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  background: #fff !important; padding: 10px 16px !important; border-radius: 12px !important;
  font-weight: 600 !important; font-size: .85rem !important; gap: 12px !important;
}
.tt-stock-avail {
  color: var(--green) !important; font-weight: 800 !important;
}
.tt-stock-unavail {
  color: var(--orange) !important; font-weight: 800 !important;
}

/* ===== TABS SECTION ===== */
.tt-tabs-section {
  max-width: 1300px !important;
  margin: 0 auto !important;
  padding: 0 40px 60px !important;
  background: none !important;
  border: none !important;
}

.tt-tabs-section .tabs.product-tabs,
.tt-tabs-section .product-tabs {
  max-width: 100%; margin: 0; padding: 0;
}

.tt-tabs-section .nav-tabs {
  display: flex !important; gap: 4px !important;
  border-bottom: 3px solid var(--dark) !important;
  margin-bottom: 32px !important;
}
.tt-tabs-section .nav-tabs .nav-link {
  padding: 14px 28px !important;
  background: none !important;
  border: 3px solid transparent !important;
  border-bottom: none !important;
  border-radius: 16px 16px 0 0 !important;
  font-family: 'Lilita One', cursive !important;
  font-size: 1rem !important;
  cursor: pointer;
  transition: var(--transition) !important;
  color: #999 !important;
  margin-bottom: -3px !important;
}
.tt-tabs-section .nav-tabs .nav-link.active {
  background: var(--yellow-soft) !important;
  border-color: var(--dark) !important;
  color: var(--dark) !important;
}
.tt-tabs-section .nav-tabs .nav-link:hover { color: var(--dark) !important; }
.tt-tabs-section .nav-tabs .nav-link::after { display: none !important; }

.tt-tabs-section .tab-content {
  font-weight: 600 !important; color: #555 !important;
  line-height: 1.8 !important; font-size: .95rem !important;
  padding: 0 !important;
}
.tt-tabs-section .tab-content h3 {
  font-size: 1.3rem !important; color: var(--dark) !important;
  margin: 24px 0 12px !important;
}

/* Data sheet / Features table */
.tt-tabs-section .data-sheet {
  display: flex !important; flex-wrap: wrap !important;
  margin-top: 20px !important; border-top: 1px solid #e0e0e0 !important;
}
.tt-tabs-section .data-sheet dt {
  flex: 0 0 50% !important; font-weight: 800 !important;
  color: var(--dark) !important; font-size: .9rem !important;
  padding: 12px 16px !important; border-bottom: 1px solid #e0e0e0 !important;
  margin: 0 !important;
}
.tt-tabs-section .data-sheet dd {
  flex: 0 0 50% !important; color: #555 !important;
  font-weight: 600 !important; font-size: .9rem !important;
  padding: 12px 16px !important; border-bottom: 1px solid #e0e0e0 !important;
  text-align: right !important; margin: 0 !important;
}
.tt-tabs-section .data-sheet dd:nth-child(4n),
.tt-tabs-section .data-sheet dt:nth-child(4n-1) {
  background: var(--yellow-soft);
}

/* Reviews styling */
#iqit-reviews .btn-primary {
  background: var(--teal) !important; border: 2px solid var(--dark) !important;
  border-radius: 50px !important; padding: 10px 24px !important;
  font-weight: 700 !important; font-family: 'Lilita One', cursive !important;
  box-shadow: 2px 2px 0 var(--dark) !important;
  transition: var(--transition) !important; color: #fff !important;
}
#iqit-reviews .btn-primary:hover {
  background: var(--yellow) !important; color: var(--dark) !important;
  transform: translate(-1px,-1px) !important; box-shadow: 3px 3px 0 var(--dark) !important;
}

/* ===== RELATED / ACCESSORIES ===== */
.tt-related-section,
.category-products.block.block-section.tt-related-section-live {
  display: block !important;
  max-width: 1300px; margin: 0 auto; padding: 0 40px 60px;
}
.tt-section-header { margin-bottom: 32px; text-align: center; }
.tt-section-header h2 {
  font-family: 'Lilita One', cursive !important;
  font-size: 2rem !important; color: var(--teal) !important;
  text-shadow: 2px 2px 0 var(--teal-light) !important;
  margin-bottom: 8px !important;
}
.tt-section-header p {
  color: #888 !important; font-weight: 600 !important; margin: 0 !important;
}
.category-products.block.block-section.tt-related-section-live .section-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 32px !important;
  border: 0 !important;
  text-align: center !important;
}
.category-products.block.block-section.tt-related-section-live .section-title span {
  font-family: 'Lilita One', cursive !important;
  font-size: 2rem !important;
  line-height: 1.15 !important;
  color: var(--teal) !important;
  text-shadow: 2px 2px 0 var(--teal-light) !important;
}
.category-products.block.block-section.tt-related-section-live .section-title small {
  display: block !important;
  color: #888 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.tt-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}
.tt-related-grid .product-miniature {
  background: #fff !important; border-radius: 20px !important;
  border: 3px solid var(--dark) !important; overflow: hidden !important;
  transition: var(--transition) !important;
  box-shadow: 3px 3px 0 var(--dark) !important;
  cursor: pointer; height: 100% !important;
  display: flex !important; flex-direction: column !important;
  margin-bottom: 0 !important; position: relative !important;
}
.tt-related-grid .product-miniature:hover {
  transform: translate(-2px, -2px) !important;
  box-shadow: 5px 5px 0 var(--dark) !important;
}
.tt-related-grid .product-miniature .product-flags,
.tt-related-grid .product-miniature .highlighted-informations,
.tt-related-grid .product-miniature .iqit-product-buttons,
.tt-related-grid .product-miniature .variant-links {
  display: none !important;
}
.tt-related-grid .thumbnail-container {
  position: relative; aspect-ratio: 1; background: #f8f8f8;
  overflow: hidden; margin-bottom: 0 !important;
}
.tt-related-grid .product-thumbnail { display: block !important; width: 100% !important; height: 100% !important; }
.tt-related-grid .product-thumbnail img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; padding: 0 !important;
  transition: transform .4s ease !important;
}
.tt-related-grid .product-miniature:hover .product-thumbnail img { transform: scale(1.06); }
.tt-related-grid .product-description {
  padding: 16px !important; flex-grow: 1 !important;
  display: flex !important; flex-direction: column !important;
}
.tt-related-grid .product-title {
  font-family: 'Nunito', sans-serif !important;
  font-size: .9rem !important; font-weight: 800 !important;
  color: var(--dark) !important; margin-bottom: 8px !important;
  line-height: 1.3 !important; text-decoration: none !important;
}
.tt-related-grid .price {
  font-family: 'Lilita One', cursive !important;
  font-size: 1.2rem !important; color: var(--dark) !important;
}
.tt-related-grid .regular-price {
  font-size: .9rem !important; color: #bbb !important;
  text-decoration: line-through !important;
}

/* Hide Elementor elements in product miniatures */
.tt-related-section .elementor,
.tt-related-section [data-elementor-type],
.tt-product-page .category-products .elementor,
.tt-product-page .category-products [data-elementor-type] {
  display: none !important;
}

/* ===== TOAST ===== */
.tt-toast {
  position: fixed !important; bottom: 32px !important; right: 32px !important;
  background: var(--green) !important; color: #fff !important;
  padding: 16px 28px !important; border-radius: 16px !important;
  border: 3px solid var(--dark) !important;
  box-shadow: 4px 4px 0 var(--dark) !important;
  font-size: 1rem !important; font-weight: 700 !important;
  transform: translateY(100px) !important; opacity: 0 !important;
  transition: var(--transition) !important; z-index: 9999 !important;
  pointer-events: none !important;
}
.tt-toast.show { transform: translateY(0) !important; opacity: 1 !important; pointer-events: auto !important; }

/* ===== MEGA MENU Z-INDEX ===== */
#desktop-header { position: relative !important; z-index: 20000 !important; }
#desktop-header .iqitmegamenu-wrapper { position: relative !important; z-index: 21000 !important; }
#desktop-header .iqitmegamenu-wrapper .dropdown-menu { z-index: 22000 !important; }
#header, #desktop-header, #desktop-header .header-nav, #desktop-header .header-top,
#desktop-header .iqitmegamenu-wrapper, #desktop-header .iqitmegamenu-wrapper .dropdown-menu {
  overflow: visible !important;
}
#main-product-wrapper, .tt-product-page, .tt-product-grid, .tt-gallery, .tt-product-info {
  position: relative !important; z-index: 1 !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .tt-product-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .tt-gallery { position: static !important; }
  .tt-related-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 768px) {
  .tt-product-grid { padding: 0 16px 40px !important; }
  .tt-product-title { font-size: 1.6rem !important; }
  .tt-price-block .current-price-value,
  .tt-price-block .product-price { font-size: 2rem !important; }
  .tt-gallery-thumbs { gap: 8px !important; }
  .tt-thumb { width: 64px !important; height: 64px !important; }
  .tt-tabs-section { padding: 0 16px 40px !important; }
  .tt-related-section { padding: 0 16px 40px !important; }
  .tt-tabs-section .nav-tabs { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .tt-tabs-section .nav-tabs .nav-link { white-space: nowrap !important; padding: 12px 20px !important; font-size: .85rem !important; }
  .tt-purchase-row { flex-direction: column !important; }
  .tt-secondary-actions { flex-direction: column !important; }
  .tt-store-item { flex-direction: column !important; align-items: flex-start !important; }
  .tt-related-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  nav { display: none; }
  header { padding: 12px 16px; }
}

@media (max-width: 480px) {
  .tt-btn-add-cart { width: 100% !important; padding: 16px !important; }
  .tt-quantity-selector { width: 100% !important; justify-content: space-between !important; }
  .tt-related-grid { grid-template-columns: 1fr !important; }
}
