/* =========================================================
   CITYMOTOR - SINGLE PRODUCT MASTER CSS
   Versión: V1 limpieza inicial
   Estado: CANDIDATO / NO aplicado automáticamente
   Origen: Custom CSS astra-child + ajustes actuales
   ========================================================= */


/* =========================================================
   00 - Botón principal de compra
   ========================================================= */

.single-product .single_add_to_cart_button {
  background: #ff6600 !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  padding: 0 28px !important;
  height: 46px !important;
  transition: background .3s ease, opacity .18s ease, filter .18s ease;
}

.single-product .single_add_to_cart_button:hover {
  background: #e25500 !important;
}


/* =========================================================
   01 - Tabla de financiación / pagos / precisión
   ========================================================= */

.single-product .summary .table_c1218_pw {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fafafa;
  margin: 20px 0;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}

.single-product .summary .table_c1218_pw th.title_header_table_c1218_pw {
  background: #111;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 8px;
  text-align: center;
}

.single-product .summary .table_c1218_pw td {
  padding: 10px 14px;
  font-size: 14px;
  border-bottom: 1px solid #eaeaea;
}

.single-product .summary .table_c1218_pw tr:last-child td {
  border-bottom: none;
}

.single-product .summary .table_c1218_pw .price_text_st_16 {
  font-size: 16px;
  font-weight: 700;
  color: #d60000;
}

.single-product .summary .table_c1218_pw .Previous_price_16 {
  color: #888;
  font-size: 13px;
  text-decoration: line-through;
  margin-left: 4px;
}


/* =========================================================
   02 - Botones de envío / calculadora
   ========================================================= */

.single-product a.button.shipping,
.single-product .shipping-calculator-button {
  background: #ff6600 !important;
  color: #fff !important;
  border-radius: 6px !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  transition: background .3s ease;
}

.single-product a.button.shipping:hover,
.single-product .shipping-calculator-button:hover {
  background: #e25500 !important;
}


/* =========================================================
   03 - Precio / precio tachado en ficha
   ========================================================= */

.single-product .summary p.price del,
.single-product .summary span.price del,
.single-product .woocommerce div.product p.price del,
.single-product .woocommerce div.product span.price del {
  display: none !important;
}


/* =========================================================
   04 - Galería desktop: miniaturas visibles + scroll horizontal
   ========================================================= */

@media (min-width: 768px) {
  .single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 540px !important;
    margin: 22px auto 0 !important;
    padding: 0 0 10px !important;
    list-style: none !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
    flex: 0 0 calc((100% - 28px) / 3) !important;
    max-width: calc((100% - 28px) / 3) !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start !important;
  }

  .single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img {
    width: 100% !important;
    height: 95px !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 10px !important;
    border: 1px solid #e5e5e5 !important;
    background: #fff !important;
    padding: 4px !important;
    opacity: .55 !important;
    cursor: pointer !important;
    transition: opacity .2s ease, border-color .2s ease;
  }

  .single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img.flex-active,
  .single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img:hover {
    opacity: 1 !important;
    border-color: #222 !important;
  }
}


/* =========================================================
   05 - Mobile: reserva de espacio / reducción CLS
   ========================================================= */

@media (max-width: 767px) {
  .single-product .woocommerce-product-gallery {
    min-height: 390px !important;
  }

  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery .flex-viewport {
    min-height: 360px !important;
  }

  .single-product .woocommerce-product-gallery__image {
    min-height: 360px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .single-product .woocommerce-product-gallery__image img {
    max-height: 360px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  .single-product form.variations_form table.variations {
    min-height: 90px !important;
  }

  .single-product .single_variation_wrap {
    min-height: 120px !important;
  }

  .single-product .citymotor-precision-table {
    min-height: 320px !important;
  }
}


/* =========================================================
   06 - Variaciones / talles
   Nota:
   - El estilo base de .cm-variation-picker vive en:
     /assets/css/citymotor-variation-picker.css
   - Acá solo quedan overrides visuales de ficha.
   ========================================================= */

.single-product .variations button,
.single-product .variations .button-variable-item,
.single-product .variations .variable-item,
.single-product .variations label,
.single-product .cm-variation-options button,
.single-product .cm-variation-options label,
.single-product .cm-variation-option {
  transition: all .18s ease;
}


/* Talle seleccionado */
.single-product .variations .selected,
.single-product .variations .active,
.single-product .variations .button-variable-item.selected,
.single-product .variations .variable-item.selected,
.single-product .variations input:checked + label,
.single-product .cm-variation-options .selected,
.single-product .cm-variation-options .active,
.single-product .cm-variation-options input:checked + label,
.single-product .cm-variation-option.selected,
.single-product .cm-variation-option.is-selected,
.single-product button[aria-pressed="true"],
.single-product button[aria-selected="true"] {
  background: #e50914 !important;
  color: #ffffff !important;
  border-color: #e50914 !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 14px rgba(229, 9, 20, .28) !important;
}

.single-product .variations .selected *,
.single-product .variations .active *,
.single-product .cm-variation-options .selected *,
.single-product .cm-variation-options .active *,
.single-product .cm-variation-option.selected *,
.single-product .cm-variation-option.is-selected * {
  color: #ffffff !important;
}


/* Ocultar talles sin stock / deshabilitados */
.single-product .variations .disabled,
.single-product .variations .disabled-option,
.single-product .variations .out-of-stock,
.single-product .variations .variable-item.disabled,
.single-product .variations .button-variable-item.disabled,
.single-product .variations [aria-disabled="true"],
.single-product .variations button:disabled,
.single-product .variations input:disabled + label,
.single-product .cm-variation-options .disabled,
.single-product .cm-variation-options .disabled-option,
.single-product .cm-variation-options .out-of-stock,
.single-product .cm-variation-options [aria-disabled="true"],
.single-product .cm-variation-options button:disabled,
.single-product .cm-variation-options input:disabled + label,
.single-product .cm-variation-option.is-disabled,
.single-product .cm-variation-option:disabled {
  display: none !important;
}


/* Link limpiar */
.single-product .reset_variations,
.single-product a.reset_variations {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #555 !important;
  text-transform: uppercase;
  letter-spacing: .3px;
  margin-top: 10px !important;
  display: inline-block !important;
  opacity: 1 !important;
}

.single-product .reset_variations:hover,
.single-product a.reset_variations:hover {
  color: #e50914 !important;
  text-decoration: underline !important;
}


/* =========================================================
   07 - Instagram / WebView: fallback visual mobile
   Nota:
   - La lógica real de variation_id queda en Code Snippets.
   - Snippet activo actual: ID 19 "Cm fix mobile instagram seleccion".
   ========================================================= */

@media (max-width: 767px) {
  .single-product form.variations_form select[name^="attribute_"] {
    min-height: 54px !important;
    border: 2px solid #e50914 !important;
    border-radius: 8px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222 !important;
    background-color: #fff !important;
  }

  .single-product form.variations_form select[name^="attribute_"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(229, 9, 20, .14) !important;
  }

  .single-product .single_add_to_cart_button.cm-waiting-variation,
  .single-product .single_add_to_cart_button.disabled,
  .single-product .single_add_to_cart_button:disabled {
    opacity: .45 !important;
    filter: grayscale(1) !important;
    cursor: not-allowed !important;
  }

  .single-product .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button:not(.cm-waiting-variation) {
    opacity: 1 !important;
    filter: none !important;
  }
}
