/**
 * WooCommerce — skin premium de Joyería Grijalva.
 * Reutiliza los tokens de main.css (:root) y clona el look del catálogo
 * (catalogo.css). Se encola solo en páginas WooCommerce (ver functions.php).
 * Estructura de selectores contra el DOM real de WooCommerce.
 */

:root{
  --tinta:#4a352b;         /* neutro cálido para texto de cuerpo */
  --tinta-soft:#8a7566;    /* neutro secundario */
  --linea:rgba(137,22,24,.10);
}

/* ── Wrapper: respiro + espacio para el nav fijo ─────────────────────── */
.wc-page{
  padding-top:clamp(120px,15vw,150px);
  padding-bottom:clamp(56px,8vw,96px);
  color:var(--tinta);
}
.wc-page a{color:var(--vino);}

/* Título de página genérica (Carrito, Finalizar compra, etc.) */
.gj-page-head{text-align:center; margin:0 auto clamp(22px,4vw,42px);}
.gj-page-title{
  font-family:var(--font-serif); font-weight:500; color:var(--vino);
  font-size:clamp(2.2rem,4.5vw,3.2rem); line-height:1.06; margin:0; text-wrap:balance;
}

/* WooCommerce a veces envuelve en .woocommerce dentro de .wc-page */
.wc-page .woocommerce{margin:0;}

/* ════════════════════════════════════════════════════════════════════
   1. TIENDA (archivo de productos)
   ════════════════════════════════════════════════════════════════════ */

/* Encabezado de la tienda */
.woocommerce-products-header{
  text-align:center; max-width:640px; margin:0 auto clamp(26px,4vw,46px);
}
.woocommerce-products-header::before{
  content:"Colección"; display:block;
  font-size:.7rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase;
  color:var(--dorado-dark); margin-bottom:14px;
}
.woocommerce-products-header__title,
.woocommerce-products-header .page-title{
  font-family:var(--font-serif) !important; font-weight:500; color:var(--vino);
  font-size:clamp(2.4rem,5vw,3.4rem); line-height:1.05; margin:0; text-wrap:balance;
}
.woocommerce-products-header .term-description,
.wc-page .woocommerce-archive-description{
  color:var(--tinta-soft); font-size:1.02rem; margin:12px 0 0;
}

/* Barra: contador + orden */
.woocommerce .woocommerce-result-count{
  float:none; margin:0; color:var(--tinta-soft); font-size:.86rem; letter-spacing:.02em;
}
.woocommerce .woocommerce-ordering{float:none; margin:0;}
.woocommerce-result-count + .woocommerce-ordering{margin-left:auto;}
.woocommerce .woocommerce-notices-wrapper:empty{display:none;}
.wc-page form.woocommerce-ordering{display:inline-block;}
.woocommerce .woocommerce-ordering select{
  font-family:var(--font-sans); font-size:.82rem; color:var(--vino);
  background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r);
  padding:9px 36px 9px 14px; letter-spacing:.03em; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23c9a83e' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center;
}
/* fila superior (contador/orden) alineada */
.woocommerce-products-header + .woocommerce-result-count,
.wc-page .woocommerce > .woocommerce-result-count{
  display:flex; align-items:center; padding-bottom:16px; margin-bottom:24px;
  border-bottom:1px solid var(--linea);
}

