/* WooCommerce vestido como las maquetas del HTML (carrito/, finalizar-compra/, mi-cuenta/).
   Se escribe a mano: el convertidor no lo toca. Todo acotado a .tienda-woo o a la ficha
   para no alcanzar al pie (el body lleva .woocommerce-page). */

/* ------------------------------------------------------------ avisos */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
  list-style: none; margin: 0 0 1.4rem; padding: 14px 18px; background: var(--blanco);
  border: 1px solid var(--linea); border-left: 4px solid var(--oro-viejo); font-size: .98rem;
  display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between;
}
.woocommerce-error { border-left-color: #a23a3a; display: block; }
.woocommerce-error li { margin: 0 0 .3rem; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; }
.woocommerce-notice--success { border-left-color: var(--oro); font: 500 1.25rem var(--display); }

/* ----------------------------------------------------------- botones */
.tienda-woo .button, .tienda-woo button.button, .tienda-woo a.button, .tienda-woo input.button,
.woocommerce-message .button, .tienda-woo #place_order {
  display: inline-flex; align-items: center; justify-content: center; gap: .7em; cursor: var(--cursor-mano);
  padding: .95em 1.9em; border-radius: 999px; border: 1px solid var(--oro-viejo);
  background: var(--noche); color: var(--oro-claro); font: 600 .78rem/1.2 var(--rotulo); letter-spacing: .14em;
  text-transform: uppercase; text-decoration: none; transition: background .2s, border-color .2s;
}
.tienda-woo .button:hover, .woocommerce-message .button:hover, .tienda-woo #place_order:hover { background: var(--noche-3); border-color: var(--oro); }
.tienda-woo .button:disabled, .tienda-woo .button.disabled { opacity: .45; cursor: not-allowed; }
.tienda-woo .checkout-button, .tienda-woo #place_order { width: 100%; padding-block: 1.15em; }
.ficha .cart { margin: 0; }

