/*
Theme Name: RebrandGurus Commerce
Theme URI: https://yourwebsite.com
Author: Your Name
Author URI: https://yourwebsite.com
Description: Professional WooCommerce + Elementor Theme
Version: 1.0
License: GPL v2 or later
Text Domain: rbg
*/

/* =============================================
   PRODUCT TEXT BUILDER (PTB)
============================================= */

/* ===== MAIN WRAPPER ===== */

.ptb-wrapper {
  display: flex;
  gap: 30px;
  margin-top: 20px;
}

/* ===== PREVIEW SIDE ===== */

.ptb-preview {
  width: 50%;
}

/* ===== INPUT SIDE ===== */

.ptb-fields {
  width: 100%;
  margin-top: 10px;
}

.ptb-item {
  margin-bottom: 16px;
}

.ptb-item label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #444;
}

.ptb-item input,
.ptb-item textarea {
  width: 100%;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1.5px solid #ddd;
  background: #fafafa;
  font-size: 14px;
  color: #333;
  outline: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}

.ptb-item input:focus,
.ptb-item textarea:focus {
  border-color: #b8860b;
  box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.1);
  background: #fff;
}

/* =============================================
   PRODUCT IMAGE WRAP
============================================= */

.ptb-image-wrap {
  position: relative;
  width: 350px;
  height: 350px;
  padding: 15px;
  overflow: hidden;
  border-radius: 16px;
  background: #f7f7f7;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.13);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ===== PRODUCT IMAGE ===== */

#ptb-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 16px;
  position: relative;
  z-index: 1;
  transition: opacity 0.3s ease;
}

/* =============================================
   TEXT OVERLAY
============================================= */

#ptb-overlay {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: 16px;
  z-index: 999;
}

/* =============================================
   TEXT LINES
============================================= */

.ptb-line {
  position: absolute;
  z-index: 9999;
  width: 100%;
  left: 0;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  white-space: nowrap;
  padding: 0 10px;
  box-sizing: border-box;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  text-transform: uppercase;
  white-space: pre;
}

/* ===== SVG CURVE TEXT ===== */

.ptb-line svg {
  width: 100%;
  height: auto;
  overflow: visible;
}

.ptb-line text {
  fill: currentColor;
}

/* =============================================
   COLOR VARIATIONS
============================================= */

/* Dark Products */

.blue-cl-selected .ptb-line,
.black-cl-selected .ptb-line,
.red-cl-selected .ptb-line,
.green-cl-selected .ptb-line {
  color: #fff;
}

/* Light Products */

.white-cl-selected .ptb-line,
.yellow-cl-selected .ptb-line,
.silver-cl-selected .ptb-line,
.gray-cl-selected .ptb-line {
  color: #000;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.5);
}

/* =============================================
   PRODUCT PAGE 3 COLUMN LAYOUT
============================================= */

.custom-product-3col {
  padding-top: 40px;
}

/* ===== LEFT COLUMN ===== */

.product-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* ===== MIDDLE COLUMN ===== */

.product-middle {
  padding-left: 30px;
}

.product-middle .product-title {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  color: #1a1a1a;
  margin-bottom: 8px;
}

.product-middle .price {
  display: block;
  margin-bottom: 14px;
  font-size: 22px;
  font-weight: 700;
  color: #333;
}

/* ===== QUANTITY ===== */

.product-middle .quantity input.qty {
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  border: 1.5px solid #ddd;
  text-align: center;
  font-size: 15px;
}

/* ===== PRODUCT ACTIONS ===== */

.product-bottom-actions {
  margin-top: 16px;
  width: 100%;
}

.product-bottom-actions .btn {
  flex: 1;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  transition: all 0.2s ease;
}

/* =============================================
   RELATED PRODUCTS
============================================= */

.product-right .widget-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #eee;
}

.product-right .product.product-sm {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.product-right .product-media {
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid #eee;
  flex-shrink: 0;
}

.product-right .product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-right .product-body {
  flex: 1;
}

.product-right .product-title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 4px;
}

.product-right .product-title a {
  color: #1a1a1a;
  text-decoration: none;
}

.product-right .product-title a:hover {
  color: #b8860b;
}

