/* ===== ROM UI fixes ===== */

.rom-summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#f7f8fa;
  margin: 12px 0 14px;
  position: relative;
}

.rom-summary-left{ display:flex; flex-direction:column; gap:6px; }
.rom-summary-line{ display:flex; gap:10px; align-items:baseline; position: relative; }
.rom-summary-label{ font-weight:700; font-size:14px; }
.rom-total-qty, .rom-total-cost{ font-size:16px; }

.rom-summary-hint{ font-size:12px; opacity:.75; }

/* Tier table under gallery */
.rom-tier-table-wrapper {
  margin: 20px 0;
  padding: 20px;
  background: linear-gradient(135deg, #f9f9f9 0%, #ffffff 100%);
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  width: 100%;
  clear: both;
}

.rom-tier-table-wrapper h3 {
  margin: 0 0 15px 0;
  font-size: 20px;
  font-weight: 700;
  color: #333;
}

.rom-tier-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}

.rom-tier-table thead tr {
  background: linear-gradient(135deg, #333 0%, #555 100%);
  color: #fff;
}

.rom-tier-table th {
  padding: 12px;
  text-align: left;
  border: 1px solid #ddd;
  font-weight: 700;
  font-size: 14px;
}

.rom-tier-table td {
  padding: 10px 12px;
  border: 1px solid #ddd;
  font-size: 14px;
}

.rom-tier-table tbody tr {
  transition: background-color 0.2s ease;
}

.rom-tier-table tbody tr:hover {
  background-color: #f0f8ff;
}

.rom-tier-table-wrapper p {
  margin: 10px 0 0 0;
  font-size: 13px;
  color: #666;
  line-height: 1.5;
}

/* Hide duplicate variation attributes in cart for ROM items */
.woocommerce-cart-form .cart_item dl.variation,
.woocommerce-checkout .cart_item dl.variation {
  display: none !important;
}

/* Hide duplicate meta in order review */
.woocommerce-checkout-review-order .cart_item dl.variation {
  display: none !important;
}

/* Hide variation attributes in checkout review order table */
.woocommerce-checkout-review-order-table .variation,
.woocommerce-checkout-review-order-table dl.variation,
.woocommerce-order-details .variation,
.woocommerce-order-details dl.variation {
  display: none !important;
}

/* Hide variation attributes in order received page */
.woocommerce-order-overview__item .variation,
.woocommerce-order-item-meta .variation,
.woocommerce-order-item-meta dl {
  display: none !important;
}

/* Hide variation meta in order items table */
.woocommerce-table--order-details .woocommerce-table__product-name .variation,
.woocommerce-table--order-details .product-name .variation,
.order_details .variation {
  display: none !important;
}

/* Admin order page - hide variation attributes */
.woocommerce-order-item-meta p,
.woocommerce-order-item-meta dl {
  display: none !important;
}

/* Show only our custom meta (those without variation class) */
.woocommerce-order-item-meta .rom-custom-meta {
  display: block !important;
}

/* Tier info icon */
.rom-tier-info {
  cursor: pointer;
  font-size: 16px;
  opacity: 0.6;
  margin-left: 5px;
  transition: opacity 0.2s;
  user-select: none;
}
.rom-tier-info:hover {
  opacity: 1;
}

/* Tooltip */
.rom-tiers-tooltip {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 10px;
  background: #fff;
  border: 2px solid #2271b1;
  border-radius: 8px;
  padding: 12px;
  min-width: 250px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 1000;
}

.rom-tiers-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: #2271b1;
}

.rom-tiers-title {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 8px;
  color: #2271b1;
}

.rom-tiers-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.rom-tier-row {
  display: grid;
  grid-template-columns: 60px 1fr 80px;
  gap: 8px;
  font-size: 12px;
  padding: 4px 0;
  align-items: center;
}

.rom-tier-row.active {
  background: #e7f3ff;
  padding: 4px 6px;
  border-radius: 4px;
  font-weight: 600;
}

.rom-tier-range {
  font-weight: 600;
  color: #555;
}

.rom-tier-discount {
  color: #2ea44f;
  font-size: 11px;
}

.rom-tier-price {
  text-align: right;
  font-weight: 600;
}

/* Hide native Woo qty+button (solo quando ROM attivo) */
.rom-hide-default-variations[data-rom-hide="1"] ~ form.cart .quantity,
.rom-hide-default-variations[data-rom-hide="1"] ~ form.cart button.single_add_to_cart_button,
.rom-hide-default-variations[data-rom-hide="1"] ~ form.cart button.alt.single_add_to_cart_button{
  display:none !important;
}

/* Hide variation dropdowns */
.rom-hide-default-variations[data-rom-hide="1"] ~ form.variations_form .variations,
.rom-hide-default-variations[data-rom-hide="1"] ~ .variations_form .variations,
.rom-hide-default-variations[data-rom-hide="1"] ~ form.cart .variations{
  display:none !important;
}

/* If theme wraps form differently */
form.cart .rom-hide-default-variations[data-rom-hide="1"] ~ .variations,
form.cart .rom-hide-default-variations[data-rom-hide="1"] ~ .single_add_to_cart_button{
  display:none !important;
}

/* Keep existing styles if present; small safety defaults */
.rom-options{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
@media (max-width:768px){ 
  .rom-options{ grid-template-columns:1fr; } 
  .rom-summary{ flex-direction:column; } 
  .rom-add-to-cart{ width:100%; }
  .rom-tiers-tooltip { left: 10px; right: 10px; transform: none; }
  .rom-tier-table-wrapper { padding: 15px; }
  .rom-tier-table th, .rom-tier-table td { padding: 8px; font-size: 13px; }
}

.rom-block{ border:1px solid rgba(0,0,0,.08); border-radius:12px; padding:12px; background:#fafafa; }
.rom-title{ font-weight:700; margin-bottom:8px; font-size:14px; }
.rom-radio-row{ display:flex; flex-wrap:wrap; gap:10px 14px; }
.rom-radio{ display:flex; align-items:center; gap:8px; margin:0; font-size:14px; line-height:1.2; }
.rom-radio input{ margin:0; }

.rom-grid-wrap{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.rom-grid{ display:flex; flex-direction:column; gap:6px; min-width:720px; }
.rom-grid-row{ --rom-cols:6; display:grid; grid-template-columns:170px repeat(var(--rom-cols),54px) 62px; align-items:center; gap:6px; padding:8px 10px; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:#fff; }
.rom-grid-head{ background:#f0f2f5; font-weight:800; position:sticky; top:0; z-index:2; }
.rom-cell{ text-align:center; font-size:13px; line-height:1; }
.rom-cell-color{ display:flex; align-items:center; gap:10px; text-align:left; justify-content:flex-start; font-weight:700; white-space:nowrap; }
.rom-color-dot{ width:14px; height:14px; border-radius:6px; background:#cfcfcf; border:1px solid rgba(0,0,0,.12); flex:0 0 auto; }
.rom-qty{ width:54px; height:34px; border-radius:8px; border:1px solid rgba(0,0,0,.18); text-align:center; font-size:13px; padding:0 6px; background:#fff; }
.rom-qty:disabled{ opacity:.28; cursor:not-allowed; }
.rom-row-total{ font-weight:900; }

.rom-add-to-cart{ padding:12px 16px !important; border-radius:12px !important; font-weight:800 !important; }
.rom-errors{ margin-top:8px; padding:10px 12px; border-radius:10px; background:#fff2f2; border:1px solid rgba(200,0,0,.2); color:#a10000; font-size:14px; }