/* ------------------------------------------------------------ campos */
.tienda-woo .form-row { display: grid; gap: 6px; margin: 0 0 16px; }
.tienda-woo .form-row label { font-weight: 600; font-size: .95rem; }
.tienda-woo .form-row .required { color: var(--oro-texto); text-decoration: none; }
.tienda-woo .form-row .optional { font-weight: 400; color: var(--gris); font-size: .85em; }
.tienda-woo input.input-text, .tienda-woo select, .tienda-woo textarea,
.tienda-woo .select2-container .select2-selection--single {
  width: 100%; border: 1px solid #c9b791; border-radius: var(--radio); background: var(--blanco);
  padding: 12px 14px; font: 1rem var(--texto); color: var(--tinta); min-height: 48px;
}
.tienda-woo textarea { min-height: 110px; resize: vertical; }
.tienda-woo input.input-text:focus, .tienda-woo select:focus, .tienda-woo textarea:focus { outline: 2px solid var(--oro); outline-offset: 1px; border-color: var(--oro-texto); }
.tienda-woo .select2-container .select2-selection--single { display: flex; align-items: center; padding: 0 14px; }
.tienda-woo .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 1.3 !important; color: var(--tinta) !important; }
.tienda-woo .select2-container .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 8px !important; }
.select2-dropdown { border-color: #c9b791 !important; font-family: var(--texto); }
.select2-results__option--highlighted { background: var(--noche) !important; color: var(--oro-claro) !important; }
.tienda-woo .form-row-first, .tienda-woo .form-row-last { width: calc(50% - 8px); display: inline-grid; vertical-align: top; }
.tienda-woo .form-row-first { margin-right: 12px; }
@media (max-width: 560px) { .tienda-woo .form-row-first, .tienda-woo .form-row-last { width: 100%; margin-right: 0; } }
.tienda-woo .woocommerce-invalid input.input-text { border-color: #a23a3a; }
.tienda-woo .woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.tienda-woo input[type="checkbox"], .tienda-woo input[type="radio"] { accent-color: var(--noche); }
.tienda-woo h2, .tienda-woo h3 { font-size: 1.3rem; }

/* ----------------------------------------------------------- carrito */
.tienda-woo .woocommerce:has(.woocommerce-cart-form) { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(24px, 4vw, 48px); align-items: start; }
.tienda-woo .woocommerce:has(.woocommerce-cart-form) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
@media (max-width: 860px) { .tienda-woo .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: 1fr; } }

.tienda-woo table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-cart-form .shop_table thead { display: none; }
.woocommerce-cart-form .shop_table { border-top: 1px solid var(--linea); }
.woocommerce-cart-form .cart_item {
  display: grid; grid-template-columns: 90px 1fr auto; grid-template-areas: "foto nombre total" "foto quitar total";
  column-gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--linea); align-items: center;
}
.woocommerce-cart-form .cart_item td { padding: 0; border: 0; display: block; }
.woocommerce-cart-form .product-thumbnail { grid-area: foto; }
.woocommerce-cart-form .product-thumbnail img { width: 90px; height: 112px; object-fit: cover; -webkit-mask: var(--arco) center / 100% 100%; mask: var(--arco) center / 100% 100%; display: block; }
.woocommerce-cart-form .product-name { grid-area: nombre; align-self: end; font-weight: 600; }
.woocommerce-cart-form .product-name a { color: var(--tinta); text-decoration: none; }
.woocommerce-cart-form .product-name .variation { color: var(--gris); font-weight: 400; font-size: .9rem; margin: 4px 0 0; }
.woocommerce-cart-form .product-remove { grid-area: quitar; align-self: start; margin-top: 6px; }
.woocommerce-cart-form .product-remove a { font-size: 0; color: var(--gris); text-decoration: underline; }
.woocommerce-cart-form .product-remove a::before { content: "Quitar"; font-size: .88rem; }
.woocommerce-cart-form .product-price { display: none !important; }
.woocommerce-cart-form .product-quantity { grid-area: quitar; justify-self: end; margin-right: 4px; }
.woocommerce-cart-form .product-quantity .quantity input { width: 64px; min-height: 38px; padding: 6px; text-align: center; }
.woocommerce-cart-form .product-quantity:not(:has(input[type="number"])) { display: none !important; }
.woocommerce-cart-form .product-subtotal { grid-area: total; font-weight: 700; }
.woocommerce-cart-form td.actions { display: flex !important; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 18px 0 0 !important; grid-column: 1 / -1; }
.woocommerce-cart-form td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce-cart-form td.actions .coupon input { width: 170px; min-height: 44px; }
.woocommerce-cart-form td.actions .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart-form td.actions .button[name="update_cart"] { background: transparent; color: var(--tinta); }
.woocommerce-cart-form tr:has(td.actions) { display: block; }
.tienda-woo .cart-collaterals .cross-sells { display: none; }

