/* ==========================================================================
   QBP STOREFRONT — carrito, pago, pedido recibido y mi cuenta
   Usa las mismas variables del panel de ajustes: si cambias el preset,
   estas páginas cambian con él. Todo acotado a body.qbpsf-co.
   ========================================================================== */

body.qbpsf-co{
	--co-line:color-mix(in srgb, var(--qbpsf-text) 12%, transparent);
	--co-line-2:color-mix(in srgb, var(--qbpsf-text) 22%, transparent);
	--co-field:color-mix(in srgb, var(--qbpsf-text) 6%, var(--qbpsf-bg));
	--co-card:color-mix(in srgb, var(--qbpsf-text) 4%, var(--qbpsf-bg));
	--co-r:min(var(--qbpsf-radius), 14px);
	background:var(--qbpsf-bg);
	color:var(--qbpsf-text);
}

/* contenedor y título de la página */
body.qbpsf-co .site-content,
body.qbpsf-co #primary,
body.qbpsf-co .entry-content{background:transparent!important;color:var(--qbpsf-text)}
body.qbpsf-co .site-content > .ast-container{max-width:1160px;padding-left:clamp(18px,4vw,40px);padding-right:clamp(18px,4vw,40px)}
body.qbpsf-co #primary{padding-top:clamp(32px,6vh,72px)!important;padding-bottom:clamp(48px,8vh,96px)!important}
body.qbpsf-co .entry-header,
body.qbpsf-co .entry-content > .woocommerce,
body.qbpsf-co .entry-content > .wp-block-woocommerce-checkout,
body.qbpsf-co .entry-content > .wp-block-woocommerce-cart{max-width:1160px;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(18px,4vw,40px);padding-right:clamp(18px,4vw,40px)}
body.qbpsf-co .entry-header{margin-bottom:clamp(20px,3vw,36px)}
body.qbpsf-co .entry-title{
	font-family:var(--qbpsf-font-head);font-weight:800;letter-spacing:-.03em;line-height:1;
	font-size:clamp(2rem,4.6vw,3.4rem);color:var(--qbpsf-text)!important;
}
body.qbpsf-co .entry-content{font-family:var(--qbpsf-font-body)}
body.qbpsf-co .woocommerce{color:var(--qbpsf-text)}
body.qbpsf-co .woocommerce a:not(.button){color:var(--qbpsf-accent)}
body.qbpsf-co .woocommerce h2,
body.qbpsf-co .woocommerce h3{
	font-family:var(--qbpsf-font-head);font-weight:700;letter-spacing:-.01em;
	color:var(--qbpsf-text)!important;font-size:1.3rem;border:0!important;padding:0!important;margin:0 0 18px!important;
}

