/* =========================================================
   HASLEY MEMORIES — Estilos WooCommerce
   Adapta las plantillas nativas de Woo a la marca.
   ========================================================= */

/* ---------- GRID DE TIENDA ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:22px;
  margin:0;
  padding:0;
  list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none;display:none;}
.woocommerce ul.products li.product{
  width:auto!important;
  margin:0!important;
  float:none!important;
  clear:none!important;
}
.woocommerce ul.products li.product:nth-child(4n+1) .hm-card{transform:rotate(-2.5deg);}
.woocommerce ul.products li.product:nth-child(4n+2) .hm-card{transform:rotate(2deg);}
.woocommerce ul.products li.product:nth-child(4n+3) .hm-card{transform:rotate(-1.5deg);}
.woocommerce ul.products li.product:nth-child(4n) .hm-card{transform:rotate(2.5deg);}
.woocommerce ul.products li.product:nth-child(n) .hm-card:hover{transform:rotate(0deg) translateY(-6px);}

/* Paginación */
.woocommerce nav.woocommerce-pagination ul{border:none;margin-top:30px;}
.woocommerce nav.woocommerce-pagination ul li{border:none;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  background:var(--hm-cream-2);border:1px solid var(--hm-line);border-radius:10px;
  color:var(--hm-gold-deep);padding:8px 14px;font-weight:600;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--hm-gold);color:#fff;border-color:var(--hm-gold);}

/* ---------- FICHA DE PRODUCTO ---------- */
.single-product div.product{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
  max-width:1120px;
  margin:0 auto;
}
@media (max-width:820px){
  .single-product div.product{grid-template-columns:1fr;}
}
.single-product .hm-page{max-width:1120px;}
.single-product div.product .woocommerce-product-gallery{margin:0!important;float:none!important;width:100%!important;}
.single-product div.product .woocommerce-product-gallery img{width:100%;}
.single-product div.product .woocommerce-product-gallery__image{border-radius:22px;overflow:hidden;background:#f2e7d3;}
.single-product div.product .woocommerce-product-gallery__wrapper .flex-viewport,
.single-product div.product .woocommerce-product-gallery__image img{border-radius:22px;box-shadow:0 24px 50px -26px rgba(120,86,30,.4);}
.single-product div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;}
.single-product div.product .flex-control-thumbs li{width:auto;margin:0;}
.single-product div.product .flex-control-thumbs img{border-radius:14px;opacity:.75;transition:opacity .2s;}
.single-product div.product .flex-control-thumbs img.flex-active,
.single-product div.product .flex-control-thumbs img:hover{opacity:1;}

.single-product div.product .product_title{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(30px,4.2vw,46px);margin:8px 0 12px;line-height:1.05;color:var(--hm-ink);
}
.single-product .woocommerce-product-details__short-description{
  font-size:15.5px;line-height:1.7;color:var(--hm-ink-2);margin:16px 0 22px;
}
.single-product div.product p.price,
.single-product div.product span.price{
  color:var(--hm-gold)!important;font-family:var(--font-display);font-size:32px;margin-bottom:6px;
}
.single-product div.product p.price del,
.single-product div.product span.price del{color:#b09a80;font-family:var(--font-body);font-size:18px;opacity:1;}
.single-product div.product p.price ins{text-decoration:none;}

/* estado stock */
.single-product .stock.in-stock{color:var(--hm-ok);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px;margin:6px 0;}
.single-product .stock.in-stock::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--hm-ok);}
.single-product .stock.out-of-stock{background:#f0ece5;color:#7a6f60;font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:999px;display:inline-flex;margin:6px 0;}

/* caja especificaciones */
.hm-specs{background:var(--hm-sand-2);border-radius:16px;padding:18px 20px;margin:6px 0 24px;}
.hm-specs__title{font-weight:600;font-size:13px;color:var(--hm-gold-deep);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;}
.hm-specs__list{display:flex;flex-direction:column;gap:9px;}
.hm-specs__item{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--hm-ink-2);}
.hm-specs__item svg{width:16px;height:16px;flex:0 0 auto;stroke:var(--hm-gold);stroke-width:2.2;fill:none;}

/* cantidad + add to cart */
.single-product form.cart{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:0 0 6px;}
.single-product form.cart .quantity{display:flex;align-items:center;border:1.5px solid rgba(183,130,45,.35);border-radius:999px;overflow:hidden;}
.single-product form.cart .quantity input.qty{
  width:52px;border:none;background:transparent;text-align:center;font-weight:600;font-size:15px;color:var(--hm-ink);padding:12px 4px;
}
.single-product form.cart button.single_add_to_cart_button{
  flex:1 1 200px;background:var(--hm-gold);color:#fffdf5;border:none;border-radius:999px;
  padding:15px 28px;font-size:15px;font-weight:600;cursor:pointer;
  box-shadow:0 12px 26px -10px rgba(183,130,45,.7);transition:transform .18s ease;
}
.single-product form.cart button.single_add_to_cart_button:hover{transform:translateY(-3px);background:var(--hm-gold);}

.hm-trust{display:flex;gap:20px;margin-top:22px;flex-wrap:wrap;font-size:12.5px;color:var(--hm-muted);}

/* botón volver a la tienda */
.single-product .hm-back{cursor:pointer;color:var(--hm-gold-deep);font-size:13.5px;font-weight:600;margin-bottom:18px;display:inline-block;}