.product-right .product-price {
  font-size: 13px;
  font-weight: 700;
  color: #222;
}

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

button.single_add_to_cart_button.button.alt {
  background: #000;
  padding: 15px 20px;
  margin: 10px 0;
  border: 1px solid #000;
}

button.single_add_to_cart_button.button.alt:hover {
  border: 1px solid #000;
  background: #fff;
  color: #000;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles))
  button.button.alt.disabled {
  background-color: #999;
}

/* =============================================
   PRODUCT NAVIGATION
============================================= */

.product-nav-wrap {
  font-family: Arial, sans-serif;
  max-width: 280px;
  background: #fff;
  border: 1px solid #ddd;
}

/* Mobile Hamburger */

.product-nav-hamburger {
  display: none;
  background: #1a1a6e;
  color: #fff;
  border: none;
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}

.product-nav-hamburger span {
  float: right;
  font-size: 20px;
}

/* Desktop Title */

.product-nav-title {
  background: #2b2b6b;
  color: #fff;
  padding: 14px 16px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* Menu */

ul.product-nav-menu {
  list-style: none;
}

ul.product-nav-menu li {
  border-bottom: 1px solid #e8e8e8;
}

ul.product-nav-menu > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #0000a0;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
}

ul.product-nav-menu > li > a:hover,
ul.product-nav-menu > li.open > a {
  background: #0000c0;
}

/* Submenu */

ul.product-nav-menu li ul {
  list-style: none;
  display: none;
  background: #fff;
}

ul.product-nav-menu li ul li a {
  display: block;
  padding: 11px 24px;
  color: #00aacc;
  font-size: 13px;
  text-decoration: none;
}

ul.product-nav-menu li ul li a:hover {
  color: #0077aa;
  background: #f5f5f5;
}

/* Third Level */

ul.product-nav-menu li ul li ul li a {
  padding-left: 36px;
  color: #0088bb;
}

/* Arrow */

.nav-arrow {
  font-size: 10px;
  transition: transform 0.2s;
  display: inline-block;
}

li.open > a .nav-arrow {
  transform: rotate(90deg);
}

li.open > ul {
  display: block;
}

/* =============================================
   TABLES
============================================= */

.table-container {
  max-width: 700px;
  margin: 20px auto;
  font-family: Arial, sans-serif;
}

.custom-table {
  width: 100%;
  border-collapse: collapse;
}

.custom-table thead th {
  text-align: left;
  font-weight: bold;
  padding: 12px;
  border-bottom: 2px solid #ccc;
  background-color: #ffffff;
}

.custom-table tbody td {
  padding: 12px;
}

.custom-table tbody tr:nth-child(odd) {
  background-color: #f2f2f2;
}

.custom-table tbody tr:nth-child(even) {
  background-color: #ffffff;
}

/* =============================================
   MODAL
============================================= */

.modal-dialog {
  display: flex;
  align-items: center;
  min-height: 100vh;
}

.modal-content {
  border-radius: 12px;
}

.modal-body {
  max-height: 60vh;
  overflow-y: auto;
  padding: 20px;
}

.modal-lg {
  max-width: 1000px;
}

/* =============================================
   RESPONSIVE
============================================= */

@media (max-width: 991px) {
  .product-middle {
    padding-left: 15px;
  }
}

@media (max-width: 767px) {
  .ptb-wrapper {
    flex-direction: column;
  }
  .ptb-preview,
  .ptb-fields {
    width: 100%;
  }
  .custom-product-3col .row {
    flex-direction: column;
  }
  .product-left,
  .product-middle,
  .product-right {
    width: 100% !important;
    max-width: 100%;
    flex: 0 0 100%;
    padding: 0 0 24px;
  }
  .product-middle {
    padding-left: 0;
  }
  .ptb-image-wrap {
    max-width: 360px;
  }
  .product-nav-wrap {
    max-width: 100%;
  }
  .product-nav-hamburger {
    display: block;
  }
  .product-nav-title {
    display: none;
  }
  .product-nav-container {
    display: none;
  }
  .product-nav-container.open {
    display: block;
  }
  .container {
    width: 100%;
  }
  .header {
    display: block;
  }
}

.woocommerce-cart table.cart img {
  width: 175px;
}
