/* =========================================================
   AJUSTES WOOCOMMERCE / LAYOUT — Arqe
   ========================================================= */

/* -------- 1. Márgenes: contenedor centrado -------- */
.woocommerce .site-content,
.woocommerce-page .site-content{
  max-width:var(--maxw); margin-left:auto; margin-right:auto;
  padding-left:1.25rem; padding-right:1.25rem; padding-bottom:4rem;
}
@media(min-width:640px){
  .woocommerce .site-content, .woocommerce-page .site-content{ padding-left:2rem; padding-right:2rem; }
}

/* -------- 2. Fuentes consistentes -------- */
body.arqe,
body.arqe input, body.arqe select, body.arqe textarea, body.arqe button,
.woocommerce, .woocommerce-page,
.woocommerce p, .woocommerce li, .woocommerce td, .woocommerce label, .woocommerce input{
  font-family:"DM Sans", system-ui, sans-serif;
}
body.arqe h1, body.arqe h2, body.arqe h3, body.arqe h4, body.arqe h5, body.arqe h6,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-column__title,
.arqe-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit{
  font-family:"Archivo", system-ui, sans-serif;
}

/* -------- 3 + 4. Avisos -------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error{ border-radius:var(--radius); margin-top:1.5rem; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button{
  background:transparent !important; border:1px solid rgba(255,255,255,.75) !important; color:#fff !important;
  box-shadow:none !important; border-radius:999px; transition:background .2s, color .2s;
}
.woocommerce-message .button:hover, .woocommerce-info .button:hover, .woocommerce-error .button:hover{ background:#fff !important; color:var(--c-navy) !important; }

/* -------- 5. Precios (detalle) -------- */
.woocommerce div.product p.price:has(ins){ display:flex; align-items:baseline; gap:.55rem; flex-wrap:wrap; }
.woocommerce div.product p.price ins{ order:0; text-decoration:none; color:var(--c-orange); font-weight:700; background:transparent; }
.woocommerce div.product p.price del{ order:1; color:var(--c-mutedfg); opacity:.65; font-size:.8em; font-weight:500; }

