/* =========================
   WOOCOMMERCE - SINGLE PRODUCT (BASE)
   ========================= */

/* Contenedor principal */
.single-product div.product{
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 16px;
}

/* Grid: galería + resumen */
@media (min-width: 992px){
  .single-product div.product{
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 34px;
    align-items: start;
  }
  .single-product div.product .woocommerce-product-gallery{
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
  }
  .single-product div.product .summary{
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    /*position: sticky;*/
    /*top: 90px;*/ /* ajusta según tu header */
  }
}

/* -------------------------
   Galería
   ------------------------- */
.woocommerce-product-gallery{
  border-radius: 18px;
  overflow: hidden;
}
.woocommerce-product-gallery__wrapper img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
}

/* Thumbnails */
.woocommerce-product-gallery .flex-control-thumbs{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 12px !important;
}

.woocommerce-product-gallery .flex-control-thumbs li{
  width:100% !important;
}
@media (max-width: 600px){
  .woocommerce-product-gallery .flex-control-thumbs{
    grid-template-columns: repeat(4, 1fr);
  }
}
.woocommerce-product-gallery .flex-control-thumbs li img{
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  opacity: .8;
  transition: opacity .2s, transform .2s;
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover{
  opacity: 1;
  transform: translateY(-1px);
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active{
  opacity: 1;
  border-color: rgba(78,20,19,.55);
}

/* Quitar zoom si molesta */
.woocommerce-product-gallery .woocommerce-product-gallery__trigger{
  border-radius: 12px;
}

/* -------------------------
   Título / Precio / Meta
   ------------------------- */
.single-product .product_title{
  font-size: clamp(22px, 2.2vw, 32px);
  line-height: 1.15;
  margin-bottom: 10px;
  color: #000;
}

.single-product .summary .price{
  margin: 10px 0 14px;
  font-size: 22px;
  font-weight: 800;
  color: #4E1413;
}
.single-product .summary .price del{
  opacity: .55;
  font-weight: 600;
}
.single-product .summary .price ins{
  text-decoration: none;
}

/* SKU / categorías */
.single-product .product_meta{
  margin-top: 12px;
  font-size: 13px;
  opacity: .85;
}
.single-product .product_meta a{
  color: inherit;
  text-decoration: underline;
}

/* -------------------------
   Form: variaciones
   ------------------------- */
.single-product form.variations_form{
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: rgba(0,0,0,.02);
}
.single-product table.variations{
  margin-bottom: 10px;
}
.single-product table.variations td,
.single-product table.variations th{
  padding: 8px 0;
  background-color: transparent !important;
}
.single-product table.variations select{
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
}

/* Reset variaciones */
.single-product .reset_variations{
  display: inline-block;
  margin-top: 8px;
  font-size: 13px;
  opacity: .8;
}

/* -------------------------
   Cantidad + Botón
   ------------------------- */
.single-product .quantity{
  margin-right: 10px;
}
.single-product .quantity input.qty{
  width: 78px;
  padding: 10px 8px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
}

.single-product button.single_add_to_cart_button{
  
  border: 0;
  color: #fff;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 800;
  transition: transform .15s, opacity .15s;
}
.single-product button.single_add_to_cart_button:hover{
  background-color: #4E1413 !important;
  opacity: .92;
  transform: translateY(-1px);
}
.single-product button.single_add_to_cart_button:disabled{
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

/* Botón "comprar" si tienes alguno */
.single-product .buy-now-button,
.single-product .single_buy_now_button{
  margin-left: 10px;
  border-radius: 14px;
}

/* -------------------------
   Tabs / descripción
   ------------------------- */
.single-product .woocommerce-tabs{
  margin-top: 28px;
  grid-column: 1 / -1;
}
.single-product .woocommerce-tabs ul.tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 !important;
  margin: 0 0 14px !important;
  border: 0 !important;
  display: none;
}
.single-product .woocommerce-tabs ul.tabs::before{
	display:none !important;
}
.single-product .woocommerce-tabs ul.tabs li{
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li:not(:first-child){
  display:none;
}
.single-product .woocommerce-tabs ul.tabs li a{
  display: inline-block;
  padding: 10px 14px !important;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  border-color: rgba(78,20,19,.55);
  background: rgba(78,20,19,.06);
  color: #4E1413;
}
.single-product .woocommerce-tabs .panel{
  padding:16px !important;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
}

/* -------------------------
   Productos relacionados
   ------------------------- */
.single-product section.related{
  margin-top: 34px;
grid-column: 1 / -1;
}
.single-product section.related > h2{
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 14px;
}

/* -------------------------
   Mensajes / notices
   ------------------------- */
.woocommerce-notices-wrapper{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 16px;
}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info{
  border-radius: 14px;
}
