/* =========================================================================
 * ZL Tienda De Martino · skin premium de Carrito y Checkout (bloques Woo).
 * Mismo lenguaje del mockup: Cormorant Garamond + Inter, negro/crema/dorado.
 * Fuentes ya se cargan async global en zetalabs-perf.php.
 * ========================================================================= */

body.woocommerce-cart, body.woocommerce-checkout {
	--zl-black: #1A1410; --zl-cream: #FBF8F2; --zl-gold: #B8924D; --zl-gold-d: #A98351;
	--zl-taupe: #6B5D4F; --zl-line: rgba(26,20,16,.07); --zl-line-strong: rgba(26,20,16,.18);
	background: #fff;
}

/* ============== CABECERA + STEPPER ============== */
.zl-woo-head { padding: 230px 40px 0; background: var(--zl-cream); border-bottom: 1px solid var(--zl-line); }
.zl-woo-head__inner { max-width: 1280px; margin: 0 auto; text-align: center; padding-bottom: 36px; }
.zl-woo-head__eyebrow { display: inline-block; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 5px; text-transform: uppercase; color: var(--zl-gold-d); margin-bottom: 14px; }
.zl-woo-head__title { font-family: 'Cormorant Garamond', serif; font-size: clamp(34px, 4.5vw, 56px); font-weight: 500; line-height: 1.05; letter-spacing: .5px; color: var(--zl-black); margin: 0 0 14px; }
.zl-woo-head__breadcrumb { font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--zl-taupe); margin-bottom: 30px; }
.zl-woo-head__breadcrumb a { color: var(--zl-taupe); text-decoration: none; }
.zl-woo-head__breadcrumb a:hover { color: var(--zl-gold); }
.zl-woo-head__breadcrumb .sep { color: var(--zl-gold); margin: 0 9px; }
.zl-woo-head__breadcrumb .current { color: var(--zl-black); }

.zl-stepper { list-style: none; margin: 0; padding: 0; display: inline-flex; align-items: center; gap: 0; font-family: 'Inter', sans-serif; }
.zl-step { display: flex; align-items: center; }
.zl-step:not(:last-child)::after { content: ''; width: 46px; height: 1px; background: var(--zl-line-strong); margin: 0 14px; }
.zl-step__inner { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--zl-taupe); }
.zl-step__num { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--zl-line-strong); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: var(--zl-taupe); font-family: 'Cormorant Garamond', serif; transition: all .25s ease; }
.zl-step__label { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; }
.zl-step--active .zl-step__num { background: var(--zl-black); border-color: var(--zl-black); color: var(--zl-cream); }
.zl-step--active .zl-step__label { color: var(--zl-black); font-weight: 500; }
.zl-step--done .zl-step__num { background: var(--zl-gold); border-color: var(--zl-gold); color: var(--zl-black); }
.zl-step--done .zl-step__label { color: var(--zl-gold-d); }

/* ============== WRAP ============== */
.zl-woo-wrap { max-width: 1280px; margin: 0 auto; padding: 56px 40px 90px; font-family: 'Inter', sans-serif; color: var(--zl-black); }
.zl-woo-wrap .wp-block-woocommerce-cart, .zl-woo-wrap .wp-block-woocommerce-checkout { margin: 0; max-width: none; }

/* tipografía base de los bloques */
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name { font-family: 'Cormorant Garamond', serif !important; font-size: 19px !important; font-weight: 500 !important; color: var(--zl-black) !important; text-decoration: none; }
body.woocommerce-cart .wc-block-components-product-name:hover { color: var(--zl-gold-d) !important; }