/* -------- 6. Contador + botón añadir al carrito (detalle) -------- */
.woocommerce div.product form.cart{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }
.woocommerce .quantity.arqe-qty-ready{ display:inline-flex; align-items:center; gap:.15rem; border:1px solid var(--c-border); border-radius:999px; background:var(--c-card); padding:.3rem; }
.arqe-qty-btn{ display:flex; align-items:center; justify-content:center; border:0; cursor:pointer; line-height:1; transition:color .15s; padding:0; width:2.1rem; height:2.1rem; border-radius:999px; background:transparent; color:var(--c-fg); font-size:1.25rem; }
.arqe-qty-btn:hover{ background:transparent; color:var(--c-orange); }
.woocommerce .quantity.arqe-qty-ready input.qty{ width:2.6rem; text-align:center; border:0 !important; background:transparent !important; box-shadow:none !important; font-family:"Archivo",sans-serif; font-weight:700; font-size:1rem; color:var(--c-fg); -moz-appearance:textfield; }
.woocommerce .quantity.arqe-qty-ready input.qty::-webkit-outer-spin-button,
.woocommerce .quantity.arqe-qty-ready input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.woocommerce div.product form.cart .button.single_add_to_cart_button{ display:inline-flex; align-items:center; justify-content:center; gap:.6rem; padding:1rem 2.5rem; font-size:.78rem; letter-spacing:.14em; border-radius:999px; }
.woocommerce div.product form.cart .button.single_add_to_cart_button::before{
  content:""; width:18px; height:18px; flex:none; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* -------- Categorías y etiquetas -------- */
.woocommerce div.product .product_meta a{ text-decoration:underline; text-underline-offset:2px; color:var(--c-mutedfg); transition:color .2s; }
.woocommerce div.product .product_meta a:hover{ text-decoration:underline; color:var(--c-navy); }

/* -------- Breadcrumb -------- */
.arqe-breadcrumb{ padding-top:1.5rem; margin-bottom:.5rem; font-family:"Archivo",sans-serif; font-size:.78rem; letter-spacing:.04em; color:var(--c-mutedfg); }
.arqe-breadcrumb a{ color:var(--c-mutedfg); transition:color .2s; }
.arqe-breadcrumb a:hover{ color:var(--c-orange); }
.arqe-breadcrumb .separator{ margin:0 .45rem; color:var(--c-border); }
.arqe-breadcrumb p, .arqe-breadcrumb nav{ margin:0; }

/* =========================================================
   PÁGINA DE PRODUCTO (detalle)
   ========================================================= */
@media(min-width:768px){
  .woocommerce div.product{ display:flex; flex-wrap:wrap; align-items:flex-start; column-gap:3rem; }
  .woocommerce div.product .arqe-gallery{ flex:0 0 48%; max-width:48%; min-width:0; margin:0 0 2rem; }
  .woocommerce div.product .summary.entry-summary{ flex:1 1 0; min-width:0; margin:0; }
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related,
  .woocommerce div.product .upsells{ flex:1 1 100%; width:100%; }
}
.woocommerce div.product > .onsale{ display:none !important; }
.arqe-gallery{ display:flex; align-items:flex-start; gap:1rem; margin-bottom:2rem; }
.arqe-gallery__thumbs{ display:flex; flex-direction:column; gap:.6rem; width:4.75rem; flex:none; }
.arqe-gallery__thumb{ padding:0; border:1.5px solid transparent; border-radius:.45rem; background:transparent; cursor:pointer; overflow:hidden; line-height:0; opacity:.55; transition:opacity .2s, border-color .2s; }
.arqe-gallery__thumb img{ width:100%; height:auto; display:block; aspect-ratio:1/1; object-fit:cover; }
.arqe-gallery__thumb:hover{ opacity:1; }
.arqe-gallery__thumb.is-active{ opacity:1; border-color:var(--c-navy); }
.arqe-gallery__main{ position:relative; flex:1 1 auto; min-width:0; }
.arqe-gallery__main img{ width:100%; height:auto; display:block; border-radius:var(--radius); background:var(--c-secondary); }
@media(max-width:639px){
  .arqe-gallery{ flex-direction:column-reverse; }
  .arqe-gallery__thumbs{ flex-direction:row; flex-wrap:wrap; width:auto; }
  .arqe-gallery__thumb{ width:4rem; }
}

/* -------- Productos relacionados: 4 columnas -------- */
.woocommerce .related.products,
.woocommerce .up-sells.products{ clear:both; margin-top:4rem; padding-top:2rem; border-top:1px solid var(--c-border); }
.woocommerce .related.products > h2,
.woocommerce .up-sells.products > h2{ font-family:"Archivo",sans-serif; font-weight:800; letter-spacing:-.02em; font-size:clamp(1.5rem,3vw,2rem); margin:0 0 2rem; }
.woocommerce .related.products ul.products,
.woocommerce .up-sells ul.products{ display:grid; grid-template-columns:repeat(2,1fr); gap:2.25rem 1.5rem; margin:0; padding:0; }
@media(min-width:768px){
  .woocommerce .related.products ul.products,
  .woocommerce .up-sells ul.products{ grid-template-columns:repeat(4,1fr); }
}
.woocommerce .related.products ul.products::before, .woocommerce .related.products ul.products::after,
.woocommerce .up-sells ul.products::before, .woocommerce .up-sells ul.products::after{ display:none; content:none; }
.woocommerce .related.products ul.products li.product,
.woocommerce .up-sells ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; }

/* -------- 7. Ocultar pestañas -------- */
.woocommerce div.product .woocommerce-tabs{ display:none !important; }

/* =========================================================
   CARRITO
   ========================================================= */