/* ── Grid de productos ── */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(258px,1fr));
  gap:clamp(16px,2.4vw,30px);
  margin:0 !important; padding:0 !important; list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none !important;}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto !important; float:none !important; margin:0 !important; padding:0 !important;
  display:flex; flex-direction:column; text-align:left;
  background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r);
  overflow:hidden; position:relative;
  transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-5px); box-shadow:0 16px 40px rgba(42,6,8,.14);
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display:flex; flex-direction:column; color:inherit; text-decoration:none;
}
.woocommerce ul.products li.product img{
  width:100%; height:auto; aspect-ratio:1/1; object-fit:contain;
  background:var(--crema); padding:16px; margin:0;
  transition:transform .6s var(--ease-out);
}
.woocommerce ul.products li.product:hover img{transform:scale(1.05);}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-serif); font-weight:500; font-size:1.28rem; line-height:1.24;
  color:var(--vino); padding:16px 20px 0; margin:0 0 10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.48em;
}
.woocommerce ul.products li.product .price{
  color:var(--dorado-dark) !important; font-family:var(--font-sans); font-weight:500;
  font-size:1.06rem; padding:0 20px; margin:0 0 16px; display:block;
}
.woocommerce ul.products li.product .price del{color:var(--tinta-soft); opacity:.7; font-weight:400; margin-right:6px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .star-rating{display:none;}

/* Badge de oferta */
.woocommerce span.onsale{
  background:var(--vino); color:var(--blanco); border-radius:var(--r);
  font-size:.64rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  min-height:auto; min-width:auto; line-height:1; padding:6px 11px; margin:0;
  top:12px; right:12px; left:auto;
}

/* Botón añadir al carrito (grid) — outline dorado */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart{
  margin:auto 20px 20px !important; display:flex; align-items:center; justify-content:center;
  gap:8px; padding:12px 16px; background:transparent; color:var(--vino);
  font-family:var(--font-sans); font-size:.74rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; text-decoration:none; border:1.5px solid var(--dorado);
  border-radius:var(--r); cursor:pointer; float:none; width:auto;
  transition:background .25s var(--ease-out), color .25s var(--ease-out);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.added_to_cart:hover{
  background:var(--dorado); color:var(--vino);
}
.woocommerce ul.products li.product .added_to_cart{margin-top:0 !important;}
.woocommerce ul.products li.product .button.loading::after{color:var(--vino);}

/* ════════════════════════════════════════════════════════════════════
   2. FICHA DE PRODUCTO (single)
   ════════════════════════════════════════════════════════════════════ */

/* Breadcrumb (emitido por el wrapper woocommerce.php en is_product) */
.single-product .gj-breadcrumb{
  margin:0 0 clamp(20px,3vw,34px); font-family:var(--font-sans); font-size:.86rem;
  color:var(--tinta-soft);
}
.single-product .gj-breadcrumb a{color:var(--vino); text-decoration:none; opacity:.8; transition:opacity .2s var(--ease-out);}
.single-product .gj-breadcrumb a:hover{opacity:1; text-decoration:underline;}
.single-product .gj-crumb-sep{color:var(--vino); opacity:.4; margin:0 9px;}

.single-product div.product{
  display:grid; grid-template-columns:minmax(0,clamp(340px,40vw,500px)) minmax(0,1fr);
  gap:clamp(32px,4.5vw,72px); align-items:start;
}

.single-product div.product::before,
.single-product div.product::after{content:none !important;}
/* Pestañas, upsells y relacionados: ancho completo debajo (no en la col derecha) */
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .upsells,
.single-product div.product > .related{grid-column:1 / -1;}

/* Galería — alineada al tope de la fila (align-items:start del grid). Sin
   position:sticky: cuando su posición natural quedaba por encima del offset
   `top`, sticky la empujaba hacia abajo al cargar (imagen "muy abajo"). */
.single-product .woocommerce-product-gallery{
  float:none !important; width:auto !important; margin:0 !important; align-self:start;
}
.single-product .woocommerce-product-gallery__wrapper{margin:0;}
.single-product .woocommerce-product-gallery__image{
  border:1px solid var(--linea); border-radius:var(--r); overflow:hidden;
  box-shadow:var(--shadow-product); padding:clamp(12px,3vw,30px);
  /* viñeta radial cálida: da profundidad a la pieza en vez del crema plano */
  background:radial-gradient(circle at 50% 42%, #fffaf2 0%, var(--crema) 62%, #eae1cd 100%);
}
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img{display:block; width:100%;}
.single-product .flex-control-thumbs{
  display:flex; gap:12px; margin:12px 0 0; padding:0; list-style:none;
}
.single-product .flex-control-thumbs li{width:74px !important; margin:0;}
.single-product .flex-control-thumbs img{
  background:var(--crema); border:1px solid var(--linea); border-radius:var(--r); padding:6px; opacity:.7;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover{opacity:1; border-color:var(--dorado);}
.single-product .woocommerce-product-gallery__trigger{background:var(--blanco); border:1px solid var(--linea);}

/* Resumen */
.single-product .summary.entry-summary{
  float:none !important; width:auto !important; margin:0 !important;
}
.single-product .product_title{
  font-family:var(--font-serif); font-weight:500; color:var(--vino);
  font-size:clamp(2rem,3.6vw,2.7rem); line-height:1.08; margin:0 0 4px; text-wrap:balance;
}
/* Filete ornamental dorado (espeja .producto__flourish del catálogo custom) */
.single-product .product_title::after{
  content:""; display:block; width:64px; height:2px; margin:18px 0 20px;
  background:linear-gradient(90deg, var(--dorado) 0%, var(--dorado-dark) 100%);
}
.single-product .summary .price{
  color:var(--dorado-dark) !important; font-family:var(--font-sans); font-weight:500;
  font-size:clamp(1.7rem,2.6vw,2rem); letter-spacing:.01em; margin:0 0 6px;
}
.single-product .summary .price del{color:var(--tinta-soft); font-size:1.2rem; margin-right:8px;}
/* Stock — se muestra como sello de exclusividad ("Pieza única", texto vía filtro PHP) */
.single-product .summary .stock.in-stock{
  display:inline-flex; align-items:center; gap:7px;
  color:var(--dorado-dark); font-family:var(--font-sans); font-size:.82rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; margin:2px 0 22px;
}
.single-product .summary .stock.in-stock::before{content:"\2726"; font-size:.9em; color:var(--dorado);}
.single-product .summary .stock.out-of-stock{color:var(--tinta-soft); font-size:.85rem; margin:2px 0 22px;}
.single-product .woocommerce-product-details__short-description{
  color:var(--tinta); font-size:1rem; line-height:1.7; margin:0 0 24px; padding-bottom:24px;
  border-bottom:1px solid var(--linea); max-width:46ch;
}
.single-product .star-rating,
.single-product .woocommerce-product-rating{display:none;}

/* Form de compra */
.single-product form.cart{display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; margin:0 0 22px;}
.single-product .quantity{
  display:inline-flex; align-items:center; border:1px solid var(--linea); border-radius:var(--r);
  background:var(--blanco); overflow:hidden;
}
.single-product .quantity input.qty{
  width:56px; height:54px; border:0; text-align:center; background:transparent;
  font-family:var(--font-sans); font-size:1rem; color:var(--vino); -moz-appearance:textfield;
}
.single-product .single_add_to_cart_button{
  flex:1; min-width:210px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 28px; height:54px; border:0; cursor:pointer; background:var(--vino) !important;
  color:var(--blanco) !important; border-radius:var(--r) !important;
  font-family:var(--font-sans); font-size:.82rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; transition:background .25s var(--ease-out), color .25s var(--ease-out);
}
.single-product .single_add_to_cart_button:hover{background:var(--dorado) !important; color:var(--vino) !important;}

/* Botón secundario "Consultar por WhatsApp" (inyectado por inc/woocommerce.php,
   prioridad 35). Ghost/outline para no competir con el CTA principal. */
.single-product .gj-wa-secondary{
  display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%;
  padding:14px 20px; margin:0 0 22px; box-sizing:border-box;
  background:transparent; color:var(--vino); text-decoration:none;
  border:1.5px solid var(--dorado); border-radius:var(--r);
  font-family:var(--font-sans); font-size:.76rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; cursor:pointer;
  transition:background .25s var(--ease-out), color .25s var(--ease-out);
}
.single-product .gj-wa-secondary:hover{background:var(--dorado); color:var(--vino);}
.single-product .gj-wa-secondary svg{width:18px; height:18px; flex:0 0 auto; color:var(--dorado-dark);}
.single-product .gj-wa-secondary:hover svg{color:var(--vino);}

.single-product .product_meta{
  font-size:.78rem; color:var(--tinta-soft); letter-spacing:.03em; margin:0 0 22px;
  padding-top:4px;
}
.single-product .product_meta a{color:var(--dorado-dark);}
.single-product .product_meta .sku_wrapper{display:block; margin-bottom:4px;}
/* La categoría ya se comunica en las tarjetas; no se repite en la ficha. */
.single-product .product_meta .posted_in{display:none;}

/* Bloque de confianza (inyectado por inc/woocommerce.php) — versión ligera,
   sin caja: filas aireadas con separadores sutiles. */
.gj-trust{
  display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none;
  border-top:1px solid var(--linea);
}
.gj-trust li{
  display:flex; align-items:center; gap:14px; padding:15px 2px; margin:0;
  border-bottom:1px solid var(--linea);
}
.gj-trust svg{width:22px; height:22px; flex:0 0 auto; color:var(--dorado-dark);}
.gj-trust b{display:block; color:var(--vino); font-size:.9rem; font-weight:600; line-height:1.25;}
.gj-trust span{color:var(--tinta-soft); font-size:.8rem;}

/* Pestañas */
.woocommerce-tabs{margin-top:clamp(44px,5vw,72px);}
.woocommerce-tabs ul.wc-tabs{
  display:flex; gap:30px; margin:0; padding:0; border-bottom:1px solid var(--linea);
}
.woocommerce-tabs ul.wc-tabs::before{border:0;}
.woocommerce-tabs ul.wc-tabs li{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  margin:0; padding:0 0 14px;
}
.woocommerce-tabs ul.wc-tabs li::before,
.woocommerce-tabs ul.wc-tabs li::after{display:none !important;}
.woocommerce-tabs ul.wc-tabs li a{
  padding:0; font-family:var(--font-sans); font-size:.74rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--tinta-soft);
}
.woocommerce-tabs ul.wc-tabs li.active{box-shadow:inset 0 -2px 0 var(--dorado);}
.woocommerce-tabs ul.wc-tabs li.active a{color:var(--vino);}
.woocommerce-tabs .panel{padding-top:24px; max-width:70ch; color:var(--tinta); line-height:1.75;}
.woocommerce-tabs .panel h2{font-family:var(--font-serif); font-weight:500; color:var(--vino); font-size:1.5rem; margin:0 0 12px;}

/* Relacionados / upsells: heredan el estilo del grid */
.single-product .related > h2,
.single-product .upsells > h2{
  font-family:var(--font-serif); font-weight:500; color:var(--vino);
  font-size:clamp(1.7rem,3vw,2.2rem); text-align:center; margin:0 0 clamp(24px,4vw,40px);
}
.single-product .related, .single-product .upsells{margin-top:clamp(50px,7vw,90px);}

/* Relacionados / upsells como carrusel horizontal (scroll-snap, sin librerías) */
.single-product .related.products ul.products,
.single-product .upsells.products ul.products{
  display:flex !important; grid-template-columns:none !important;
  overflow-x:auto; overflow-y:hidden; gap:clamp(14px,2vw,24px);
  margin:0 !important; padding:10px 2px 16px;
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; scrollbar-color:var(--dorado-dark) var(--arena);
}
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product{
  flex:0 0 clamp(220px,42vw,258px); scroll-snap-align:start;
}
.single-product .related.products ul.products::-webkit-scrollbar,
.single-product .upsells.products ul.products::-webkit-scrollbar{height:6px;}
.single-product .related.products ul.products::-webkit-scrollbar-thumb,
.single-product .upsells.products ul.products::-webkit-scrollbar-thumb{background:var(--dorado-dark); border-radius:10px;}
.single-product .related.products ul.products::-webkit-scrollbar-track,
.single-product .upsells.products ul.products::-webkit-scrollbar-track{background:var(--arena); border-radius:10px;}

/* ════════════════════════════════════════════════════════════════════
   3. CARRITO
   ════════════════════════════════════════════════════════════════════ */
.woocommerce-cart .wc-page,.woocommerce-checkout .wc-page{max-width:1200px;}
/* Los controles flotantes globales cubren campos y opciones de envío en el
   flujo transaccional. En Woo ya existen CTAs contextuales de WhatsApp. */
.woocommerce-page .wa-float,
.woocommerce-page .nav-arrows{display:none !important;}
.woocommerce table.shop_table{
  border:1px solid var(--linea); border-radius:var(--r); border-collapse:separate;
  background:var(--blanco);
}
.woocommerce table.shop_table th{
  font-family:var(--font-sans); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--vino); border-bottom:1px solid var(--linea);
}
.woocommerce table.shop_table td{border-top:1px solid var(--linea); color:var(--tinta);}
.woocommerce-cart table.cart img{width:72px; border-radius:var(--r); background:var(--crema);}
.woocommerce a.remove{color:var(--vino) !important; border-color:var(--linea);}
.woocommerce a.remove:hover{background:var(--vino) !important; color:var(--blanco) !important;}
.woocommerce .cart_totals h2{font-family:var(--font-serif); font-weight:500; color:var(--vino);}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .wc-proceed-to-checkout{padding-top:6px;}

/* ════════════════════════════════════════════════════════════════════
   4. CHECKOUT
   ════════════════════════════════════════════════════════════════════ */
.woocommerce-checkout h3{font-family:var(--font-serif); font-weight:500; color:var(--vino); font-size:1.5rem;}
.woocommerce-checkout .col2-set{width:auto;}

/* Checkout en 2 columnas: datos a la izquierda, resumen del pedido a la derecha */
.woocommerce-checkout form.checkout{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(24px,3.5vw,52px); align-items:start;
}
.woocommerce-checkout form.checkout > #customer_details{
  grid-column:1; grid-row:1 / span 2; float:none !important; width:auto !important;
}
.woocommerce-checkout form.checkout > #order_review_heading{grid-column:2; grid-row:1; margin-top:0;}
.woocommerce-checkout form.checkout > #order_review{
  grid-column:2; grid-row:2; float:none !important; width:auto !important;
  position:sticky; top:clamp(120px,15vw,150px);
}
/* Dentro de la columna izquierda: apilar facturación e información adicional
   (WooCommerce las pone lado a lado → se veían como 3 columnas). */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  float:none; width:100%; padding:0;
}
.woocommerce-checkout #customer_details .col-2{margin-top:26px;}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{min-width:0;}