/* avisos: agregado al carrito, cupón, errores */
body.qbpsf-co .woocommerce-message,
body.qbpsf-co .woocommerce-info,
body.qbpsf-co .woocommerce-error{
	background:var(--co-card)!important;color:var(--qbpsf-text)!important;
	border:1px solid var(--co-line)!important;border-left:3px solid var(--qbpsf-accent)!important;
	border-radius:var(--co-r);padding:16px 20px 16px 52px!important;margin:0 0 22px!important;
	display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:15px;
}
body.qbpsf-co .woocommerce-error{border-left-color:#ff5d5d!important}
body.qbpsf-co .woocommerce-message::before,
body.qbpsf-co .woocommerce-info::before{color:var(--qbpsf-accent)!important;top:50%!important;transform:translateY(-50%);left:20px!important}
body.qbpsf-co .woocommerce-error::before{color:#ff5d5d!important}
body.qbpsf-co .woocommerce-message .button{order:2;margin-left:auto!important}
body.qbpsf-co .woocommerce-notices-wrapper:empty{display:none}

/* campos */
body.qbpsf-co .woocommerce form .form-row label,
body.qbpsf-co .woocommerce label{
	color:var(--qbpsf-muted)!important;font-size:13px;font-weight:600;margin-bottom:6px;line-height:1.3;
}
body.qbpsf-co .woocommerce .required{color:var(--qbpsf-accent)!important;text-decoration:none}
body.qbpsf-co .woocommerce form .form-row{padding:0;margin:0 0 16px}
body.qbpsf-co .woocommerce input.input-text,
body.qbpsf-co .woocommerce textarea,
body.qbpsf-co .woocommerce select,
body.qbpsf-co .woocommerce .select2-container .select2-selection--single{
	background:var(--co-field)!important;color:var(--qbpsf-text)!important;
	border:1px solid var(--co-line-2)!important;border-radius:var(--co-r)!important;
	min-height:48px;padding:12px 14px!important;font-size:15px;box-shadow:none!important;
	transition:border-color .15s;
}
body.qbpsf-co .woocommerce textarea{min-height:96px}
body.qbpsf-co .woocommerce input.input-text::placeholder,
body.qbpsf-co .woocommerce textarea::placeholder{color:var(--qbpsf-muted);opacity:.8}
body.qbpsf-co .woocommerce input.input-text:focus,
body.qbpsf-co .woocommerce textarea:focus,
body.qbpsf-co .woocommerce select:focus{border-color:var(--qbpsf-accent)!important;outline:none}
body.qbpsf-co .woocommerce .select2-container .select2-selection--single .select2-selection__rendered{color:var(--qbpsf-text)!important;line-height:22px;padding:0!important}
body.qbpsf-co .woocommerce .select2-container .select2-selection__arrow{height:46px!important;right:8px!important}
body.qbpsf-co .select2-dropdown{background:var(--qbpsf-bg);color:var(--qbpsf-text);border-color:var(--co-line-2)}
body.qbpsf-co .select2-results__option--highlighted{background:var(--qbpsf-accent)!important;color:var(--qbpsf-bg)!important}
body.qbpsf-co .select2-search__field{background:var(--co-field)!important;color:var(--qbpsf-text)!important;border-color:var(--co-line-2)!important}
body.qbpsf-co .woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#ff5d5d!important}

/* botones */
body.qbpsf-co .woocommerce .button,
body.qbpsf-co .woocommerce button.button,
body.qbpsf-co .woocommerce a.button,
body.qbpsf-co .woocommerce #place_order,
body.qbpsf-co .woocommerce .checkout-button{
	background:var(--qbpsf-accent)!important;color:var(--qbpsf-bg)!important;
	border:0!important;border-radius:var(--co-r)!important;
	font-family:var(--qbpsf-font-head);font-weight:700;letter-spacing:.01em;
	padding:14px 22px!important;line-height:1.2;box-shadow:none;transition:filter .15s,transform .15s;
}
body.qbpsf-co .woocommerce .button:hover,
body.qbpsf-co .woocommerce #place_order:hover{filter:brightness(1.1)}
body.qbpsf-co .woocommerce #place_order,
body.qbpsf-co .woocommerce .checkout-button{width:100%;font-size:17px!important;padding:18px 22px!important}
body.qbpsf-co .woocommerce .button:disabled,
body.qbpsf-co .woocommerce .button.disabled{opacity:.5}

/* PAGO — dos columnas: datos a la izquierda, resumen fijo a la derecha */
body.qbpsf-co form.woocommerce-checkout{
	display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto 1fr;
	column-gap:clamp(24px,4vw,56px);row-gap:0;align-items:start;
}
body.qbpsf-co form.woocommerce-checkout > *{grid-column:1}
body.qbpsf-co form.woocommerce-checkout #customer_details{width:100%!important;float:none!important;margin:0!important}
body.qbpsf-co form.woocommerce-checkout .col2-set .col-1,
body.qbpsf-co form.woocommerce-checkout .col2-set .col-2{float:none!important;width:100%!important;max-width:none!important;padding:0!important}
body.qbpsf-co form.woocommerce-checkout .col2-set .col-2{margin-top:12px}
body.qbpsf-co form.woocommerce-checkout #order_review_heading,
body.qbpsf-co form.woocommerce-checkout #order_review{grid-column:2;width:100%!important;float:none!important;margin:0}
body.qbpsf-co form.woocommerce-checkout #order_review_heading{grid-row:1}
body.qbpsf-co form.woocommerce-checkout #order_review{grid-row:2;position:sticky;top:32px}
body.qbpsf-co form.woocommerce-checkout #customer_details{grid-row:1 / 3}
body.qbpsf-co .woocommerce form .form-row .description{color:var(--qbpsf-muted)!important;font-size:12.5px;margin-top:6px;background:none!important;padding:0!important}
body.qbpsf-co .woocommerce form .form-row .description::before{display:none}
body.qbpsf-co .woocommerce-checkout .woocommerce-billing-fields > h3{margin-top:0!important}

body.qbpsf-co #order_review{
	background:var(--co-card)!important;border:1px solid var(--co-line)!important;
	border-radius:calc(var(--co-r) + 6px);padding:clamp(20px,2.4vw,30px)!important;
}
body.qbpsf-co #order_review_heading{padding:0!important;border:0!important}

/* tablas: resumen del pedido y carrito */
body.qbpsf-co .woocommerce table.shop_table{
	border:0!important;border-radius:0;margin:0 0 20px;background:transparent;border-collapse:collapse;color:var(--qbpsf-text);
}
body.qbpsf-co .woocommerce table.shop_table th,
body.qbpsf-co .woocommerce table.shop_table td{
	background:transparent!important;border:0!important;border-top:1px solid var(--co-line)!important;
	color:var(--qbpsf-text)!important;padding:14px 4px!important;vertical-align:middle;font-size:15px;
}
body.qbpsf-co .woocommerce table.shop_table thead th{
	border-top:0!important;color:var(--qbpsf-muted)!important;font-size:12px;font-weight:600;padding-top:0!important;
}
body.qbpsf-co .woocommerce table.shop_table .product-name{font-weight:600;line-height:1.35}
body.qbpsf-co .woocommerce table.shop_table .product-quantity{color:var(--qbpsf-muted);font-weight:400}
body.qbpsf-co .woocommerce table.shop_table td:last-child,
body.qbpsf-co .woocommerce table.shop_table th:last-child{text-align:right}
body.qbpsf-co .woocommerce table.shop_table tfoot th{color:var(--qbpsf-muted)!important;font-weight:500;text-align:left}
body.qbpsf-co .woocommerce table.shop_table .order-total th,
body.qbpsf-co .woocommerce table.shop_table .order-total td{
	font-family:var(--qbpsf-font-head);font-size:1.35rem!important;font-weight:800;color:var(--qbpsf-text)!important;
	border-top:1px solid var(--co-line-2)!important;
}

/* medios de pago */
body.qbpsf-co #payment{background:transparent!important;border-radius:0}
body.qbpsf-co #payment ul.payment_methods{padding:0!important;border:0!important;margin:0 0 18px!important;display:grid;gap:10px}
body.qbpsf-co #payment ul.payment_methods li{
	list-style:none;margin:0!important;padding:14px 16px!important;
	border:1px solid var(--co-line-2);border-radius:var(--co-r);background:var(--co-field);
	color:var(--qbpsf-text);transition:border-color .15s;
}
body.qbpsf-co #payment ul.payment_methods li:has(input:checked){border-color:var(--qbpsf-accent)}
body.qbpsf-co #payment ul.payment_methods li > label{
	color:var(--qbpsf-text)!important;font-size:15px;font-weight:600;margin:0!important;cursor:pointer;
	display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
}
body.qbpsf-co #payment ul.payment_methods li img{max-height:26px;width:auto;margin:0!important;vertical-align:middle}
body.qbpsf-co #payment ul.payment_methods li input[type=radio]{accent-color:var(--qbpsf-accent);margin-right:10px!important;vertical-align:middle}
body.qbpsf-co #payment div.payment_box{
	background:transparent!important;color:var(--qbpsf-muted)!important;
	padding:10px 0 0 28px!important;margin:0!important;font-size:14px;border:0!important;
}
body.qbpsf-co #payment div.payment_box::before{display:none!important}
body.qbpsf-co #payment div.payment_box p{margin:0}
body.qbpsf-co #payment .place-order{padding:0!important;margin:0!important;background:transparent!important}
body.qbpsf-co .woocommerce-privacy-policy-text,
body.qbpsf-co .woocommerce-terms-and-conditions-wrapper{color:var(--qbpsf-muted);font-size:13px;line-height:1.5;margin-bottom:16px}
body.qbpsf-co .woocommerce-privacy-policy-text p{margin:0}