/* resumen (carrito y pago) */
.tienda-woo .cart_totals, .tienda-woo #order_review {
  background: var(--blanco); border: 1px solid var(--linea); border-top: 4px solid var(--carmesi); padding: 24px;
  position: sticky; top: 110px; display: flex; flex-direction: column;
}
.tienda-woo .cart_totals h2 { order: -2; }
.tienda-woo .cart_totals .meta-envio { order: -1; }
.tienda-woo .cart_totals table, .tienda-woo #order_review table { width: 100%; margin: 0 0 1.2rem; }
.tienda-woo .cart_totals th, .tienda-woo .cart_totals td,
.tienda-woo #order_review th, .tienda-woo #order_review td { padding: 6px 0; text-align: left; vertical-align: top; font-weight: 400; border: 0; }
.tienda-woo .cart_totals th, .tienda-woo #order_review tfoot th { color: var(--gris); }
.tienda-woo .cart_totals td, .tienda-woo #order_review td.product-total, .tienda-woo #order_review tfoot td { text-align: right; }
.tienda-woo .order-total th, .tienda-woo .order-total td { font-weight: 700 !important; font-size: 1.15rem; color: var(--tinta) !important; padding-top: 12px !important; border-top: 1px solid var(--linea) !important; }
.tienda-woo .cart_totals .woocommerce-shipping-destination, .tienda-woo .cart_totals .woocommerce-shipping-calculator { font-size: .88rem; color: var(--gris); text-align: right; }
.tienda-woo .wc-proceed-to-checkout { margin-top: 4px; }
@media (max-width: 860px) { .tienda-woo .cart_totals, .tienda-woo #order_review { position: static; } }

/* métodos de envío como tarjetas .opcion */
.tienda-woo #shipping_method { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; text-align: left; }
.tienda-woo #shipping_method li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--linea); background: var(--crema); font-size: .92rem; }
.tienda-woo #shipping_method li:has(input:checked) { border-color: var(--oro-texto); box-shadow: 0 0 0 1px var(--oro-texto); background: var(--blanco); }
.tienda-woo #shipping_method input { margin-top: 3px; }
.tienda-woo tr.woocommerce-shipping-totals th { vertical-align: top; padding-top: 14px; }
.tienda-woo tr.woocommerce-shipping-totals td { padding-left: 12px; }
@media (max-width: 480px) {
  .tienda-woo tr.woocommerce-shipping-totals { display: grid; }
  .tienda-woo tr.woocommerce-shipping-totals td { padding-left: 0; }
  .tienda-woo #shipping_method { width: 100%; }
}

/* ------------------------------------------------------------- pago */
.tienda-woo form.checkout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 0 clamp(24px, 4vw, 48px); align-items: start; }
.tienda-woo form.checkout > * { grid-column: 1; }
.tienda-woo form.checkout #order_review_heading { display: none; }
.tienda-woo form.checkout #order_review { grid-column: 2; grid-row: 1 / span 6; }
.tienda-woo form.checkout .col2-set { display: block; }
.tienda-woo form.checkout .col2-set > div { width: 100%; }
.tienda-woo form.checkout .woocommerce-additional-fields h3 { display: none; }
.tienda-woo #ship-to-different-address { font: 400 1rem var(--texto); margin: 8px 0 16px; }
.tienda-woo .woocommerce-form-login-toggle .woocommerce-info, .tienda-woo .woocommerce-form-coupon-toggle .woocommerce-info { font-size: .92rem; }
.tienda-woo form.checkout_coupon, .tienda-woo form.woocommerce-form-login { background: var(--blanco); border: 1px solid var(--linea); padding: 18px; margin-bottom: 1.4rem; }
@media (max-width: 860px) {
  .tienda-woo form.checkout { grid-template-columns: 1fr; }
  .tienda-woo form.checkout #order_review { grid-column: 1; grid-row: auto; margin-top: 1.6rem; }
}
.tienda-woo #order_review .shop_table thead { display: none; }
.tienda-woo #order_review .cart_item .product-name { color: var(--gris); }
.tienda-woo #order_review .product-quantity { font-weight: 400; }

.tienda-woo #payment { margin-top: 1.2rem; }
.tienda-woo #payment .payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 10px; }
.tienda-woo #payment .payment_methods > li { padding: 14px 16px; border: 1px solid var(--linea); background: var(--crema); }
.tienda-woo #payment .payment_methods > li:has(> input:checked) { border-color: var(--oro-texto); box-shadow: 0 0 0 1px var(--oro-texto); background: var(--blanco); }
.tienda-woo #payment .payment_methods > li > label { font-weight: 700; margin-left: 6px; }
.tienda-woo #payment .payment_methods > li img { max-height: 22px; vertical-align: middle; margin-left: 6px; }
.tienda-woo #payment .payment_box { margin-top: 8px; font-size: .9rem; color: var(--gris); }
.tienda-woo #payment .payment_box p { margin: 0; }
.tienda-woo #payment .wc_payment_methods > li:only-child > input { display: none; }
.tienda-woo .woocommerce-terms-and-conditions-wrapper, .tienda-woo .woocommerce-privacy-policy-text { font-size: .86rem; color: var(--gris); margin-bottom: 1rem; }
.tienda-woo .woocommerce-privacy-policy-text a { color: var(--oro-texto); }
.tienda-woo .regalo { margin-bottom: 1rem; }
.tienda-woo .regalo .opcion bdi, .tienda-woo .regalo summary bdi { font: inherit; }
.tienda-woo .blockUI.blockOverlay { background: rgb(247 240 228 / .6) !important; }