@media (max-width:860px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;}
  .woocommerce-checkout form.checkout > #customer_details,
  .woocommerce-checkout form.checkout > #order_review_heading,
  .woocommerce-checkout form.checkout > #order_review{
    grid-column:1; grid-row:auto; position:static;
  }
}
.woocommerce form .form-row label{
  font-size:.78rem; font-weight:600; letter-spacing:.03em; color:var(--vino);
  text-transform:uppercase; margin-bottom:7px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select,
.woocommerce .select2-container .select2-selection{
  border:1px solid var(--linea) !important; border-radius:var(--r) !important; background:var(--crema) !important;
  font-family:var(--font-sans); font-size:.95rem; color:var(--tinta); min-height:48px; line-height:normal;
  padding:0 14px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{
  outline:none; border-color:var(--dorado) !important; background:var(--blanco) !important;
}
/* Campo cédula/RUC destacado */
#billing_gj_identification_field input.input-text{
  border-color:var(--dorado) !important; background:#fffdf4 !important;
  box-shadow:0 0 0 3px rgba(237,199,87,.16);
}
#billing_gj_identification_field label{color:var(--vino);}

#order_review, .woocommerce-checkout #payment{
  background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r);
}
.woocommerce-checkout #payment{background:var(--blanco);}
.woocommerce-checkout #order_review .order-total .amount{color:var(--dorado-dark); font-size:1.2rem;}