/* tabs / relacionados */
.woocommerce-tabs{grid-column:1/-1;margin-top:20px;}
.woocommerce-tabs ul.tabs{padding:0;}
.woocommerce-tabs ul.tabs li{background:var(--hm-cream-2);border-color:var(--hm-line);border-radius:12px 12px 0 0;}
.woocommerce-tabs ul.tabs li.active{background:var(--hm-sand-2);}
.woocommerce div.product .woocommerce-tabs .panel{background:var(--hm-sand-2);border-radius:0 16px 16px 16px;padding:22px;}
.products.related,.products.upsells{grid-column:1/-1;margin-top:30px;}
.products.related > h2,.products.upsells > h2{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,3vw,34px);}

/* ---------- CARRITO ---------- */
.woocommerce-cart .hm-page h1,
.woocommerce-checkout .hm-page h1,
.woocommerce-account .hm-page h1{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,4vw,44px);margin:0 0 24px;}
.woocommerce table.shop_table{
  border:1px solid var(--hm-line);border-radius:16px;background:var(--hm-cream-2);
  border-collapse:separate;border-spacing:0;overflow:hidden;
}
.woocommerce table.shop_table th{color:var(--hm-ink);font-weight:600;}
.woocommerce table.shop_table td{border-top:1px solid var(--hm-line-soft);}
.woocommerce .cart_item img{border-radius:12px;}
.woocommerce a.remove{color:var(--hm-gold-deep)!important;border-radius:999px;}
.woocommerce a.remove:hover{background:var(--hm-gold);color:#fff!important;}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals{width:100%;}
.woocommerce .cart_totals{
  background:var(--hm-cream-2);border:1px solid var(--hm-line);border-radius:20px;padding:22px;
}
.woocommerce .cart_totals h2{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--hm-ink);}
.woocommerce-cart table.cart td.actions .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--hm-gold);color:#fffdf5;border-radius:999px;padding:13px 26px;font-weight:600;
  border:none;box-shadow:0 12px 26px -10px rgba(183,130,45,.7);transition:transform .18s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{transform:translateY(-3px);background:var(--hm-gold);color:#fffdf5;}
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  background:var(--hm-gold);font-size:15px;padding:15px;border-radius:999px;
}
.wc-empty-cart-message,
.cart-empty{
  font-family:var(--font-display);font-size:22px;color:var(--hm-gold-deep);text-align:center;
}
.woocommerce-cart .cart-empty.woocommerce-info{
  background:var(--hm-cream-2);border:1px solid var(--hm-line);border-radius:22px;padding:40px;border-top-color:var(--hm-gold);
}

/* ---------- CHECKOUT ---------- */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details{margin-bottom:20px;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select,
.select2-container .select2-selection{
  border:1.5px solid rgba(183,130,45,.3)!important;border-radius:12px!important;
  padding:13px 15px;font-size:14px;background:#fff;color:var(--hm-ink);min-height:48px;
}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{float:none;width:100%;}
#order_review,
#order_review_heading,
.woocommerce-checkout #payment{
  background:var(--hm-sand-2);border-radius:20px;
}
.woocommerce-checkout #payment{border-radius:0 0 20px 20px;}
#order_review_heading{padding:20px 22px 0;margin:0;font-family:var(--font-body);font-weight:600;}
#order_review{padding:0 22px 22px;}
.woocommerce-checkout #payment ul.payment_methods{border:none;padding:16px 22px;}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:12px;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff;}
.woocommerce-checkout #payment ul.payment_methods li{margin-bottom:8px;}
.woocommerce #payment #place_order,
.woocommerce-checkout #payment #place_order{
  width:100%;background:var(--hm-gold);font-size:15px;padding:15px;border-radius:999px;font-weight:700;
}
.woocommerce-info,.woocommerce-message{border-top-color:var(--hm-gold);}
.woocommerce-info::before,.woocommerce-message::before{color:var(--hm-gold);}

/* ---------- MI CUENTA ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;margin:0;padding:12px;background:var(--hm-cream-2);
  border:1px solid var(--hm-line);border-radius:16px;display:flex;flex-direction:column;gap:6px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:12px 14px;border-radius:11px;font-size:14px;font-weight:600;color:var(--hm-ink-2);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--hm-sand);color:var(--hm-gold-deep);}
.woocommerce-account .woocommerce-MyAccount-content{
  background:transparent;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order,
.woocommerce-account table.account-orders-table,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{
  background:var(--hm-cream-2);border:1px solid var(--hm-line);border-radius:16px;
}
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
  border:1px solid var(--hm-line);border-radius:16px;background:var(--hm-cream-2);padding:24px;
}
.woocommerce-MyAccount-downloads{list-style:none;padding:0;}

/* Aviso genérico WooCommerce */
.woocommerce-store-notice{background:var(--hm-ink);color:#f4e9d6;}

/* Badge oferta nativo por si aparece */
.woocommerce span.onsale{
  background:var(--hm-gold);color:#fff;border-radius:999px;font-weight:700;min-height:auto;min-width:auto;
  padding:5px 11px;font-size:11px;top:12px;left:12px;margin:0;line-height:1;
}

/* Responsivo */
@media (max-width:600px){
  .single-product form.cart{flex-direction:column;align-items:stretch;}
  .single-product form.cart button.single_add_to_cart_button{flex:1 1 auto;}
}
