/* ============================================================
   Terra Cruz — WooCommerce dark theme
   Estiliza el markup que WooCommerce genera (variaciones, carrito,
   checkout, notices, pagos) para que sea nativo al tema oscuro.
   Tokens: deep-950 #050303 · copper-400 #facc15 · copper-500 #d4a017 · copper-600 #b8860b
   ============================================================ */

:root{
  --tc-deep-950:#050303; --tc-deep-900:#0f0707; --tc-deep-800:#1a0f0f;
  --tc-copper-300:#fde047; --tc-copper-400:#facc15; --tc-copper-500:#d4a017; --tc-copper-600:#b8860b;
  --tc-line:rgba(255,255,255,.10); --tc-line-soft:rgba(255,255,255,.06);
  --tc-surface:rgba(255,255,255,.05); --tc-text:#e5e5e5; --tc-muted:#a3a3a3; --tc-faint:#737373;
}

/* Ocultar breadcrumb y galería nativos (tenemos custom) */
.woocommerce-breadcrumb{ display:none !important; }

/* WooCommerce fuerza img{height:auto} y agranda el logo del nav → restaurar */
#navbar img{ height:5rem !important; width:auto !important; }
@media(min-width:640px){ #navbar img{ height:6rem !important; } }
/* Páginas carrito/checkout/cuenta usan page.php (pt-32) → despejar el nav fijo */
.woocommerce-cart main,.woocommerce-checkout main,.woocommerce-account main{ padding-top:9.5rem; }

/* Tipografía de encabezados Woo */
.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce-cart h1,.woocommerce-checkout h1,
.cart_totals h2,#order_review_heading,.woocommerce-column__title,.related.products>h2,.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{
  font-family:"Quattrocento",serif; color:#fff; font-weight:500;
}

/* ---------- Precio ---------- */
.woocommerce div.product p.price,.woocommerce div.product span.price,
.price,.amount{ color:var(--tc-copper-400); }
del .amount{ color:var(--tc-faint); }
.tc-shortdesc p{ margin:0 0 .5rem; }