/* ============== BOTONES (global bloques) ============== */
.zl-woo-wrap .wc-block-components-button.wc-block-components-button.contained,
.zl-woo-wrap .wc-block-cart__submit-button,
.zl-woo-wrap .wc-block-components-checkout-place-order-button {
	background: var(--zl-black) !important; color: var(--zl-cream) !important;
	border: 1px solid var(--zl-black) !important; border-radius: 0 !important;
	font-family: 'Inter', sans-serif !important; font-size: 11px !important; font-weight: 500 !important;
	letter-spacing: 3px !important; text-transform: uppercase !important; padding: 16px 28px !important;
	box-shadow: none !important; transition: all .3s ease !important; min-height: 0 !important;
}
.zl-woo-wrap .wc-block-components-button.contained:hover,
.zl-woo-wrap .wc-block-cart__submit-button:hover,
.zl-woo-wrap .wc-block-components-checkout-place-order-button:hover { background: var(--zl-gold) !important; border-color: var(--zl-gold) !important; color: var(--zl-cream) !important; }
.zl-woo-wrap .wc-block-components-button.contained::before { display: none !important; }
.zl-woo-wrap .wc-block-components-button .wc-block-components-button__text { letter-spacing: 3px; }

/* botones "ghost" (outline) */
.zl-woo-wrap .wc-block-components-button.outlined { border: 1px solid var(--zl-line-strong) !important; color: var(--zl-black) !important; border-radius: 0 !important; background: transparent !important; text-transform: uppercase; letter-spacing: 2px; font-size: 11px !important; }
.zl-woo-wrap .wc-block-components-button.outlined:hover { border-color: var(--zl-gold) !important; color: var(--zl-gold-d) !important; }

/* ============== CARRITO ============== */
.zl-woo-wrap .wc-block-cart { gap: 56px; }
.zl-woo-wrap .wc-block-cart__main { padding-right: 0; }

/* encabezado de tabla */
.zl-woo-wrap .wc-block-cart-items__header { font-family: 'Inter', sans-serif; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--zl-taupe); border-bottom: 1px solid var(--zl-line-strong); }
.zl-woo-wrap table.wc-block-cart-items { border: none; }

/* filas */
.zl-woo-wrap .wc-block-cart-items__row { border-bottom: 1px solid var(--zl-line); padding: 10px 0; }
.zl-woo-wrap .wc-block-cart-item__image img { border: 1px solid var(--zl-line); background: #fff; }
.zl-woo-wrap .wc-block-cart-item__product { font-family: 'Inter', sans-serif; }
.zl-woo-wrap .wc-block-cart-item__product-metadata { color: var(--zl-taupe); font-size: 12px; }
.zl-woo-wrap .wc-block-components-product-price { color: var(--zl-gold-d) !important; font-family: 'Cormorant Garamond', serif; font-size: 17px; }
.zl-woo-wrap .wc-block-cart-item__total .wc-block-components-product-price__value { font-weight: 500; }
.zl-woo-wrap .wc-block-cart-item__remove-link { font-size: 10px !important; letter-spacing: 2px; text-transform: uppercase; color: var(--zl-taupe) !important; text-decoration: none; border: none; }
.zl-woo-wrap .wc-block-cart-item__remove-link:hover { color: var(--zl-black) !important; }

/* selector de cantidad */
.zl-woo-wrap .wc-block-components-quantity-selector { border: 1px solid var(--zl-line-strong) !important; border-radius: 0 !important; max-width: 120px; }
.zl-woo-wrap .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { font-family: 'Cormorant Garamond', serif !important; font-size: 16px !important; color: var(--zl-black) !important; }
.zl-woo-wrap .wc-block-components-quantity-selector__button { color: var(--zl-black) !important; }
.zl-woo-wrap .wc-block-components-quantity-selector__button:hover { color: var(--zl-gold) !important; }

/* ============== SIDEBAR / RESUMEN (card dorada) ============== */
.zl-woo-wrap .wc-block-cart__sidebar,
.zl-woo-wrap .wc-block-checkout__sidebar {
	background: var(--zl-cream) !important; border: 1px solid var(--zl-line); border-top: 3px solid var(--zl-gold);
	padding: 30px 28px !important; position: sticky; top: 20px;
}

/* Dos columnas en desktop (ítems + resumen), igual que el checkout */
@media (min-width: 1000px) {
	.zl-woo-wrap .wc-block-cart.wc-block-components-sidebar-layout,
	.zl-woo-wrap .wc-block-checkout.wc-block-components-sidebar-layout { flex-wrap: nowrap !important; align-items: flex-start; }
	.zl-woo-wrap .wc-block-cart__main, .zl-woo-wrap .wc-block-checkout__main { flex: 1 1 auto !important; min-width: 0; max-width: none !important; }
	.zl-woo-wrap .wc-block-cart__sidebar, .zl-woo-wrap .wc-block-checkout__sidebar { flex: 0 0 360px !important; max-width: 360px !important; }
}
.zl-woo-wrap .wc-block-cart__totals-title,
.zl-woo-wrap .wc-block-components-order-summary .wc-block-components-title,
.zl-woo-wrap .wc-block-components-checkout-order-summary__title {
	font-family: 'Cormorant Garamond', serif !important; font-size: 13px !important; font-weight: 500 !important;
	letter-spacing: 3px !important; text-transform: uppercase !important; color: var(--zl-black) !important;
	padding-bottom: 14px; border-bottom: 1px solid var(--zl-line); margin-bottom: 8px;
}

/* filas de totales */
.zl-woo-wrap .wc-block-components-totals-item { font-family: 'Inter', sans-serif; font-size: 13px; color: var(--zl-black); padding: 10px 0; }
.zl-woo-wrap .wc-block-components-totals-item__label { letter-spacing: .3px; color: var(--zl-taupe); }
.zl-woo-wrap .wc-block-components-totals-item__value { font-family: 'Cormorant Garamond', serif; font-size: 16px; }
.zl-woo-wrap .wc-block-components-totals-footer-item { border-top: 1px solid var(--zl-line-strong); margin-top: 6px; }
.zl-woo-wrap .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--zl-black); font-weight: 500; text-transform: uppercase; letter-spacing: 2px; font-size: 11px; }
.zl-woo-wrap .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 26px; color: var(--zl-gold-d); font-weight: 500; }