/* CARRITO */
body.qbpsf-co .woocommerce-cart-form{margin-bottom:32px}
body.qbpsf-co .woocommerce table.cart img{width:64px!important;height:64px;object-fit:cover;border-radius:var(--co-r)}
body.qbpsf-co .woocommerce table.cart .product-remove a.remove{
	color:var(--qbpsf-muted)!important;border:1px solid var(--co-line-2);width:28px;height:28px;line-height:25px;border-radius:50%;font-size:18px;
}
body.qbpsf-co .woocommerce table.cart .product-remove a.remove:hover{background:#ff5d5d!important;border-color:#ff5d5d;color:#fff!important}
body.qbpsf-co .woocommerce table.cart .product-name a{color:var(--qbpsf-text)!important}
body.qbpsf-co .woocommerce table.cart td.actions{padding-top:20px!important}
body.qbpsf-co .woocommerce table.cart td.actions .coupon{display:flex;gap:10px;flex-wrap:wrap}
body.qbpsf-co .woocommerce table.cart td.actions .coupon .input-text{width:220px!important;margin:0!important}
body.qbpsf-co .woocommerce table.cart td.actions > .button{
	background:transparent!important;color:var(--qbpsf-text)!important;border:1px solid var(--co-line-2)!important;
}
body.qbpsf-co .woocommerce .quantity .qty{width:72px!important;text-align:center;min-height:42px}
body.qbpsf-co .woocommerce .cart-collaterals{display:flex;justify-content:flex-end}
body.qbpsf-co .woocommerce .cart-collaterals .cart_totals{
	width:min(460px,100%)!important;float:none!important;
	background:var(--co-card);border:1px solid var(--co-line);border-radius:calc(var(--co-r) + 6px);padding:clamp(20px,2.4vw,30px);
}
body.qbpsf-co .woocommerce .cart_totals .wc-proceed-to-checkout{padding:4px 0 0!important}
body.qbpsf-co .woocommerce .cart-empty,
body.qbpsf-co .woocommerce .return-to-shop{text-align:center}
body.qbpsf-co .woocommerce .return-to-shop .button{width:auto}

/* PEDIDO RECIBIDO */
body.qbpsf-co .woocommerce-order .woocommerce-thankyou-order-received,
body.qbpsf-co .woocommerce-order .woocommerce-notice--success{
	font-family:var(--qbpsf-font-head);font-weight:700;font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;
	color:var(--qbpsf-text);background:transparent!important;border:0!important;padding:0!important;margin:0 0 28px!important;
}
body.qbpsf-co .woocommerce ul.order_details{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;padding:0;margin:0 0 36px;
	background:var(--co-line);border:1px solid var(--co-line);border-radius:calc(var(--co-r) + 6px);overflow:hidden;
}
body.qbpsf-co .woocommerce ul.order_details li{
	list-style:none;float:none;margin:0;padding:16px 18px;border:0;background:var(--qbpsf-bg);
	color:var(--qbpsf-muted);font-size:12px;text-transform:none;
}
body.qbpsf-co .woocommerce ul.order_details li strong{display:block;color:var(--qbpsf-text);font-size:16px;margin-top:4px}
body.qbpsf-co .woocommerce .woocommerce-customer-details address{
	border:1px solid var(--co-line)!important;border-radius:var(--co-r);padding:18px!important;color:var(--qbpsf-text);background:var(--co-card);
}

/* MI CUENTA */
body.qbpsf-co .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
body.qbpsf-co .woocommerce-MyAccount-navigation a{
	display:block;padding:10px 14px;border-radius:var(--co-r);color:var(--qbpsf-muted)!important;
}
body.qbpsf-co .woocommerce-MyAccount-navigation .is-active a{background:var(--co-card);color:var(--qbpsf-text)!important;box-shadow:inset 0 0 0 1px var(--co-line-2)}
body.qbpsf-co .woocommerce form.login,
body.qbpsf-co .woocommerce form.register{border:1px solid var(--co-line)!important;border-radius:calc(var(--co-r) + 6px);background:var(--co-card)}

/* móvil: una columna, el resumen primero para ver qué se está pagando */
@media (max-width:900px){
	body.qbpsf-co form.woocommerce-checkout{display:flex;flex-direction:column;gap:0}
	body.qbpsf-co form.woocommerce-checkout #order_review_heading{order:1;margin-top:28px!important}
	body.qbpsf-co form.woocommerce-checkout #order_review{order:2;position:static}
	body.qbpsf-co form.woocommerce-checkout #customer_details{order:0}
	body.qbpsf-co .woocommerce table.cart td.actions .coupon .input-text{width:100%!important}
	body.qbpsf-co .woocommerce table.shop_table_responsive tr td::before{color:var(--qbpsf-muted)}
	body.qbpsf-co .woocommerce table.shop_table_responsive tr{border-top:1px solid var(--co-line)}
}
@media (prefers-reduced-motion:reduce){body.qbpsf-co *{transition:none!important}}

/* Astra pinta fondos claros en encabezados de tabla y títulos de totales */
body.qbpsf-co .woocommerce table.shop_table thead,
body.qbpsf-co .woocommerce table.shop_table thead tr,
body.qbpsf-co .woocommerce table.shop_table thead th,
body.qbpsf-co .woocommerce .cart_totals > h2,
body.qbpsf-co .woocommerce-page .cart_totals h2{background:transparent!important;background-color:transparent!important}
body.qbpsf-co .woocommerce .cart_totals > h2{padding:0!important;margin-bottom:14px!important}
body.qbpsf-co .woocommerce-message,
body.qbpsf-co .woocommerce-info,
body.qbpsf-co .woocommerce-error{outline:0!important;box-shadow:none!important;border-top:1px solid var(--co-line)!important;border-right:1px solid var(--co-line)!important;border-bottom:1px solid var(--co-line)!important}
body.qbpsf-co .woocommerce table.cart .product-thumbnail img{background:var(--co-field)}

/* Hello Elementor: mismo ancho y márgenes que con Astra */
body.qbpsf.qbpsf-co main#content.site-main{max-width:1160px!important;margin-left:auto!important;margin-right:auto!important;padding:clamp(28px,5vh,64px) clamp(18px,4vw,40px) clamp(48px,8vh,96px)!important;width:100%}
body.qbpsf-co main.site-main .page-header{max-width:none;padding:0;margin:0 0 clamp(20px,3vw,36px)}
body.qbpsf-co main.site-main .page-content > .woocommerce{max-width:none;padding:0}
body.qbpsf-co main.site-main .entry-title{margin:0}