/* gracias por tu compra */
.tienda-woo .woocommerce-order-overview { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.tienda-woo .woocommerce-order-overview li { background: var(--blanco); border: 1px solid var(--linea); padding: 14px 16px; font-size: .85rem; color: var(--gris); }
.tienda-woo .woocommerce-order-overview li strong { display: block; color: var(--tinta); font-size: 1rem; margin-top: 4px; }
.tienda-woo .woocommerce-order-details, .tienda-woo .woocommerce-customer-details { margin-top: 2rem; }
.tienda-woo .woocommerce-table--order-details th, .tienda-woo .woocommerce-table--order-details td { padding: 10px 0; border-bottom: 1px solid var(--linea); text-align: left; }
.tienda-woo .woocommerce-table--order-details td:last-child, .tienda-woo .woocommerce-table--order-details tfoot td { text-align: right; }
.tienda-woo address { font-style: normal; background: var(--blanco); border: 1px solid var(--linea); padding: 16px 18px; line-height: 1.6; }

/* ---------------------------------------------------------- mi cuenta */
.tienda-woo .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); }
@media (max-width: 760px) { .tienda-woo .u-columns.col2-set { grid-template-columns: 1fr; } }
.tienda-woo .woocommerce-form-login, .tienda-woo .woocommerce-form-register { border: 0 !important; background: none !important; padding: 0 !important; }
.tienda-woo .woocommerce-form-login__rememberme { display: flex !important; gap: 8px; align-items: center; margin-bottom: 12px; font-weight: 400; }
.tienda-woo .lost_password a { color: var(--oro-texto); font-size: .92rem; }
.tienda-woo .u-column2 .button { background: transparent; color: var(--tinta); border-color: var(--oro); }
.tienda-woo .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px 1fr; gap: clamp(24px, 4vw, 48px); align-items: start; }
@media (max-width: 760px) { .tienda-woo .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; } }
.tienda-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linea); }
.tienda-woo .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 4px; border-bottom: 1px solid var(--linea); color: var(--tinta); text-decoration: none; }
.tienda-woo .woocommerce-MyAccount-navigation li.is-active a { color: var(--oro-texto); font-weight: 700; }
.tienda-woo .woocommerce-orders-table th, .tienda-woo .woocommerce-orders-table td { padding: 10px 8px; border-bottom: 1px solid var(--linea); text-align: left; font-size: .92rem; }
.tienda-woo .woocommerce-MyAccount-content a:not(.button) { color: var(--oro-texto); }

/* --------------------------------------------------- ficha y tarjetas */
.ficha__precio del { color: var(--gris); font-weight: 400; margin-right: 8px; }
.ficha__precio ins { text-decoration: none; }
.ficha__acciones > div .cart { display: grid; gap: 10px; }
.tarjeta--vendida .arco-oro img { filter: grayscale(.85); opacity: .75; }
.resenas__lista { list-style: none; margin: 0 0 1.4rem; padding: 0; display: grid; gap: 14px; }
.resenas__lista li { background: var(--blanco); border: 1px solid var(--linea); padding: 14px 16px; }
.resenas__lista p { margin: 0 0 .4rem; }
.resenas__estrellas { color: var(--oro-viejo); letter-spacing: .12em; }
.resenas__autor { color: var(--gris); font-size: .88rem; margin: 0 !important; }
.texto-legal { max-width: 78ch; }