/* Franja de confianza (inyectada por inc/woocommerce.php) */
.gj-trust-strip{
  display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center;
  padding:16px 0; margin:8px 0 16px; border-top:1px solid var(--linea); border-bottom:1px solid var(--linea);
}
.gj-trust-strip span{display:inline-flex; align-items:center; gap:8px; font-size:.8rem; color:var(--tinta-soft);}
.gj-trust-strip svg{width:17px; height:17px; color:var(--dorado-dark);}
/* Variante apilada (carrito, bajo el botón "Proceder al pago") */
.gj-trust-strip--stack{
  flex-direction:column; align-items:flex-start; gap:11px;
  border-top:1px solid var(--linea); border-bottom:0; padding:16px 0 0; margin:16px 0 0;
}
.gj-trust-strip--stack span{font-size:.84rem;}

/* Botón principal (place order / proceed) */
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce .cart .button, .woocommerce .cart input.button{
  background:var(--vino) !important; color:var(--blanco) !important; border:0 !important;
  border-radius:var(--r) !important; font-family:var(--font-sans); font-size:.84rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; padding:16px 30px;
  transition:background .25s var(--ease-out), color .25s var(--ease-out);
}
.woocommerce #payment #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .cart .button:hover{background:var(--dorado) !important; color:var(--vino) !important;}

/* ════════════════════════════════════════════════════════════════════
   5. Avisos + botones globales
   ════════════════════════════════════════════════════════════════════ */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{
  border-top-color:var(--dorado) !important; background:var(--blanco); color:var(--tinta);
  border-radius:var(--r);
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--dorado-dark);}
.woocommerce-error{
  display:block; margin:0 0 24px !important; padding:1em 2em 1em 3.5em !important;
  border-top:3px solid var(--dorado) !important;
}
.woocommerce .coupon-error-notice{
  display:block; margin:8px 0 0; padding:8px 10px;
  color:#7a1f1f; background:#fff5f2; border-left:3px solid #b44b3c;
  border-radius:0 var(--r) var(--r) 0; font-size:.82rem; font-weight:600; line-height:1.45;
}
.woocommerce #coupon_code.has-error{border-color:#b44b3c !important; background:#fff9f7;}
.woocommerce .button.wc-forward,.woocommerce-message .button{
  background:var(--vino) !important; color:var(--blanco) !important; border-radius:var(--r) !important;
}
.woocommerce .button.wc-forward:hover{background:var(--dorado) !important; color:var(--vino) !important;}

/* Botón genérico de WooCommerce (mata el morado por defecto) */
.woocommerce #respond input#submit,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--vino); color:var(--blanco); border-radius:var(--r);
  font-family:var(--font-sans); letter-spacing:.06em;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  background:var(--dorado); color:var(--vino);
}

/* ── Responsive ── */
@media (max-width:820px){
  .single-product div.product{grid-template-columns:minmax(0,1fr);}
  .single-product div.product > *,
  .single-product .woocommerce-product-gallery,
  .single-product .summary.entry-summary{
    min-width:0; max-width:100%;
  }
}
@media (max-width:520px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr); gap:12px;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.05rem; padding:12px 12px 0;}
  .woocommerce ul.products li.product .price{padding:0 12px;}
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.add_to_cart_button{margin:auto 12px 12px !important; font-size:.66rem; padding:10px 8px;}
}

/* ════════════════════════════════════════════════════════════════════
   6. REFINAMIENTO PREMIUM — COLECCIÓN Y FLUJO DE COMPRA
   Una capa visual más editorial, táctil y coherente con una joyería.
   ════════════════════════════════════════════════════════════════════ */

.woocommerce-page{
  --wc-ink:#2c241f;
  --wc-muted:#796d64;
  --wc-surface:#fffdfa;
  --wc-surface-soft:#f8f2e8;
  --wc-line:rgba(74,53,43,.13);
  --wc-line-strong:rgba(137,22,24,.22);
  --wc-wine:#891618;
  --wc-wine-deep:#5e0f12;
  --wc-gold:#c29a42;
  --wc-gold-soft:#ead79f;
  --wc-radius-card:20px;
  --wc-radius-control:11px;
  --wc-shadow-sm:0 8px 28px rgba(51,35,26,.07);
  --wc-shadow-lg:0 24px 70px rgba(51,35,26,.12);
}
.woocommerce-page .wc-page{
  color:var(--wc-ink);
  padding-bottom:clamp(80px,10vw,130px);
}
.woocommerce-page .wc-page::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(circle at 7% 20%,rgba(237,199,87,.08),transparent 25%),
    radial-gradient(circle at 92% 76%,rgba(137,22,24,.045),transparent 24%);
}

/* ── Tienda: cabecera editorial ───────────────────────────── */
.woocommerce-shop .wc-page > .page-title{
  max-width:820px; margin:0 auto 14px; text-align:center;
  color:var(--wc-ink); font-family:var(--font-serif); font-weight:500;
  font-size:clamp(3rem,6.2vw,5.4rem); line-height:.92; letter-spacing:-.025em;
  text-wrap:balance;
}
.woocommerce-shop .wc-page > .page-title::after{
  content:""; display:block; width:76px; height:2px; margin:25px auto 0;
  background:linear-gradient(90deg,transparent,var(--wc-gold),transparent);
}
.gj-shop-intro{
  max-width:720px; margin:0 auto clamp(34px,5vw,56px); text-align:center;
}
.gj-shop-intro p{
  color:var(--wc-muted); font-size:clamp(.98rem,1.5vw,1.08rem); line-height:1.75;
}
.gj-shop-intro span{
  display:inline-flex; margin-top:14px; color:var(--wc-wine);
  font-size:.7rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase;
}
.gj-shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin:0 0 clamp(26px,3.5vw,42px); padding:14px 18px;
  background:rgba(255,253,250,.84); border:1px solid var(--wc-line);
  border-radius:15px; box-shadow:var(--wc-shadow-sm);
  backdrop-filter:blur(12px);
}
.gj-shop-toolbar .woocommerce-result-count{
  display:block !important; margin:0 !important; padding:0 !important;
  border:0 !important; color:var(--wc-muted); font-size:.8rem;
}
.gj-shop-toolbar .woocommerce-ordering{margin:0 !important;}
.gj-shop-toolbar .woocommerce-ordering select{
  min-width:240px; min-height:42px; padding:8px 42px 8px 14px;
  background-color:var(--wc-surface); border-color:var(--wc-line);
  border-radius:9px; color:var(--wc-ink); font-weight:500;
}
.gj-shop-toolbar .woocommerce-ordering select:focus{
  outline:3px solid rgba(194,154,66,.16); border-color:var(--wc-gold);
}