/* cupón */
.zl-woo-wrap .wc-block-components-totals-coupon__button.wc-block-components-button { color: var(--zl-gold-d) !important; }
.zl-woo-wrap .wc-block-components-panel__button { color: var(--zl-black) !important; font-size: 12px !important; letter-spacing: .4px; }

/* ============== CHECKOUT ============== */
.zl-woo-wrap .wc-block-checkout { gap: 56px; }
.zl-woo-wrap .wc-block-components-checkout-step { border: none; padding: 0 0 34px; }
.zl-woo-wrap .wc-block-components-checkout-step__title { font-family: 'Cormorant Garamond', serif !important; font-size: 26px !important; font-weight: 500 !important; color: var(--zl-black) !important; letter-spacing: .3px; }
.zl-woo-wrap .wc-block-components-checkout-step__heading-content { color: var(--zl-gold-d); font-size: 12px; }
.zl-woo-wrap .wc-block-components-checkout-step__container::after { border-color: var(--zl-line) !important; }

/* inputs estilo editorial (borde inferior) */
.zl-woo-wrap .wc-block-components-text-input input,
.zl-woo-wrap .wc-block-components-select .wc-block-components-select__container,
.zl-woo-wrap .wc-block-components-combobox .components-form-token-field__input-container,
.zl-woo-wrap .wc-block-components-text-input.is-active input {
	background: transparent !important; border: 1px solid var(--zl-line-strong) !important; border-radius: 0 !important;
	font-family: 'Inter', sans-serif !important; color: var(--zl-black) !important;
}
.zl-woo-wrap .wc-block-components-text-input input:focus { border-color: var(--zl-gold) !important; box-shadow: none !important; outline: none !important; }
.zl-woo-wrap .wc-block-components-text-input label, .zl-woo-wrap .wc-block-components-checkbox__label { color: var(--zl-taupe) !important; font-family: 'Inter', sans-serif !important; }
.zl-woo-wrap .wc-block-components-text-input.is-active label { color: var(--zl-gold-d) !important; }
.zl-woo-wrap .wc-block-components-checkbox__input:checked { accent-color: var(--zl-gold); }