/* ---------- Formulario de compra / variaciones ---------- */
.tc-add-to-cart .stock,.tc-add-to-cart .reset_variations{ color:var(--tc-muted); }
table.variations{ width:100%; border:0; margin:0 0 1rem; }
table.variations td,table.variations th{ border:0; padding:0 0 .75rem; background:transparent; }
table.variations th.label label{ color:#fff; font-weight:600; font-size:.9rem; }
.tc-add-to-cart select,.woocommerce-ordering select,.woocommerce select,
.woocommerce-cart select,.woocommerce-checkout select{
  width:100%; background:var(--tc-surface); border:1px solid var(--tc-line);
  border-radius:.6rem; padding:.7rem 1rem; color:#fff; font-size:.95rem;
  -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23facc15' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem;
}
.tc-add-to-cart select option,.woocommerce select option{ background:#0f0707; color:#fff; }
.tc-add-to-cart select:focus,.woocommerce select:focus,.woocommerce input:focus{
  outline:none; border-color:var(--tc-copper-500); box-shadow:0 0 0 1px var(--tc-copper-500);
}
.woocommerce-variation{ margin-bottom:1rem; }
.woocommerce-variation-price .price,.woocommerce-variation-price .amount{ color:var(--tc-copper-400); font-size:1.5rem; font-family:"Quattrocento",serif; }
.woocommerce-variation-availability .stock{ color:#86efac; }

/* Cantidad (stepper) */
.quantity{ display:inline-flex; align-items:center; border:1px solid var(--tc-line); border-radius:9999px; background:var(--tc-surface); overflow:hidden; }
.quantity input.qty{
  width:56px; text-align:center; background:transparent; border:0; color:#fff; font-weight:600;
  padding:.7rem .25rem; -moz-appearance:textfield;
}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* Layout del formulario de compra (variaciones) */
.tc-add-to-cart form.cart{ margin:0; }
.tc-add-to-cart table.variations,.tc-add-to-cart table.variations tbody,.tc-add-to-cart table.variations tr{ display:block; width:100%; }
.tc-add-to-cart table.variations th.label{ display:block; padding:0 0 .5rem; text-align:left; width:auto; }
.tc-add-to-cart table.variations td.value{ display:block; padding:0; }
.tc-add-to-cart .reset_variations{ display:inline-block; margin-top:.5rem; font-size:.85rem; }
.tc-add-to-cart .single_variation_wrap{ margin-top:1.25rem; }
/* Fila cantidad + botón (simple y variable) */
.tc-add-to-cart form.cart:not(.variations_form),
.tc-add-to-cart .woocommerce-variation-add-to-cart{ display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; }
.tc-add-to-cart .quantity{ flex:0 0 auto; }
.tc-add-to-cart .single_add_to_cart_button{ flex:1 1 auto; min-width:190px; }

/* Botón principal de agregar */
.single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt{
  background:linear-gradient(90deg,var(--tc-copper-600),var(--tc-copper-500)) !important;
  color:var(--tc-deep-950) !important; font-weight:700 !important; letter-spacing:.02em;
  border:0 !important; border-radius:9999px !important; padding:.95rem 2.2rem !important;
  font-size:1rem !important; cursor:pointer; transition:transform .25s,box-shadow .25s; flex:1 1 auto;
  text-align:center; box-shadow:0 10px 30px -10px rgba(212,160,23,.5);
}
.single_add_to_cart_button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce #respond input#submit:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -12px rgba(212,160,23,.6); }
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{ opacity:.45; cursor:not-allowed; transform:none; }

/* Botón secundario / genérico Woo */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--tc-surface); color:#fff; border:1px solid var(--tc-line);
  border-radius:9999px; padding:.7rem 1.5rem; font-weight:600; transition:all .25s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{ border-color:rgba(212,160,23,.5); background:rgba(255,255,255,.08); }

/* Botón "agregar" de la tarjeta del loop */
.tc-loop-add.button,.woocommerce ul.products li.product .button{
  background:rgba(212,160,23,.15) !important; color:var(--tc-copper-400) !important;
  border:1px solid rgba(212,160,23,.25) !important; border-radius:9999px !important;
  padding:.5rem 1.1rem !important; font-size:.85rem !important; font-weight:600 !important; margin:0 !important;
  box-shadow:none !important;
}
.tc-loop-add.button:hover,.woocommerce ul.products li.product .button:hover{
  background:var(--tc-copper-500) !important; color:var(--tc-deep-950) !important; transform:none !important;
}
.added_to_cart{ display:none !important; }

/* ---------- Ordenamiento / paginación ---------- */
.tc-ordering select{ min-width:220px; }
.tc-pagination .page-numbers,.woocommerce nav.woocommerce-pagination ul{ border:0; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; margin:0 .25rem; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  background:var(--tc-surface); border:1px solid var(--tc-line); color:#fff; border-radius:.6rem;
  min-width:2.6rem; height:2.6rem; line-height:2.6rem; padding:0; transition:all .2s;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{ background:var(--tc-copper-500); color:var(--tc-deep-950); border-color:var(--tc-copper-500); }

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  background:var(--tc-deep-900); border:1px solid var(--tc-line); border-top:3px solid var(--tc-copper-500);
  color:var(--tc-text); border-radius:.8rem; padding:1rem 1.25rem; list-style:none;
}
.woocommerce-message{ border-top-color:#4ade80; }
.woocommerce-error{ border-top-color:#f87171; }
/* WooCommerce pinta un icono con su fuente propia (\e028…); sin esa fuente sale un cuadrito tofu */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before,
.woocommerce-noreviews::before,.woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before,.woocommerce-NoticeGroup .woocommerce-error::before{
  content:none !important; display:none !important;
}
.woocommerce-message,.woocommerce-info,.woocommerce-error{ padding-left:1.25rem; }
.woocommerce-message a.button,.woocommerce-error a.button{ background:var(--tc-copper-500); color:var(--tc-deep-950); }

/* ---------- Tabla de carrito ---------- */
.woocommerce table.shop_table{ border:1px solid var(--tc-line); border-radius:1rem; background:rgba(255,255,255,.02); border-collapse:separate; overflow:hidden; }
.woocommerce table.shop_table th{ color:#fff; font-family:"Quattrocento",serif; font-weight:500; padding:1rem; border:0; }
.woocommerce table.shop_table td{ border-top:1px solid var(--tc-line-soft); padding:1rem; color:var(--tc-text); }
.woocommerce table.shop_table tbody tr:hover{ background:rgba(255,255,255,.02); }
.woocommerce-cart table.cart img{ width:72px; border-radius:.6rem; background:#000; }
.woocommerce a.remove{ color:var(--tc-faint) !important; border:1px solid var(--tc-line); }
.woocommerce a.remove:hover{ background:#f87171 !important; color:#fff !important; }
.woocommerce .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals .cart_totals{ float:none; width:100%; }
.cart_totals table.shop_table td,.cart_totals table.shop_table th{ background:transparent; }
.product-name a{ color:#fff; }
.product-name a:hover{ color:var(--tc-copper-400); }
.coupon .input-text{ min-width:200px; }

/* ---------- Checkout ---------- */
.woocommerce form .form-row label,.woocommerce-checkout label{ color:var(--tc-text); font-weight:500; margin-bottom:.4rem; display:block; }
.woocommerce .form-row .required{ color:var(--tc-copper-400); border:0; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce #order_comments,
.select2-container--default .select2-selection--single{
  background:var(--tc-surface) !important; border:1px solid var(--tc-line) !important; border-radius:.6rem !important;
  color:#fff !important; padding:.75rem 1rem !important; min-height:auto; line-height:1.4;
}
.select2-container--default .select2-selection--single{ height:auto; padding:.4rem .75rem !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ color:#fff; line-height:1.8; }
.select2-dropdown{ background:#0f0707; border:1px solid var(--tc-line); color:#fff; }
.select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--tc-copper-500); color:var(--tc-deep-950); }
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{ border-color:var(--tc-copper-500) !important; box-shadow:0 0 0 1px var(--tc-copper-500); outline:none; }
.woocommerce form .form-row input::placeholder,.woocommerce textarea::placeholder{ color:var(--tc-faint); }
#customer_details .col-1,#customer_details .col-2{ width:100%; float:none; }
#order_review,#order_review_heading{ background:transparent; }
.woocommerce-checkout #payment{ background:rgba(255,255,255,.03); border:1px solid var(--tc-line); border-radius:1rem; }
.woocommerce-checkout #payment ul.payment_methods{ border-bottom:1px solid var(--tc-line); }
.woocommerce-checkout #payment ul.payment_methods li{ color:var(--tc-text); }
.woocommerce-checkout #payment div.payment_box{ background:var(--tc-deep-900); color:var(--tc-muted); border-radius:.6rem; }
.woocommerce-checkout #payment div.payment_box::before{ border-bottom-color:var(--tc-deep-900); }
.woocommerce-checkout #payment .place-order{ border-top:0; }
#add_payment_method #payment div.payment_box,.woocommerce-checkout #payment ul.payment_methods{ background:transparent; }
.wc_payment_method label{ display:inline-block; }

/* ---------- Thank you / order ---------- */
.woocommerce-order-overview,.woocommerce ul.order_details{ background:rgba(255,255,255,.03); border:1px solid var(--tc-line); border-radius:1rem; padding:1.5rem 2rem; list-style:none; display:flex; flex-wrap:wrap; gap:2rem; }
.woocommerce ul.order_details li{ border:0; color:var(--tc-muted); text-transform:uppercase; font-size:.75rem; letter-spacing:.1em; }
.woocommerce ul.order_details li strong{ color:var(--tc-copper-400); font-size:1.1rem; display:block; margin-top:.25rem; }
.woocommerce-thankyou-order-received{ color:#fff; font-family:"Quattrocento",serif; font-size:1.6rem; }

/* ---------- Related products heading ---------- */
.related.products>h2,.up-sells>h2{ font-size:1.75rem; margin-bottom:1.5rem; color:#fff; }
.related.products ul.products,.woocommerce .products ul,.woocommerce ul.products{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin:0; list-style:none;
}
@media(min-width:1024px){ .related.products ul.products{ grid-template-columns:repeat(4,1fr); } }
.woocommerce ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; }
/* Neutralizar clearfix (::before/::after crean celdas fantasma en grid) */
.woocommerce ul.products::before,.woocommerce ul.products::after,
.related.products ul.products::before,.related.products ul.products::after{ display:none !important; content:none !important; }

/* ---------- Contenedor de páginas carrito/checkout/cuenta ---------- */
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce,
.woocommerce-cart .entry-content,.woocommerce-checkout .entry-content{
  max-width:80rem; margin-left:auto; margin-right:auto; padding-left:1rem; padding-right:1rem;
}
.tc-shop-heading{ max-width:80rem; margin:0 auto 2.5rem; padding:0 1rem; }
.tc-shop-heading .eyebrow{ color:var(--tc-copper-500); font-size:.8rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase; display:block; margin-bottom:.75rem; }
.tc-shop-heading h1{ font-family:"Quattrocento",serif; color:#fff; font-weight:500; font-size:2.25rem; line-height:1.1; }
@media(min-width:768px){ .tc-shop-heading h1{ font-size:3rem; } }
.woocommerce-cart-form,.woocommerce-checkout form.checkout{ margin-top:0; }
.woocommerce .cart-collaterals,.woocommerce-cart .cart-collaterals{ margin-top:2rem; }
.woocommerce-checkout #customer_details{ margin-bottom:2rem; }
.woocommerce .col2-set,.woocommerce-page .col2-set{ display:grid; grid-template-columns:1fr; gap:1.5rem; width:100%; }
@media(min-width:900px){ .woocommerce-checkout .col2-set{ grid-template-columns:1fr; } }
.woocommerce-checkout #order_review{ background:rgba(255,255,255,.03); border:1px solid var(--tc-line); border-radius:1rem; padding:1.5rem; }

/* ---------- Carrito: 2 columnas (ítems | totales sticky) ---------- */
.woocommerce-cart .cart_totals{ background:rgba(255,255,255,.03); border:1px solid var(--tc-line); border-radius:1rem; padding:1.5rem; }
.woocommerce-cart .cart_totals h2{ font-size:1.35rem; margin:0 0 1rem; }
.woocommerce-cart .cart_totals table.shop_table{ border:0; background:transparent; margin:0; }
.woocommerce-cart .cart_totals table.shop_table th{ padding:.75rem 0; font-size:.95rem; width:45%; }
.woocommerce-cart .cart_totals table.shop_table td{ padding:.75rem 0; border-top:1px solid var(--tc-line-soft); text-align:right; }
.woocommerce-cart .cart_totals tr:first-child th,.woocommerce-cart .cart_totals tr:first-child td{ border-top:0; }
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{ font-size:1.1rem; color:#fff; }
.woocommerce-cart .cart_totals .order-total td .amount{ color:var(--tc-copper-400); font-weight:700; }
.woocommerce-cart .wc-proceed-to-checkout{ padding:1.25rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ display:block; width:100%; text-align:center; margin:0; }
.woocommerce-cart .woocommerce-shipping-destination,.woocommerce-cart .shipping-calculator-button{ font-size:.85rem; }

@media(min-width:1024px){
  .woocommerce-cart .woocommerce{
    display:grid; grid-template-columns:minmax(0,1fr) 22rem; column-gap:2.5rem; align-items:start;
  }
  .woocommerce-cart .tc-shop-heading,
  .woocommerce-cart .woocommerce-notices-wrapper{ grid-column:1/-1; max-width:none; padding:0; margin-left:0; margin-right:0; }
  .woocommerce-cart .woocommerce-cart-form{ grid-column:1; }
  .woocommerce-cart .cart-collaterals{ grid-column:2; margin-top:0; position:sticky; top:9.5rem; }
}

/* ---------- Checkout: 2 columnas (datos | resumen sticky) ---------- */
@media(min-width:1024px){
  .woocommerce-checkout form.checkout{
    display:grid; grid-template-columns:minmax(0,1fr) 28rem; column-gap:2.5rem; align-items:start;
  }
  .woocommerce-checkout form.checkout #customer_details{ grid-column:1; margin-bottom:0; }
  .woocommerce-checkout form.checkout .tc-order-col{ grid-column:2; position:sticky; top:9.5rem; }
}
.woocommerce-checkout form.checkout #order_review_heading{ margin:0 0 1rem; font-size:1.35rem; }
.woocommerce-checkout #order_review table.shop_table{ border:0; background:transparent; margin:0 0 1rem; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{ padding:.7rem 0; }
.woocommerce-checkout #order_review table.shop_table td{ text-align:right; }
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total td{ font-size:1.1rem; color:#fff; }
.woocommerce-checkout #order_review .order-total td .amount{ color:var(--tc-copper-400); font-weight:700; }
.woocommerce-checkout #payment{ margin-top:1rem; }
.woocommerce-checkout #payment .place-order{ padding-top:.5rem; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text{ margin-bottom:1.5rem; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{ margin:0; font-size:.85rem; line-height:1.6; color:var(--tc-muted); }
.woocommerce-checkout #payment .place-order button#place_order{ width:100%; margin:1.5rem 0 0; }

/* ---------- Utilidad prose para descripción larga ---------- */
.prose-tc a{ color:var(--tc-copper-400); text-decoration:underline; }
.prose-tc strong{ color:#fff; }
.prose-tc ul{ list-style:disc; padding-left:1.25rem; }
.prose-tc h2,.prose-tc h3{ font-family:"Quattrocento",serif; color:#fff; margin-top:1.25rem; }

/* Keep the shared footer logo consistent on WooCommerce pages. */
footer img.h-16{
  width:auto;
  height:4rem;
}