/* ── Tarjetas de colección ────────────────────────────────── */
.woocommerce-shop ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(18px,2.2vw,28px);
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:var(--wc-surface); border:0;
  border-radius:0; box-shadow:none;
  isolation:isolate; overflow:hidden;
  transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s;
}
.woocommerce ul.products li.product::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  border-radius:inherit; opacity:0;
  background:linear-gradient(145deg,rgba(237,199,87,.12),transparent 32%);
  transition:opacity .35s var(--ease-out);
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(74,53,43,.11);
}
.woocommerce ul.products li.product:hover::after{opacity:1;}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  flex:1; position:relative;
}
.woocommerce ul.products li.product img{
  width:100%; aspect-ratio:1/1; object-fit:cover; margin:0; padding:0;
  background:#f5f5f3;
  border-bottom:0;
  transition:transform .75s var(--ease-out),filter .45s var(--ease-out);
}
.woocommerce ul.products li.product:hover img{
  transform:scale(1.035); filter:saturate(1.04) contrast(1.02);
}
.woocommerce ul.products li.product .gj-card-category{
  display:block; padding:18px 18px 0; color:var(--wc-gold);
  font-size:.66rem; font-weight:700; letter-spacing:.16em;
  line-height:1.4; text-transform:uppercase;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:2.4em; margin:0 0 14px; padding:8px 18px 0;
  color:var(--wc-wine); font-size:clamp(1.12rem,1.45vw,1.3rem);
  line-height:1.2; letter-spacing:0;
}
.woocommerce ul.products li.product .price{
  margin:0 0 18px; padding:0 18px; color:var(--wc-gold) !important;
  font-family:var(--font-serif); font-size:1.16rem; font-weight:500; letter-spacing:.02em;
}
.woocommerce ul.products li.product .price del{
  color:var(--wc-muted); font-size:.84rem; opacity:.7;
}
.woocommerce ul.products li.product .price ins{color:var(--wc-wine);}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart{
  min-height:46px; margin:auto 18px 18px !important; padding:12px 18px;
  color:var(--wc-wine); background:transparent; border:1px solid var(--wc-gold);
  border-radius:0; box-shadow:none;
  font-size:.69rem; letter-spacing:.14em;
}
.woocommerce ul.products li.product .button::after,
.woocommerce ul.products li.product a.add_to_cart_button::after{
  content:"→"; margin-left:7px; font-size:1rem; line-height:0;
  transition:transform .25s var(--ease-out);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.added_to_cart:hover{
  color:var(--blanco); background:var(--wc-wine); border-color:var(--wc-wine);
}
.woocommerce ul.products li.product .button:hover::after,
.woocommerce ul.products li.product a.add_to_cart_button:hover::after{transform:translateX(4px);}
.woocommerce span.onsale{
  top:16px; right:16px; padding:8px 13px; border-radius:999px;
  background:rgba(137,22,24,.94); box-shadow:0 8px 24px rgba(74,13,15,.22);
  backdrop-filter:blur(8px);
}

/* ── Ficha: galería y decisión de compra ─────────────────── */
.single-product .gj-breadcrumb{
  margin-bottom:28px; color:var(--wc-muted); font-size:.76rem;
  letter-spacing:.02em;
}
.single-product .woocommerce-product-gallery{
  overflow:hidden; border:1px solid var(--wc-line);
  border-radius:24px; background:var(--wc-surface-soft);
  box-shadow:var(--wc-shadow-lg);
}
.single-product .woocommerce-product-gallery__image{
  padding:0; border:0; border-radius:0; box-shadow:none;
  background:radial-gradient(circle at 50% 38%,#fffdf8,#f3eadb 70%,#e7dbc8);
}
.single-product .woocommerce-product-gallery__image--placeholder{
  overflow:hidden; background:radial-gradient(circle at 50% 38%,#fffdf8,#f3eadb 70%,#e7dbc8);
}
.single-product .woocommerce-product-gallery__image img{
  aspect-ratio:1/1; object-fit:cover; padding:0;
}
.single-product .woocommerce-product-gallery__image--placeholder img{
  display:block; width:100%; aspect-ratio:1/1; object-fit:cover; padding:0;
}
.single-product .summary.entry-summary{
  padding:clamp(8px,1.5vw,18px) 0 0;
}
.single-product .product_title{
  color:var(--wc-ink); font-size:clamp(2.55rem,4.3vw,4.15rem);
  line-height:.98; letter-spacing:-.025em;
}
.single-product .product_title::after{
  width:78px; margin:24px 0 22px; background:var(--wc-gold);
}
.single-product .summary .price{
  color:var(--wc-wine) !important; font-size:clamp(1.75rem,2.4vw,2.2rem);
  font-weight:650;
}
.single-product .summary .stock.in-stock{
  color:var(--wc-gold); margin:8px 0 26px; padding:7px 11px;
  border:1px solid rgba(194,154,66,.28); border-radius:999px;
  background:rgba(234,215,159,.13);
}
.single-product form.cart{gap:10px; margin-bottom:14px;}
.single-product .quantity{
  min-width:74px; border-color:var(--wc-line); border-radius:var(--wc-radius-control);
  background:var(--wc-surface);
}
.single-product .quantity input.qty{height:58px;}
.single-product .single_add_to_cart_button{
  height:58px; border-radius:var(--wc-radius-control) !important;
  background:var(--wc-wine) !important;
  box-shadow:0 12px 30px rgba(137,22,24,.18);
}
.single-product .single_add_to_cart_button::after{
  content:"→"; margin-left:12px; font-size:1.05rem;
}
.single-product .gj-wa-secondary{
  min-height:52px; margin-bottom:28px; border-color:var(--wc-line);
  border-radius:var(--wc-radius-control); background:var(--wc-surface);
}
.single-product .gj-wa-secondary:hover{
  color:var(--wc-wine); background:var(--wc-surface-soft); border-color:var(--wc-gold);
}
.single-product .gj-trust{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px; border:0;
}
.single-product .gj-trust li{
  min-height:88px; padding:14px; border:1px solid var(--wc-line);
  border-radius:14px; background:rgba(255,253,250,.72);
}
.single-product .gj-trust svg{
  width:20px; height:20px; padding:4px; overflow:visible;
  color:var(--wc-gold);
}
.single-product .gj-trust b{color:var(--wc-ink); font-size:.82rem;}
.single-product .gj-trust span{color:var(--wc-muted); font-size:.73rem; line-height:1.4;}
.single-product .woocommerce-tabs{
  padding:clamp(24px,4vw,44px); border:1px solid var(--wc-line);
  border-radius:var(--wc-radius-card); background:var(--wc-surface);
  box-shadow:var(--wc-shadow-sm);
}
.single-product .related > h2,
.single-product .upsells > h2{color:var(--wc-ink); letter-spacing:-.015em;}

/* ── Carrito: composición y totales ───────────────────────── */
.woocommerce-cart .woocommerce-cart-form{
  border:1px solid var(--wc-line); border-radius:var(--wc-radius-card);
  overflow:hidden; background:var(--wc-surface); box-shadow:var(--wc-shadow-sm);
}
.woocommerce-cart table.shop_table{
  margin:0; border:0; border-radius:0; background:transparent;
}
.woocommerce-cart table.shop_table thead{
  background:linear-gradient(90deg,#f8f2e8,#fffaf2);
}
.woocommerce-cart table.shop_table th{
  padding:18px 16px; color:var(--wc-wine); border-bottom:1px solid var(--wc-line);
  font-size:.67rem; letter-spacing:.16em;
}
.woocommerce-cart table.cart td{padding:18px 16px; vertical-align:middle;}
.woocommerce-cart table.cart tr.cart_item{transition:background .25s;}
.woocommerce-cart table.cart tr.cart_item:hover{background:#fffcf7;}
.woocommerce-cart table.cart img{
  width:86px; border:1px solid var(--wc-line); border-radius:13px;
  background:var(--wc-surface-soft);
}
.woocommerce-cart table.cart .product-name a{
  color:var(--wc-ink); font-family:var(--font-serif); font-size:1.27rem;
  font-weight:500; line-height:1.25;
}
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal{font-weight:600; color:var(--wc-ink);}
.woocommerce-cart table.cart .quantity input.qty{
  width:62px; height:42px; border:1px solid var(--wc-line);
  border-radius:9px; background:#fff;
}
.woocommerce a.remove{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border:1px solid var(--wc-line); border-radius:50%;
  font-size:1.2rem; line-height:1;
}
.woocommerce-cart table.cart td.actions{padding:16px;}
.woocommerce-cart table.cart td.actions .coupon{
  display:inline-flex; align-items:center; gap:9px;
}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  width:220px; min-height:46px; padding:0 14px; border:1px solid var(--wc-line);
  border-radius:10px; background:#fff;
}
.woocommerce-cart table.cart td.actions .button{
  min-height:46px; border-radius:10px !important; box-shadow:none;
}
.woocommerce-cart .cart-collaterals{
  display:flex; justify-content:flex-end; margin-top:clamp(34px,5vw,58px);
}
.woocommerce-cart .cart-collaterals .cart_totals{
  float:none; width:min(100%,540px); padding:clamp(24px,3vw,34px);
  border:1px solid var(--wc-line); border-radius:var(--wc-radius-card);
  background:var(--wc-surface); box-shadow:var(--wc-shadow-lg);
}
.woocommerce-cart .cart_totals h2{
  margin:0 0 20px; color:var(--wc-ink); font-size:clamp(1.8rem,3vw,2.35rem);
}
.woocommerce-cart .cart_totals table{border:0;}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{padding:16px 8px; border-color:var(--wc-line);}
.woocommerce-cart .cart_totals .order-total{
  background:linear-gradient(90deg,rgba(234,215,159,.16),transparent);
}
.woocommerce-cart .cart_totals .order-total strong{color:var(--wc-wine); font-size:1.2rem;}
.woocommerce-cart .wc-proceed-to-checkout{padding:12px 0 0;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  min-height:58px; display:flex; align-items:center; justify-content:center;
  border-radius:12px !important; box-shadow:0 12px 30px rgba(137,22,24,.18);
}
.gj-cart-payments{
  margin:16px 0 0; padding:20px 0 2px; border-top:1px solid var(--wc-line);
}
.gj-cart-payments h3{
  margin:0 0 5px; color:var(--wc-ink); font-family:var(--font-serif);
  font-size:1.35rem; font-weight:500; letter-spacing:0; text-transform:none;
}
.gj-cart-payments > p{
  margin:0 0 16px; color:var(--wc-muted); font-size:.8rem; line-height:1.5;
}
.gj-cart-payments ul{
  display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none;
}
.gj-cart-payments li{
  display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px;
  align-items:start; padding:13px; border:1px solid var(--wc-line);
  border-radius:12px; background:var(--wc-surface-soft);
}
.gj-cart-payments svg{
  width:22px; height:22px; margin-top:1px; color:var(--wc-gold);
}
.gj-cart-payments b{
  display:block; margin-bottom:2px; color:var(--wc-wine);
  font-size:.82rem; font-weight:650; line-height:1.35;
}
.gj-cart-payments span{
  display:block; color:var(--wc-muted); font-size:.75rem; line-height:1.48;
}

/* ── Checkout: dos paneles que se leen como un sistema ───── */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  margin-bottom:32px; padding:18px 22px 18px 54px !important;
  border:1px solid var(--wc-line) !important; border-top:2px solid var(--wc-gold) !important;
  border-radius:14px; background:var(--wc-surface); box-shadow:var(--wc-shadow-sm);
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{
  left:21px; top:50%; transform:translateY(-50%); color:var(--wc-gold);
}
.woocommerce-checkout form.checkout{
  column-gap:clamp(26px,4vw,54px); row-gap:0;
}
.woocommerce-checkout form.checkout > #customer_details{
  padding:clamp(24px,3.4vw,42px); border:1px solid var(--wc-line);
  border-radius:var(--wc-radius-card); background:var(--wc-surface);
  box-shadow:var(--wc-shadow-sm);
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading{
  color:var(--wc-ink); font-size:clamp(1.7rem,2.6vw,2.15rem);
}
.woocommerce-checkout form.checkout > #order_review_heading{
  margin:0; padding:26px 28px 18px; align-self:end;
  border:1px solid var(--wc-line); border-bottom:0;
  border-radius:var(--wc-radius-card) var(--wc-radius-card) 0 0;
  background:var(--wc-surface);
}
.woocommerce-checkout form.checkout > #order_review{
  top:118px; padding:0 28px 28px; border:1px solid var(--wc-line);
  border-top:0; border-radius:0 0 var(--wc-radius-card) var(--wc-radius-card);
  background:var(--wc-surface); box-shadow:var(--wc-shadow-lg);
}
.woocommerce-checkout #order_review table.shop_table{
  margin:0 0 22px; border:0; border-radius:0;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{padding:15px 10px; border-color:var(--wc-line);}
.woocommerce-checkout #order_review table.shop_table thead th{
  color:var(--wc-wine); background:var(--wc-surface-soft);
}
.woocommerce-checkout #order_review .product-name{line-height:1.42;}
.woocommerce-checkout #payment{
  margin-top:4px; border:0; border-radius:14px; background:var(--wc-surface-soft);
}
.woocommerce-checkout #payment ul.payment_methods{padding:20px;}
.woocommerce-checkout #payment div.payment_box{
  margin:12px 0 4px; border-radius:10px; background:#f0e7d8;
  color:var(--wc-muted); font-size:.85rem; line-height:1.6;
}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#f0e7d8;}
.woocommerce-checkout #payment div.form-row{padding:20px;}
.woocommerce-checkout #payment #place_order{
  width:100%; min-height:58px; float:none; border-radius:12px !important;
  box-shadow:0 12px 30px rgba(137,22,24,.18);
}
.woocommerce form .form-row{margin:0 0 18px;}
.woocommerce form .form-row label{
  color:var(--wc-ink); font-size:.69rem; letter-spacing:.09em;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select,
.woocommerce .select2-container .select2-selection{
  min-height:52px; border-color:var(--wc-line) !important;
  border-radius:var(--wc-radius-control) !important; background:#fbf8f2 !important;
  color:var(--wc-ink); box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.woocommerce form .form-row textarea{min-height:112px; padding-top:14px;}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce .select2-container--focus .select2-selection{
  border-color:var(--wc-gold) !important; background:#fff !important;
  box-shadow:0 0 0 4px rgba(194,154,66,.13);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{
  line-height:50px; padding-left:14px;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:50px;}
#billing_gj_identification_field input.input-text{
  border-color:rgba(194,154,66,.52) !important;
  background:#fffdf6 !important; box-shadow:0 0 0 4px rgba(194,154,66,.09);
}
.gj-trust-strip{
  gap:8px; padding:14px 0; border-color:var(--wc-line);
}
.gj-trust-strip span{
  padding:7px 9px; border-radius:999px; background:#fff;
  color:var(--wc-muted); font-size:.69rem;
}
.gj-trust-strip svg{color:var(--wc-gold);}

/* Marcador que sustituye a una foto que no llegó (ver main.js): se comporta
   como una foto, no como un icono estirado. */
.gj-img-fallback{
  object-fit:contain !important; padding:12%;
  background:var(--wc-surface-soft); opacity:.85;
}

/* ── Mi cuenta: acceso y área de cliente ──────────────────
   Las cuentas aquí no son un registro abierto: nacen de la casilla opcional
   del checkout. Así que esta página tiene dos caras muy distintas —el que
   llega sin sesión solo necesita entrar, y el que ya compró viene a mirar su
   pedido— y cada una pide una composición propia. */

/* Acceso: una sola tarjeta centrada. A ancho completo el formulario queda
   flotando en un vacío de 1100px que no dice nada. */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-ResetPassword{
  max-width:480px; margin:0 auto; padding:clamp(26px,3.6vw,40px);
  border:1px solid var(--wc-line); border-top:2px solid var(--wc-gold);
  border-radius:var(--wc-radius-card); background:var(--wc-surface);
  box-shadow:var(--wc-shadow-sm);
}
.woocommerce-account:not(.logged-in) .wc-page h2{
  max-width:480px; margin:0 auto 18px; text-align:center;
  color:var(--wc-ink); font-family:var(--font-serif); font-weight:500;
  font-size:clamp(1.8rem,3vw,2.3rem); line-height:1.1;
}
.woocommerce-account .woocommerce-ResetPassword .woocommerce-form-row{margin-bottom:20px;}
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-ResetPassword button.button{
  width:100%; min-height:54px; margin:0 0 16px !important;
  border-radius:var(--wc-radius-control) !important;
  box-shadow:0 12px 30px rgba(137,22,24,.18);
}
/* "Recuérdame" caía junto al botón en la misma línea, como una nota suelta. */
.woocommerce-account .woocommerce-form-login__rememberme{
  display:flex; align-items:center; gap:9px; float:none;
  margin:0 0 18px; color:var(--wc-muted); font-size:.82rem; letter-spacing:.02em;
}
.woocommerce-account .woocommerce-form-login__rememberme input{margin:0;}
.woocommerce-account .woocommerce-LostPassword{
  margin:0; padding-top:16px; border-top:1px solid var(--wc-line);
  text-align:center; font-size:.86rem;
}

/* Área de cliente: navegación y contenido como un sistema, no como dos listas. */
.woocommerce-account.logged-in .woocommerce{
  display:grid; grid-template-columns:minmax(0,232px) minmax(0,1fr);
  gap:clamp(22px,3vw,44px); align-items:start;
}
.woocommerce-MyAccount-navigation ul{margin:0; padding:0; list-style:none;}
.woocommerce-MyAccount-navigation li{margin:0; border-bottom:1px solid var(--wc-line);}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-MyAccount-navigation li a{
  display:block; padding:14px 16px; color:var(--wc-muted) !important;
  font-size:.74rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  transition:color .2s,background .2s,box-shadow .2s;
}
.woocommerce-MyAccount-navigation li a:hover{
  color:var(--wc-wine) !important; background:var(--wc-surface-soft);
}
.woocommerce-MyAccount-navigation li.is-active a{
  color:var(--wc-wine) !important; background:var(--wc-surface);
  box-shadow:inset 3px 0 0 var(--wc-gold);
}
.woocommerce-MyAccount-navigation{
  border:1px solid var(--wc-line); border-radius:var(--wc-radius-card);
  background:var(--wc-surface); box-shadow:var(--wc-shadow-sm); overflow:hidden;
}
.woocommerce-MyAccount-content{
  padding:clamp(24px,3.2vw,38px); border:1px solid var(--wc-line);
  border-radius:var(--wc-radius-card); background:var(--wc-surface);
  box-shadow:var(--wc-shadow-sm);
}
.woocommerce-MyAccount-content > :first-child{margin-top:0;}
.woocommerce-MyAccount-content > :last-child{margin-bottom:0;}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content legend{
  color:var(--wc-ink); font-family:var(--font-serif); font-weight:500;
  font-size:clamp(1.5rem,2.4vw,1.95rem); line-height:1.15;
}

/* Pedidos: la tabla es el motivo real de entrar aquí. */
.woocommerce-orders-table{border:0; border-collapse:collapse; width:100%;}
.woocommerce-orders-table th,
.woocommerce-orders-table td{
  padding:14px 12px; border:0; border-bottom:1px solid var(--wc-line);
  text-align:left; vertical-align:middle;
}
.woocommerce-orders-table thead th{
  color:var(--wc-wine); background:var(--wc-surface-soft);
  font-size:.69rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{text-align:right;}
.woocommerce-orders-table .button{padding:9px 18px !important; font-size:.7rem;}

/* Direcciones y datos */
.woocommerce-Addresses{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px;
}
.woocommerce-Address{
  padding:22px; border:1px solid var(--wc-line);
  border-radius:var(--wc-radius-control); background:var(--wc-surface-soft);
}
.woocommerce-Address-title h3{margin:0 0 10px; font-size:1.25rem;}
.woocommerce-Address address{color:var(--wc-muted); font-style:normal; line-height:1.7;}
.woocommerce-EditAccountForm fieldset{
  margin:26px 0 0; padding:22px 0 0; border:0; border-top:1px solid var(--wc-line);
}

/* ── Avisos y estados ─────────────────────────────────────── */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{
  border:1px solid var(--wc-line) !important; border-top:2px solid var(--wc-gold) !important;
  border-radius:14px; background:var(--wc-surface); box-shadow:var(--wc-shadow-sm);
}
.woocommerce-message{border-top-color:#678b66 !important;}
.woocommerce-error{border-top-color:#b44b3c !important;}

/* ── Responsive premium ───────────────────────────────────── */
@media (max-width:1080px){
  .woocommerce-shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:860px){
  /* La navegación de la cuenta pasa a franja horizontal sobre el contenido:
     en una columna estrecha, seis pestañas apiladas empujan el pedido —lo que
     el cliente vino a ver— por debajo del pliegue. */
  .woocommerce-account.logged-in .woocommerce{grid-template-columns:minmax(0,1fr);}
  .woocommerce-MyAccount-navigation ul{display:flex; flex-wrap:wrap;}
  .woocommerce-MyAccount-navigation li{border-bottom:0; border-right:1px solid var(--wc-line);}
  .woocommerce-MyAccount-navigation li a{padding:12px 14px;}
  .woocommerce-MyAccount-navigation li.is-active a{box-shadow:inset 0 -3px 0 var(--wc-gold);}
  .woocommerce-checkout form.checkout > #customer_details{
    margin-bottom:28px;
  }
  .woocommerce-checkout form.checkout > #order_review_heading{
    padding:22px 22px 14px;
  }
  .woocommerce-checkout form.checkout > #order_review{
    padding:0 22px 22px;
  }
}
@media (max-width:640px){
  .woocommerce-page .wc-page{padding-top:104px; padding-bottom:74px;}
  .woocommerce-shop .wc-page > .page-title{
    font-size:clamp(3rem,17vw,4rem); margin-bottom:12px;
  }
  .gj-shop-intro{margin-bottom:30px;}
  .gj-shop-intro span{display:block; font-size:.61rem; line-height:1.7;}
  .gj-shop-toolbar{
    align-items:stretch; flex-direction:column; gap:10px; padding:14px;
  }
  .gj-shop-toolbar .woocommerce-result-count{text-align:center;}
  .gj-shop-toolbar .woocommerce-ordering,
  .gj-shop-toolbar .woocommerce-ordering select{width:100%; min-width:0;}
  .woocommerce-shop ul.products{grid-template-columns:1fr; gap:22px;}
  .woocommerce ul.products li.product img{aspect-ratio:1/1;}
  .woocommerce ul.products li.product .gj-card-category{padding:18px 18px 0;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    min-height:0; padding:8px 18px 0; font-size:1.35rem;
  }
  .woocommerce ul.products li.product .price{padding:0 18px; font-size:1.12rem;}
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.add_to_cart_button,
  .woocommerce ul.products li.product a.added_to_cart{
    margin:auto 16px 16px !important; font-size:.7rem;
  }
  .single-product .woocommerce-product-gallery{border-radius:18px;}
  .single-product .gj-no-product-image .woocommerce-product-gallery__image img,
  .single-product .gj-no-product-image .woocommerce-product-gallery__image--placeholder img{
    aspect-ratio:4/3; object-fit:cover;
  }
  .single-product .product_title{
    font-size:clamp(2.15rem,10.2vw,2.7rem); line-height:1.01;
  }
  .single-product .gj-trust{grid-template-columns:1fr;}
  .single-product .gj-trust li{min-height:0;}
  .single-product .woocommerce-tabs{padding:22px; border-radius:16px;}
  .woocommerce-cart .woocommerce-cart-form{border-radius:16px;}
  .woocommerce-cart table.cart td.actions .coupon{
    display:grid; grid-template-columns:1fr auto; width:100%;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text{width:100%;}
  .woocommerce-cart table.cart td.actions > .button{width:100%; margin-top:10px;}
  .woocommerce-cart .cart-collaterals .cart_totals{
    padding:22px 18px; border-radius:16px;
  }
  .woocommerce-checkout form.checkout > #customer_details{padding:22px 18px; border-radius:16px;}
  .woocommerce-checkout form.checkout > #order_review_heading{
    padding:22px 18px 13px; border-radius:16px 16px 0 0;
  }
  .woocommerce-checkout form.checkout > #order_review{
    padding:0 18px 18px; border-radius:0 0 16px 16px;
  }
  .woocommerce-checkout #customer_details .form-row-first,
  .woocommerce-checkout #customer_details .form-row-last{float:none; width:100%;}
  .woocommerce-checkout #payment ul.payment_methods,
  .woocommerce-checkout #payment div.form-row{padding:16px;}
  .woocommerce-account .woocommerce-form-login,
  .woocommerce-account .woocommerce-ResetPassword{padding:22px 18px; border-radius:16px;}
  .woocommerce-MyAccount-content{padding:22px 18px; border-radius:16px;}
  .woocommerce-MyAccount-navigation{border-radius:16px;}
  /* La tabla de pedidos scrollea dentro de su caja en vez de estirar la página. */
  .woocommerce-MyAccount-content .woocommerce-orders-table{
    display:block; overflow-x:auto; white-space:nowrap;
  }
}
@media (prefers-reduced-motion:reduce){.woocommerce *{transition:none !important;}}
