/*
 * Neumazero — paginas internas y tienda.
 * Se carga en todo menos la portada. Usa las variables de identidad del tema.
 */

/* ===== Componentes compartidos (eyebrow / seccion / banda CTA) ===== */
.nz-eyebrow {
	font-family: var(--nz-font-head, sans-serif);
	text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 700;
	color: var(--nz-muted, #6B6F76); margin: 0 0 14px;
}
.nz-eyebrow span, .nz-eyebrow--light { color: var(--nz-primary, #E10600); }

.nz-section { padding-block: clamp(40px, 6vw, 72px); }
.nz-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.nz-section__head h2 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem); margin: 0; }
.nz-section__head p { margin: 0; color: var(--nz-muted, #6B6F76); }
.nz-section__head--center { justify-content: center; text-align: center; }
.nz-link-more { font-family: var(--nz-font-head, sans-serif); font-weight: 700; color: var(--nz-primary, #E10600); white-space: nowrap; }

.nz-ctaband { position: relative; overflow: hidden; background: var(--nz-ink, #0B0B0B); color: #fff; }
.nz-ctaband__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(100deg, transparent 60%, rgba(225,6,0,.9) 60.2%, rgba(225,6,0,.9) 66%, transparent 66.2%); opacity: .9; }
.nz-ctaband__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding-block: clamp(36px, 5vw, 56px); }
.nz-ctaband h2 { color: #fff; margin: 4px 0 10px; font-size: clamp(1.5rem, 1.2rem + 1.6vw, 2.2rem); }
.nz-ctaband__lead { color: rgba(255,255,255,.75); margin: 0; max-width: 46ch; }
.nz-ctaband__action .nz-cta { font-size: 1.05rem; padding: 15px 30px; }

/* ===== Banner de pagina ===== */
.nz-pagebanner { position: relative; overflow: hidden; background: var(--nz-ink, #0B0B0B); color: #fff; padding-block: clamp(34px, 5vw, 60px); }
.nz-pagebanner__bg {
	position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		linear-gradient(115deg, transparent 63%, rgba(225,6,0,.16) 63.2%, rgba(225,6,0,.16) 66%, transparent 66.2%),
		linear-gradient(115deg, transparent 68%, rgba(225,6,0,.32) 68.1%, rgba(225,6,0,.32) 69.3%, transparent 69.4%);
}
.nz-pagebanner .nz-container { position: relative; z-index: 1; }
.nz-crumbs { font-family: var(--nz-font-head, sans-serif); text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; margin: 0 0 12px; color: rgba(255,255,255,.5); }
.nz-crumbs a { color: rgba(255,255,255,.72); text-decoration: none; }
.nz-crumbs a:hover { color: #fff; }
.nz-crumbs > span { margin: 0 6px; color: var(--nz-primary, #E10600); }
.nz-crumbs__current { color: rgba(255,255,255,.55); }
.nz-pagebanner__title { color: #fff; margin: 0; font-style: italic; font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.1rem); }
.nz-pagebanner__sub { color: rgba(255,255,255,.72); margin: 10px 0 0; font-size: 1.05rem; max-width: 60ch; }

/* ===== Pagina generica ===== */
.nz-page { padding-block: clamp(36px, 5vw, 64px); }
.nz-page .entry-content { max-width: 820px; }
.nz-page .entry-content > * + * { margin-top: 1em; }
.nz-narrow { max-width: 820px; }
.nz-lead { font-size: 1.2rem; line-height: 1.6; color: var(--nz-text, #1A1D21); }
.nz-page-intro { padding-bottom: 0; }

/* ===== Servicios ===== */
.nz-services__grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.nz-service {
	background: var(--nz-surface, #fff); border: 1px solid var(--nz-border, #E4E4E4);
	border-radius: 16px; padding: 26px 24px; position: relative; overflow: hidden;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.nz-service::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--nz-primary, #E10600); transform: scaleY(0); transform-origin: top; transition: transform .2s ease; }
.nz-service:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -30px rgba(11,11,11,.4); border-color: #d6d6d6; }
.nz-service:hover::before { transform: scaleY(1); }
.nz-service__ico { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 12px; background: rgba(225,6,0,.08); color: var(--nz-primary, #E10600); margin-bottom: 16px; }
.nz-service__ico svg { width: 28px; height: 28px; }
.nz-service__title { font-size: 1.12rem; margin: 0 0 8px; }
.nz-service__desc { margin: 0; color: var(--nz-muted, #6B6F76); font-size: .96rem; }

/* ===== Nosotros ===== */
.nz-about-intro__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
.nz-about-intro h2 { margin-bottom: .4em; }
.nz-about-intro p { color: var(--nz-text, #1A1D21); }
.nz-about-card { background: var(--nz-ink, #0B0B0B); color: #fff; border-radius: 18px; padding: 30px; position: relative; overflow: hidden; }
.nz-about-card::after { content: ""; position: absolute; right: -40px; top: -40px; width: 120px; height: 120px; background: var(--nz-primary, #E10600); opacity: .18; border-radius: 50%; }
.nz-about-card__quote { font-family: var(--nz-font-head, sans-serif); font-size: 1.5rem; font-weight: 700; font-style: italic; color: #fff; margin: 0 0 18px; position: relative; }
.nz-checklist { list-style: none; margin: 0; padding: 0; position: relative; }
.nz-checklist li { position: relative; padding-left: 30px; margin-bottom: 12px; color: rgba(255,255,255,.85); }
.nz-checklist li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--nz-primary, #E10600); }
.nz-checklist li::after { content: ""; position: absolute; left: 6px; top: 8px; width: 6px; height: 3px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }

.nz-values { background: var(--nz-surface-alt, #F4F4F4); }
.nz-values__grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.nz-value { background: var(--nz-surface, #fff); border: 1px solid var(--nz-border, #E4E4E4); border-radius: 16px; padding: 26px; text-align: center; }
.nz-value__ico { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 50%; background: var(--nz-ink, #0B0B0B); color: var(--nz-primary, #E10600); margin-bottom: 14px; }
.nz-value__ico svg { width: 28px; height: 28px; }
.nz-value__title { margin: 0 0 8px; font-size: 1.1rem; }
.nz-value p { margin: 0; color: var(--nz-muted, #6B6F76); font-size: .95rem; }

.nz-stats { background: var(--nz-ink, #0B0B0B); color: #fff; }
.nz-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding-block: clamp(32px, 4vw, 48px); }
.nz-stat { text-align: center; padding: 10px 16px; }
.nz-stat + .nz-stat { border-left: 1px solid rgba(255,255,255,.12); }
.nz-stat__num { display: block; font-family: var(--nz-font-head, sans-serif); font-weight: 700; font-style: italic; font-size: clamp(1.9rem, 1.2rem + 1.8vw, 2.8rem); color: #fff; line-height: 1; }
.nz-stat__label { display: block; margin-top: 8px; color: rgba(255,255,255,.65); font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; }

/* ===== Contacto ===== */
.nz-contact__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; align-items: start; }
.nz-contact__info h2 { margin: 0 0 10px; }
.nz-contact__intro { color: var(--nz-muted, #6B6F76); margin: 0 0 20px; }
.nz-contact__item { display: flex; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid var(--nz-border, #E4E4E4); border-radius: 14px; margin-bottom: 12px; text-decoration: none; color: var(--nz-ink, #0B0B0B); transition: border-color .15s, box-shadow .15s, transform .12s; }
a.nz-contact__item:hover { border-color: var(--nz-primary, #E10600); box-shadow: 0 16px 34px -24px rgba(11,11,11,.4); transform: translateY(-1px); }
.nz-contact__ico { display: inline-flex; width: 46px; height: 46px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 12px; background: var(--nz-surface-alt, #F4F4F4); color: var(--nz-primary, #E10600); }
.nz-contact__ico svg { width: 24px; height: 24px; }
.nz-contact__item span strong { display: block; font-family: var(--nz-font-head, sans-serif); }
.nz-contact__item span em { font-style: normal; color: var(--nz-muted, #6B6F76); font-size: .95rem; }
.nz-contact__item--wa .nz-contact__ico { background: var(--nz-primary, #E10600); color: #fff; }

.nz-contact__formwrap { background: var(--nz-surface, #fff); border: 1px solid var(--nz-border, #E4E4E4); border-radius: 18px; padding: clamp(22px, 3vw, 34px); box-shadow: 0 30px 60px -40px rgba(11,11,11,.3); }
.nz-contact__formwrap h2 { margin: 0 0 6px; }
.nz-contact__formnote { color: var(--nz-muted, #6B6F76); margin: 0 0 20px; font-size: .95rem; }
.nz-form label { display: block; margin-bottom: 14px; }
.nz-form label > span { display: block; font-family: var(--nz-font-head, sans-serif); font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.nz-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nz-form .nz-cta { width: 100%; margin-top: 6px; }

/* ===== WooCommerce (ajustes) ===== */
.nz-shop { padding-block: clamp(32px, 4vw, 56px); }
.woocommerce .woocommerce-result-count { color: var(--nz-muted, #6B6F76); margin: 0 0 18px; }
.woocommerce .woocommerce-ordering { margin-bottom: 18px; }
.woocommerce .woocommerce-ordering select { width: auto; display: inline-block; }
.woocommerce nav.woocommerce-breadcrumb { display: none; } /* usamos nuestro banner */
.woocommerce div.product .product_title { margin-top: 0; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--nz-ink, #0B0B0B); font-weight: 800; font-family: var(--nz-font-head, sans-serif); }
.woocommerce div.product .quantity .qty { width: 72px; display: inline-block; }
.woocommerce .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--nz-primary, #E10600); }
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt { border-radius: 999px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--nz-primary, #E10600); }
.woocommerce form .form-row.woocommerce-invalid input { border-color: var(--nz-primary, #E10600); }

/* Ficha de producto: 2 columnas (galeria | resumen) */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); gap: 44px; align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: 14px; }
.woocommerce div.product .summary { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product .summary .price { margin-bottom: 18px; }
.woocommerce div.product form.cart { margin-top: 10px; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; margin-top: 10px; }
@media (max-width: 760px) {
	.woocommerce div.product { grid-template-columns: 1fr; gap: 24px; }
}

/* ========================================================================
 * WooCommerce — Carro y Checkout (acorde a la identidad)
 * Nota: el CSS por defecto de WooCommerce esta deshabilitado en el tema,
 * asi que estas reglas definen el aspecto completo de estas vistas.
 * ===================================================================== */

/* ----- Botones de accion principales (corte angular, como .nz-cta) ----- */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--nz-primary, #E10600); color: #fff;
	font-family: var(--nz-font-head, sans-serif); font-weight: 700; font-style: italic;
	text-transform: uppercase; letter-spacing: .02em;
	border: 0; border-radius: 0; padding: 14px 30px 14px 26px; cursor: pointer;
	clip-path: polygon(0 0, 100% 0, calc(100% - 15px) 100%, 0 100%);
	transition: background .15s ease, transform .12s ease;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--nz-primary-dark, #B00500); color: #fff; transform: translateY(-1px);
}

/* ----- Botones secundarios (aplicar cupon, actualizar carro) ----- */
.woocommerce .button,
.woocommerce button.button:not(.alt),
.woocommerce input.button:not(.alt) {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--nz-ink, #0B0B0B); color: #fff;
	font-family: var(--nz-font-head, sans-serif); font-weight: 600;
	border: 0; border-radius: 8px; padding: 12px 20px; cursor: pointer;
	transition: background .15s ease;
}
.woocommerce .button:hover,
.woocommerce button.button:not(.alt):hover,
.woocommerce input.button:not(.alt):hover { background: #262626; color: #fff; }
.woocommerce .button:disabled,
.woocommerce .button.disabled { opacity: .5; cursor: not-allowed; }

/* ----- Tablas (carro + resumen de pedido) ----- */
.woocommerce table.shop_table {
	width: 100%; border-collapse: collapse; border: 1px solid var(--nz-border, #E4E4E4);
	border-radius: 14px; overflow: hidden; background: var(--nz-surface, #fff); margin: 0;
}
.woocommerce table.shop_table thead th {
	background: var(--nz-ink, #0B0B0B); color: #fff;
	font-family: var(--nz-font-head, sans-serif); font-weight: 700; text-transform: uppercase;
	letter-spacing: .04em; font-size: .78rem; text-align: left; padding: 14px 16px;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { padding: 16px; vertical-align: middle; }
.woocommerce table.shop_table tbody tr { border-bottom: 1px solid var(--nz-border, #E4E4E4); }
.woocommerce table.shop_table tbody tr:last-child { border-bottom: 0; }
.woocommerce table.shop_table .product-name a { color: var(--nz-ink, #0B0B0B); font-weight: 600; text-decoration: none; }
.woocommerce table.shop_table .product-name a:hover { color: var(--nz-primary, #E10600); }
.woocommerce table.shop_table .amount { font-family: var(--nz-font-head, sans-serif); font-weight: 700; color: var(--nz-ink, #0B0B0B); }
.woocommerce table.shop_table .product-thumbnail img { width: 64px; height: auto; border-radius: 8px; }
.woocommerce td.product-remove a.remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 50%; background: var(--nz-surface-alt, #F4F4F4);
	color: var(--nz-muted, #6B6F76) !important; font-size: 18px; line-height: 1; text-decoration: none;
	transition: background .15s, color .15s;
}
.woocommerce td.product-remove a.remove:hover { background: var(--nz-primary, #E10600); color: #fff !important; }
.woocommerce .quantity .qty {
	width: 74px; padding: 10px; border: 1px solid var(--nz-border, #E4E4E4); border-radius: 8px;
	text-align: center; font-weight: 600;
}

/* ----- Carro: layout en 2 columnas (items | totales) ----- */
.woocommerce-cart .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; margin: 0; }
.woocommerce-cart .cart-collaterals { grid-column: 2; width: auto; float: none; margin: 0; }
.woocommerce-cart table.cart td.actions {
	padding-top: 18px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: space-between; background: transparent;
}
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 10px; }
.woocommerce-cart table.cart td.actions .coupon #coupon_code {
	padding: 11px 14px; border: 1px solid var(--nz-border, #E4E4E4); border-radius: 8px; min-width: 160px;
}

/* Caja de totales del carro */
.woocommerce-cart .cart_totals {
	background: var(--nz-surface, #fff); border: 1px solid var(--nz-border, #E4E4E4);
	border-radius: 16px; padding: 24px; position: sticky; top: 24px;
	box-shadow: 0 30px 60px -44px rgba(11,11,11,.3);
}
.woocommerce-cart .cart_totals h2 { margin: 0 0 16px; font-size: 1.25rem; }
.woocommerce-cart .cart_totals table.shop_table { border: 0; border-radius: 0; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { padding: 12px 0; border-bottom: 1px solid var(--nz-border, #E4E4E4); background: transparent; }
.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td { border-bottom: 0; padding-top: 16px; }
.woocommerce-cart .cart_totals tr.order-total .amount { color: var(--nz-primary, #E10600); font-size: 1.4rem; }
.woocommerce-cart .wc-proceed-to-checkout { padding-top: 18px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; font-size: 1.05rem; }

/* ----- Checkout: layout en 2 columnas (datos | resumen) ----- */
.woocommerce-checkout form.checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 40px; align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 16px; font-size: 1.25rem; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 24px; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
.woocommerce-checkout .col2-set .col-1 { margin-bottom: 28px; }

/* Campos del formulario */
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label { display: block; font-family: var(--nz-font-head, sans-serif); font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.woocommerce form .form-row .required { color: var(--nz-primary, #E10600); border: 0; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce #order_comments {
	width: 100%; padding: 12px 14px; border: 1px solid var(--nz-border, #E4E4E4);
	border-radius: 10px; background: #fff; font: inherit; color: var(--nz-text, #1A1D21);
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: 0; border-color: var(--nz-steel, #2A6BFF); box-shadow: 0 0 0 3px rgba(42,107,255,.16);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--nz-primary, #E10600); }
.woocommerce .select2-container .select2-selection--single {
	height: auto; padding: 6px 8px; border: 1px solid var(--nz-border, #E4E4E4); border-radius: 10px;
}

/* Resumen de pedido (tarjeta oscura sutil) */
.woocommerce-checkout #order_review {
	background: var(--nz-surface, #fff); border: 1px solid var(--nz-border, #E4E4E4);
	border-radius: 16px; padding: 24px; box-shadow: 0 30px 60px -44px rgba(11,11,11,.3);
}
.woocommerce-checkout #order_review table.shop_table { border: 0; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { padding: 12px 0; background: transparent; border-bottom: 1px solid var(--nz-border, #E4E4E4); }
.woocommerce-checkout #order_review table.shop_table thead th { background: transparent; color: var(--nz-ink, #0B0B0B); padding: 0 0 12px; }
.woocommerce-checkout #order_review tr.order-total th,
.woocommerce-checkout #order_review tr.order-total td { border-bottom: 0; padding-top: 16px; }
.woocommerce-checkout #order_review tr.order-total .amount { color: var(--nz-primary, #E10600); font-size: 1.35rem; }

/* Metodos de pago */
.woocommerce-checkout #payment { background: var(--nz-surface-alt, #F4F4F4); border-radius: 12px; padding: 18px; margin-top: 18px; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0 0 12px; padding: 0; border: 0; }
.woocommerce-checkout #payment ul.payment_methods li { margin-bottom: 8px; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 8px; padding: 14px; font-size: .9rem; color: var(--nz-muted, #6B6F76); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .form-row.place-order { margin: 0; padding-top: 6px; }
.woocommerce-checkout #payment #place_order { width: 100%; font-size: 1.05rem; }

/* Avisos (notices) acordes a la marca */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: 12px; border-top: 3px solid var(--nz-primary, #E10600);
	background: var(--nz-surface-alt, #F4F4F4); padding: 16px 20px; list-style: none;
}
.woocommerce-error { border-top-color: var(--nz-primary, #E10600); }

/* Carro vacio */
.woocommerce .cart-empty.woocommerce-info { text-align: center; }
.woocommerce .return-to-shop { margin-top: 16px; }

/* ========================================================================
 * Valoraciones (reseñas) en la ficha de producto
 * ===================================================================== */
.woocommerce #reviews #comments { margin: 0 0 8px; }
.woocommerce #reviews h2.woocommerce-Reviews-title { margin: 0 0 16px; }

/* Aviso "No hay valoraciones aún" acorde a la marca (anula el azul base) */
.woocommerce .woocommerce-noreviews,
.woocommerce #reviews .woocommerce-noreviews,
.woocommerce p.no-comments {
	background: var(--nz-surface-alt, #F4F4F4); color: var(--nz-ink, #0B0B0B);
	border-radius: 12px; border-top: 3px solid var(--nz-primary, #E10600);
	padding: 16px 20px; margin: 0 0 24px; font-weight: 500; list-style: none;
}
.woocommerce .woocommerce-noreviews::before { display: none; }

/* Estrellas del formulario de valoracion en rojo de marca */
.woocommerce #review_form p.stars a::before { color: var(--nz-muted, #6B6F76); opacity: .35; }
.woocommerce #review_form p.stars:hover a::before,
.woocommerce #review_form p.stars.selected a.active::before,
.woocommerce #review_form p.stars.selected a:not(.active)::before {
	color: var(--nz-primary, #E10600); opacity: 1;
}
.woocommerce #review_form p.stars a:hover ~ a::before,
.woocommerce #review_form p.stars.selected a.active ~ a::before {
	color: var(--nz-muted, #6B6F76); opacity: .35;
}

/* Formulario de reseña */
.woocommerce #review_form #respond { margin: 0; }
.woocommerce #reviews #respond .comment-reply-title {
	display: block; font-family: var(--nz-font-head, sans-serif); font-weight: 600; font-size: 1.05rem; margin: 0 0 14px;
}
.woocommerce #review_form #respond .comment-notes { color: var(--nz-muted, #6B6F76); font-size: .92rem; }
.woocommerce #review_form #respond p.stars { margin: 4px 0 18px; font-size: 1.5rem; }
.woocommerce #review_form #respond label {
	display: block; font-family: var(--nz-font-head, sans-serif); font-weight: 600; font-size: .9rem; margin-bottom: 6px;
}
.woocommerce #review_form #respond .comment-form-rating label { display: inline-block; }
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
	width: 100%; padding: 12px 14px; border: 1px solid var(--nz-border, #E4E4E4); border-radius: 10px;
	background: #fff; font: inherit; color: var(--nz-text, #1A1D21); transition: border-color .15s, box-shadow .15s;
}
.woocommerce #review_form #respond textarea:focus,
.woocommerce #review_form #respond input:focus {
	outline: 0; border-color: var(--nz-steel, #2A6BFF); box-shadow: 0 0 0 3px rgba(42,107,255,.16);
}
.woocommerce #review_form #respond .form-submit { margin-top: 6px; }
.woocommerce #review_form #respond .form-submit input#submit,
.woocommerce #review_form #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--nz-primary, #E10600); color: #fff;
	font-family: var(--nz-font-head, sans-serif); font-weight: 700; font-style: italic;
	text-transform: uppercase; letter-spacing: .02em;
	border: 0; border-radius: 0; padding: 13px 30px 13px 26px; cursor: pointer; box-shadow: none;
	clip-path: polygon(0 0, 100% 0, calc(100% - 15px) 100%, 0 100%);
	transition: background .15s ease, transform .12s ease;
}
.woocommerce #review_form #respond input#submit:hover {
	background: var(--nz-primary-dark, #B00500); color: #fff; transform: translateY(-1px);
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
	.woocommerce-cart .entry-content > .woocommerce { grid-template-columns: 1fr; gap: 28px; }
	.woocommerce-cart .cart-collaterals,
	.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; }
	.woocommerce-cart .cart_totals { position: static; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	.woocommerce-checkout #order_review_heading { margin-top: 12px; }
}
@media (max-width: 880px) {
	.nz-about-intro__grid { grid-template-columns: 1fr; gap: 28px; }
	.nz-contact__grid { grid-template-columns: 1fr; gap: 28px; }
	.nz-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.nz-stat:nth-child(3) { border-left: 0; }
}
@media (max-width: 680px) {
	.nz-ctaband__inner { flex-direction: column; align-items: flex-start; }
	.nz-form__row { grid-template-columns: 1fr; }
	.nz-stats__grid { grid-template-columns: 1fr; }
	.nz-stat + .nz-stat { border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
}