/* order summary (lado derecho del checkout) */
.zl-woo-wrap .wc-block-components-order-summary-item { border-bottom: 1px solid var(--zl-line); padding: 16px 0; }
.zl-woo-wrap .wc-block-components-order-summary-item__image img { border: 1px solid var(--zl-line); }
.zl-woo-wrap .wc-block-components-order-summary-item__quantity { background: var(--zl-black) !important; color: var(--zl-cream) !important; border: none !important; }
.zl-woo-wrap .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 16px !important; }

/* métodos de envío / pago */
.zl-woo-wrap .wc-block-components-radio-control__option { border-bottom: 1px solid var(--zl-line); }
.zl-woo-wrap .wc-block-components-radio-control__input:checked { accent-color: var(--zl-gold); }
.zl-woo-wrap .wc-block-checkout__actions { border-top: 1px solid var(--zl-line); padding-top: 24px; }
.zl-woo-wrap .wc-block-components-checkout-place-order-button { width: 100%; justify-content: center; }

/* ============== CARRITO VACÍO ============== */
.zl-woo-wrap .wc-block-cart__empty-cart, .zl-woo-wrap .is-medium .wc-block-cart__empty-cart { text-align: center; }
.zl-woo-wrap .wp-block-woocommerce-empty-cart-block > .wc-block-components-notice-banner,
.zl-woo-wrap .wc-block-cart__empty-cart__title { font-family: 'Cormorant Garamond', serif !important; font-size: 30px !important; font-weight: 500 !important; color: var(--zl-black) !important; }
.zl-woo-wrap .wp-block-heading { font-family: 'Cormorant Garamond', serif; }

/* ============== AGRADECIMIENTO (order-received) ============== */
body.woocommerce-order-received .zl-woo-wrap { max-width: 820px; }
.zl-woo-wrap .woocommerce-order .woocommerce-notice, .zl-woo-wrap .woocommerce-thankyou-order-received { font-family: 'Cormorant Garamond', serif; font-size: 22px; color: var(--zl-black); }
.zl-woo-wrap .woocommerce-order-overview, .zl-woo-wrap .woocommerce-table { font-family: 'Inter', sans-serif; }
.zl-woo-wrap .woocommerce-order-overview { list-style: none; display: flex; flex-wrap: wrap; gap: 24px; padding: 24px 0; border-top: 1px solid var(--zl-line); border-bottom: 1px solid var(--zl-line); }
.zl-woo-wrap .woocommerce-order-overview li { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--zl-taupe); border: none !important; }
.zl-woo-wrap .woocommerce-order-overview li strong { display: block; font-family: 'Cormorant Garamond', serif; font-size: 18px; letter-spacing: 0; text-transform: none; color: var(--zl-gold-d); margin-top: 6px; }

/* ============== NOTICES ============== */
.zl-woo-wrap .wc-block-components-notice-banner { border-radius: 0 !important; border-left: 3px solid var(--zl-gold) !important; }

/* ============== RESPONSIVE ============== */
@media (max-width: 1000px) {
	.zl-woo-wrap .wc-block-cart, .zl-woo-wrap .wc-block-checkout { display: block; }
	.zl-woo-wrap .wc-block-cart__sidebar .wc-block-components-sidebar,
	.zl-woo-wrap .wc-block-checkout__sidebar { position: static; margin-top: 40px; }
}
@media (max-width: 768px) {
	.zl-woo-head { padding: 120px 20px 0; }
	.zl-woo-wrap { padding: 36px 20px 70px; }
	.zl-step__label { display: none; }
	.zl-step:not(:last-child)::after { width: 28px; margin: 0 8px; }
}