@media(min-width:900px){
  .woocommerce-cart .woocommerce-cart-form{ float:left; width:62%; margin:0; }
  .woocommerce-cart .cart-collaterals{ float:right; width:34%; }
  .woocommerce-cart .cart-collaterals .cart_totals{ float:none; width:100%; }
}
.woocommerce-cart table.cart{ border:0; margin-bottom:2rem; }
.woocommerce-cart table.cart thead th{
  border:0; border-bottom:1px solid var(--c-border); background:transparent;
  font-family:"Archivo",sans-serif; font-weight:700; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--c-mutedfg); padding:0 .75rem 1rem;
}
.woocommerce-cart table.cart tbody td{ border:0; border-bottom:1px solid hsl(var(--border)/.6); padding:1.25rem .75rem; vertical-align:middle; }
.woocommerce-cart table.cart td.product-thumbnail{ padding-left:0; width:6rem; }
.woocommerce-cart table.cart td.product-thumbnail img{ width:4.5rem; height:4.5rem; object-fit:cover; border-radius:var(--radius); }
.woocommerce-cart table.cart td.product-name a{ font-family:"Archivo",sans-serif; font-weight:700; color:var(--c-fg); }
.woocommerce-cart table.cart td.product-name a:hover{ color:var(--c-orange); }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal{ font-family:"Archivo",sans-serif; font-weight:700; color:var(--c-fg); }
.woocommerce-cart table.cart a.remove{ color:var(--c-mutedfg) !important; font-weight:400; border:1px solid var(--c-border); }
.woocommerce-cart table.cart a.remove:hover{ background:transparent !important; color:var(--c-orange) !important; border-color:var(--c-orange); }
.woocommerce-cart table.cart .actions{ padding-top:1.5rem; }
.woocommerce-cart table.cart .actions .coupon{ display:flex; gap:.5rem; align-items:stretch; }
.woocommerce-cart table.cart .actions .coupon .input-text{ width:auto; min-width:10rem; border:1px solid var(--c-border); border-radius:999px; padding:.6rem 1.1rem; }
.woocommerce-cart table.cart .actions .button{ border-radius:999px; }
.woocommerce-cart .cart-collaterals .cross-sells{ clear:both; padding-top:2rem; }
.woocommerce-cart .cart_totals{ background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.75rem; }
.woocommerce-cart .cart_totals h2{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1.25rem; margin:0 0 1.25rem; }
.woocommerce-cart .cart_totals table.shop_table{ border:0; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td{ border:0; border-top:1px solid hsl(var(--border)/.6); padding:.85rem 0; }
.woocommerce-cart .cart_totals .order-total .amount{ color:var(--c-orange); font-family:"Archivo",sans-serif; }
.woocommerce .wc-proceed-to-checkout{ padding-top:1.25rem; }
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  display:flex; align-items:center; justify-content:center; width:100%; background:var(--c-navy); color:#fff;
  border-radius:999px; padding:1.05rem; font-family:"Archivo",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{ background:var(--c-orange); }

/* =========================================================
   CHECKOUT
   ========================================================= */
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1.25rem; margin-bottom:1.25rem; }
.woocommerce form .form-row label{ font-family:"Archivo",sans-serif; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--c-mutedfg); }
.woocommerce form .form-row{ margin-bottom:1rem; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection{
  border:1px solid var(--c-border) !important; background:var(--c-card); border-radius:var(--radius) !important;
  padding:.75rem 1rem; font-size:.95rem; min-height:2.9rem; box-shadow:none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{ border-color:var(--c-orange) !important; outline:0; }
.woocommerce-checkout .select2-container--default .select2-selection--single{ height:2.9rem; border:1px solid var(--c-border); border-radius:var(--radius); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:2.9rem; padding-left:1rem; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:2.9rem; }
@media(min-width:900px){
  .woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading{ position:sticky; top:5rem; }
}
.woocommerce-checkout #order_review{ background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.75rem; }
.woocommerce-checkout #order_review .shop_table{ border:0; }
.woocommerce-checkout #order_review .shop_table th, .woocommerce-checkout #order_review .shop_table td{ border:0; border-top:1px solid hsl(var(--border)/.6); padding:.75rem 0; }
.woocommerce-checkout #order_review .order-total .amount{ color:var(--c-orange); font-family:"Archivo",sans-serif; }
.woocommerce-checkout #payment{ background:transparent !important; border-radius:var(--radius); }
.woocommerce-checkout #payment ul.payment_methods{ border:0; padding:0 0 1rem; }
.woocommerce-checkout #payment div.payment_box{ background:var(--c-secondary); border-radius:var(--radius); font-size:.85rem; }
.woocommerce-checkout #payment div.payment_box::before{ border-bottom-color:var(--c-secondary) !important; }
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #place_order{
  display:block; width:100%; background:var(--c-navy); color:#fff; border-radius:999px; padding:1.1rem;
  font-family:"Archivo",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.82rem;
}
.woocommerce-checkout #payment #place_order:hover, .woocommerce-checkout #place_order:hover{ background:var(--c-orange); }
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-coupon{ border:1px solid var(--c-border); border-radius:var(--radius); }
