/**
 * BLACKPANEL Checkout Ecommerce V1.1.0-beta
 * Capa visual: no modifica Store API, campos, pasarelas ni eventos.
 */

body.bp-checkout-page{
	background:var(--bp-checkout-white);
	color:var(--bp-checkout-text);
	font-family:var(--bp-checkout-font);
}

body.bp-checkout-page *,
body.bp-checkout-page *::before,
body.bp-checkout-page *::after{
	box-sizing:border-box;
}

body.bp-checkout-page .wp-block-woocommerce-checkout,
body.bp-checkout-page .wp-block-woocommerce-checkout *,
body.bp-checkout-page .woocommerce-checkout,
body.bp-checkout-page .woocommerce-checkout *,
body.bp-checkout-page .woocommerce{
	font-family:var(--bp-checkout-font)!important;
}

body.bp-checkout-page.bp-checkout-hide-breadcrumbs .woocommerce-breadcrumb,
body.bp-checkout-page.bp-checkout-hide-breadcrumbs .ast-breadcrumbs-wrapper,
body.bp-checkout-page.bp-checkout-hide-breadcrumbs .ast-breadcrumbs,
body.bp-checkout-page.bp-checkout-hide-breadcrumbs .rank-math-breadcrumb,
body.bp-checkout-page.bp-checkout-hide-breadcrumbs .yoast-breadcrumb{
	display:none!important;
}

body.bp-checkout-page.bp-checkout-hide-theme-title .ast-page-title-bar,
body.bp-checkout-page.bp-checkout-hide-theme-title .entry-header,
body.bp-checkout-page.bp-checkout-hide-theme-title .page-title{
	display:none!important;
}

body.bp-checkout-page.bp-checkout-hide-sidebar #secondary,
body.bp-checkout-page.bp-checkout-hide-sidebar .widget-area,
body.bp-checkout-page.bp-checkout-hide-sidebar .sidebar-main{
	display:none!important;
}

body.bp-checkout-page.bp-checkout-hide-sidebar #primary,
body.bp-checkout-page.bp-checkout-hide-sidebar .content-area,
body.bp-checkout-page.bp-checkout-hide-sidebar .site-main,
body.bp-checkout-page.bp-checkout-hide-sidebar .entry-content{
	width:100%!important;
	max-width:none!important;
	float:none!important;
	margin-inline:auto!important;
	padding-inline:0!important;
}

body.bp-checkout-page .wp-block-woocommerce-checkout,
body.bp-checkout-page.bp-checkout-mode-classic .woocommerce{
	width:min(calc(100% - 40px),var(--bp-checkout-width));
	max-width:var(--bp-checkout-width);
	margin:clamp(28px,4vw,56px) auto 72px;
	padding:0!important;
	color:var(--bp-checkout-text);
}

/* Checkout Block: una sola composición, no tarjetas aisladas. */
body.bp-checkout-page .wc-block-components-sidebar-layout{
	display:grid!important;
	grid-template-columns:minmax(0,var(--bp-checkout-main-fr)) minmax(340px,var(--bp-checkout-summary-fr));
	gap:0!important;
	align-items:stretch!important;
	width:100%!important;
	overflow:visible!important;
	background:var(--bp-checkout-white);
	border:1px solid var(--bp-checkout-border);
	border-radius:var(--bp-checkout-radius);
	box-shadow:0 18px 52px rgba(17,24,39,calc(var(--bp-checkout-shadow)*.0025));
}

body.bp-checkout-page .wc-block-components-main,
body.bp-checkout-page .wc-block-checkout__main{
	grid-column:1!important;
	grid-row:1!important;
	width:auto!important;
	min-width:0!important;
	max-width:none!important;
	margin:0!important;
	padding:clamp(32px,4vw,54px)!important;
	background:var(--bp-checkout-white);
	border-radius:var(--bp-checkout-radius) 0 0 var(--bp-checkout-radius);
}

body.bp-checkout-page .wc-block-components-sidebar,
body.bp-checkout-page .wc-block-checkout__sidebar{
	grid-column:2!important;
	grid-row:1!important;
	width:auto!important;
	min-width:0!important;
	max-width:none!important;
	margin:0!important;
	padding:clamp(28px,3vw,40px)!important;
	background:var(--bp-checkout-soft);
	border-left:1px solid var(--bp-checkout-border);
	border-radius:0 var(--bp-checkout-radius) var(--bp-checkout-radius) 0;
}

body.bp-checkout-page .wc-block-components-checkout-step,
body.bp-checkout-page .wc-block-checkout__shipping-method,
body.bp-checkout-page .wc-block-checkout__payment-method,
body.bp-checkout-page .wc-block-checkout__order-notes{
	margin:0 0 clamp(26px,3vw,38px)!important;
	padding:0 0 clamp(26px,3vw,38px)!important;
	background:transparent!important;
	border:0!important;
	border-bottom:1px solid var(--bp-checkout-border)!important;
	border-radius:0!important;
	box-shadow:none!important;
}

body.bp-checkout-page .wc-block-components-checkout-step:last-child,
body.bp-checkout-page .wc-block-checkout__order-notes:last-child{
	margin-bottom:0!important;
	padding-bottom:0!important;
	border-bottom:0!important;
}

body.bp-checkout-page .wc-block-components-checkout-step__heading{
	margin:0 0 18px!important;
	padding:0!important;
}

body.bp-checkout-page .wc-block-components-checkout-step__title,
body.bp-checkout-page .wc-block-components-title{
	margin:0!important;
	color:var(--bp-checkout-text)!important;
	font-size:clamp(20px,1.8vw,25px)!important;
	font-weight:800!important;
	letter-spacing:-.025em!important;
	line-height:1.2!important;
}

body.bp-checkout-page .wc-block-components-checkout-step__description,
body.bp-checkout-page .wc-block-components-product-metadata,
body.bp-checkout-page .wc-block-components-formatted-money-amount,
body.bp-checkout-page .wc-block-components-address-card address{
	color:var(--bp-checkout-muted);
	font-size:13px;
	line-height:1.55;
}

body.bp-checkout-page .wc-block-components-text-input input,
body.bp-checkout-page .wc-block-components-combobox .components-combobox-control__input,
body.bp-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select,
body.bp-checkout-page .wc-block-components-textarea{
	min-height:52px!important;
	color:var(--bp-checkout-text)!important;
	background:var(--bp-checkout-white)!important;
	border:1px solid var(--bp-checkout-border)!important;
	border-radius:9px!important;
	box-shadow:none!important;
	font-size:15px!important;
	line-height:1.35!important;
}

body.bp-checkout-page .wc-block-components-textarea{
	min-height:96px!important;
}

body.bp-checkout-page .wc-block-components-text-input input:hover,
body.bp-checkout-page .wc-block-components-combobox .components-combobox-control__input:hover,
body.bp-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select:hover,
body.bp-checkout-page .wc-block-components-textarea:hover{
	border-color:var(--bp-checkout-muted)!important;
}

body.bp-checkout-page .wc-block-components-text-input input:focus,
body.bp-checkout-page .wc-block-components-combobox .components-combobox-control__input:focus,
body.bp-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.bp-checkout-page .wc-block-components-textarea:focus{
	border-color:var(--bp-checkout-orange)!important;
	box-shadow:0 0 0 3px rgba(237,109,24,.13)!important;
	outline:0!important;
}

body.bp-checkout-page .wc-block-components-text-input label,
body.bp-checkout-page .wc-block-components-checkbox__label,
body.bp-checkout-page .wc-block-components-radio-control__label{
	color:var(--bp-checkout-text)!important;
	font-size:13px!important;
	font-weight:600!important;
}

body.bp-checkout-page .wc-block-components-radio-control-accordion-option,
body.bp-checkout-page .wc-block-components-radio-control__option{
	margin:0 0 10px!important;
	overflow:visible!important;
	background:var(--bp-checkout-white)!important;
	border:1px solid var(--bp-checkout-border)!important;
	border-radius:10px!important;
	box-shadow:none!important;
	transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

body.bp-checkout-page .wc-block-components-radio-control-accordion-option:has(input:checked),
body.bp-checkout-page .wc-block-components-radio-control__option:has(input:checked){
	background:#fff8f3!important;
	border-color:var(--bp-checkout-orange)!important;
	box-shadow:0 0 0 1px var(--bp-checkout-orange)!important;
}

body.bp-checkout-page .wc-block-components-radio-control__input:checked{
	border-color:var(--bp-checkout-orange)!important;
	background:var(--bp-checkout-orange)!important;
}

body.bp-checkout-page .wc-block-components-radio-control-accordion-content{
	padding:18px 18px 20px!important;
	overflow:visible!important;
	background:var(--bp-checkout-white)!important;
	border-top:1px solid var(--bp-checkout-border)!important;
}

body.bp-checkout-page .wc-block-checkout__create-account,
body.bp-checkout-page .wc-block-checkout__login-prompt,
body.bp-checkout-page .wc-block-components-checkout-step--account{
	margin-top:16px;
	padding:16px 18px;
	background:#fffaf6;
	border:1px solid #f3c8aa;
	border-radius:10px;
}

body.bp-checkout-page .wc-block-components-validation-error{
	color:var(--bp-checkout-error)!important;
	font-size:12px!important;
	font-weight:700!important;
}

/* Resumen compacto. */
body.bp-checkout-page .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary-block,
body.bp-checkout-page .wc-block-components-sidebar .wc-block-components-checkout-order-summary-block,
body.bp-checkout-page .wc-block-checkout__sidebar>div,
body.bp-checkout-page .wc-block-components-sidebar>div{
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
}

body.bp-checkout-page .wc-block-components-sidebar .wc-block-components-title,
body.bp-checkout-page .wc-block-checkout__sidebar .wc-block-components-title{
	font-size:19px!important;
	font-weight:800!important;
}

body.bp-checkout-page .wc-block-components-order-summary{
	padding:0!important;
}

body.bp-checkout-page .wc-block-components-order-summary-item{
	padding:18px 0!important;
	border-bottom:1px solid var(--bp-checkout-border);
}

body.bp-checkout-page .wc-block-components-order-summary-item__image{
	width:64px!important;
	height:64px!important;
	overflow:hidden;
	background:var(--bp-checkout-white);
	border:1px solid var(--bp-checkout-border);
	border-radius:9px;
}

body.bp-checkout-page .wc-block-components-order-summary-item__image img{
	width:100%;
	height:100%;
	object-fit:contain;
}

body.bp-checkout-page .wc-block-components-order-summary-item__description{
	font-size:13px!important;
	line-height:1.4!important;
}

body.bp-checkout-page .wc-block-components-totals-wrapper{
	padding-block:15px!important;
	border-color:var(--bp-checkout-border)!important;
}

body.bp-checkout-page .wc-block-components-totals-item{
	font-size:13px!important;
}

body.bp-checkout-page .wc-block-components-totals-footer-item{
	color:var(--bp-checkout-text);
	font-size:18px!important;
	font-weight:800!important;
}

body.bp-checkout-page .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount{
	color:var(--bp-checkout-orange)!important;
	font-size:23px!important;
	font-weight:850!important;
}

body.bp-checkout-page .wc-block-components-checkout-place-order-button{
	width:100%!important;
	min-height:54px!important;
	padding-inline:22px!important;
	color:var(--bp-checkout-white)!important;
	background:var(--bp-checkout-orange)!important;
	border:1px solid var(--bp-checkout-orange)!important;
	border-radius:10px!important;
	font-size:15px!important;
	font-weight:800!important;
	letter-spacing:0!important;
	text-transform:none!important;
	box-shadow:none!important;
}

body.bp-checkout-page .wc-block-components-checkout-place-order-button:hover{
	filter:brightness(.95);
	transform:translateY(-1px);
}

body.bp-checkout-page .wc-block-components-checkout-place-order-button:focus{
	outline:3px solid rgba(237,109,24,.25)!important;
	outline-offset:2px;
}

body.bp-checkout-page .wc-block-components-checkout-place-order-button:disabled{
	opacity:.52!important;
	cursor:not-allowed!important;
	transform:none!important;
}

body.bp-checkout-page .wc-block-components-radio-control-accordion-content,
body.bp-checkout-page .wc-block-components-payment-methods,
body.bp-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control{
	overflow:visible!important;
}

/* Checkout clásico. */
body.bp-checkout-page form.woocommerce-checkout{
	display:grid;
	grid-template-columns:minmax(0,var(--bp-checkout-main-fr)) minmax(340px,var(--bp-checkout-summary-fr));
	gap:0;
	align-items:stretch;
	overflow:visible;
	background:var(--bp-checkout-white);
	border:1px solid var(--bp-checkout-border);
	border-radius:var(--bp-checkout-radius);
	box-shadow:0 18px 52px rgba(17,24,39,calc(var(--bp-checkout-shadow)*.0025));
}

body.bp-checkout-page form.woocommerce-checkout #customer_details{
	grid-column:1;
	grid-row:1 / span 3;
	display:grid;
	gap:0;
	min-width:0;
	padding:clamp(32px,4vw,54px);
	background:var(--bp-checkout-white);
	border-radius:var(--bp-checkout-radius) 0 0 var(--bp-checkout-radius);
}

body.bp-checkout-page form.woocommerce-checkout #order_review_heading{
	grid-column:2;
	grid-row:1;
	margin:0;
	padding:clamp(28px,3vw,40px) clamp(28px,3vw,40px) 10px;
	color:var(--bp-checkout-text);
	background:var(--bp-checkout-soft);
	border:0;
	border-left:1px solid var(--bp-checkout-border);
	border-radius:0 var(--bp-checkout-radius) 0 0;
	font-size:19px;
	font-weight:800;
}

body.bp-checkout-page form.woocommerce-checkout #order_review{
	grid-column:2;
	grid-row:2;
	margin:0;
	padding:16px clamp(28px,3vw,40px) clamp(28px,3vw,40px);
	overflow:visible;
	background:var(--bp-checkout-soft);
	border:0;
	border-left:1px solid var(--bp-checkout-border);
	border-radius:0 0 var(--bp-checkout-radius) 0;
	box-shadow:none;
}

body.bp-checkout-page .woocommerce-billing-fields,
body.bp-checkout-page .woocommerce-shipping-fields,
body.bp-checkout-page .woocommerce-additional-fields,
body.bp-checkout-page .woocommerce-account-fields{
	margin:0 0 clamp(26px,3vw,38px);
	padding:0 0 clamp(26px,3vw,38px);
	background:transparent;
	border:0;
	border-bottom:1px solid var(--bp-checkout-border);
	border-radius:0;
	box-shadow:none;
}

body.bp-checkout-page .woocommerce-account-fields{
	padding:16px 18px;
	background:#fffaf6;
	border:1px solid #f3c8aa;
	border-radius:10px;
}

body.bp-checkout-page .woocommerce-checkout h3{
	margin-top:0;
	color:var(--bp-checkout-text);
	font-size:clamp(20px,1.8vw,25px);
	font-weight:800;
	letter-spacing:-.025em;
	line-height:1.2;
}

body.bp-checkout-page .woocommerce-checkout .form-row label{
	color:var(--bp-checkout-text);
	font-size:13px;
	font-weight:600;
}

body.bp-checkout-page .woocommerce-checkout .input-text,
body.bp-checkout-page .woocommerce-checkout select,
body.bp-checkout-page .woocommerce-checkout .select2-selection{
	min-height:52px!important;
	color:var(--bp-checkout-text)!important;
	background:var(--bp-checkout-white)!important;
	border:1px solid var(--bp-checkout-border)!important;
	border-radius:9px!important;
	box-shadow:none!important;
	font-size:15px!important;
}

body.bp-checkout-page .woocommerce-checkout .input-text:focus,
body.bp-checkout-page .woocommerce-checkout select:focus,
body.bp-checkout-page .woocommerce-checkout .select2-container--open .select2-selection{
	border-color:var(--bp-checkout-orange)!important;
	box-shadow:0 0 0 3px rgba(237,109,24,.13)!important;
	outline:0!important;
}

body.bp-checkout-page #payment{
	overflow:visible!important;
	background:transparent!important;
}

body.bp-checkout-page #payment ul.payment_methods{
	padding:0!important;
	border:0!important;
}

body.bp-checkout-page #payment ul.payment_methods>li{
	margin:0 0 10px!important;
	padding:15px 16px!important;
	overflow:visible!important;
	background:var(--bp-checkout-white);
	border:1px solid var(--bp-checkout-border);
	border-radius:10px;
}

body.bp-checkout-page #payment ul.payment_methods>li:has(input:checked){
	background:#fff8f3;
	border-color:var(--bp-checkout-orange);
	box-shadow:0 0 0 1px var(--bp-checkout-orange);
}

body.bp-checkout-page #payment div.payment_box{
	overflow:visible!important;
	background:var(--bp-checkout-white)!important;
	border:1px solid var(--bp-checkout-border)!important;
	border-radius:9px!important;
}

body.bp-checkout-page #payment div.payment_box::before{
	border-bottom-color:var(--bp-checkout-border)!important;
}

body.bp-checkout-page #place_order{
	width:100%!important;
	min-height:54px!important;
	color:var(--bp-checkout-white)!important;
	background:var(--bp-checkout-orange)!important;
	border:1px solid var(--bp-checkout-orange)!important;
	border-radius:10px!important;
	font-size:15px!important;
	font-weight:800!important;
	box-shadow:none!important;
}

body.bp-checkout-page .woocommerce-error{
	color:var(--bp-checkout-error);
	background:#fff5f4;
	border-color:var(--bp-checkout-error);
}

body.bp-checkout-page .woocommerce-message{
	color:var(--bp-checkout-success);
	background:#f2fbf6;
	border-color:var(--bp-checkout-success);
}

@media(min-width:1025px){
	body.bp-checkout-page.bp-checkout-sticky-summary .wc-block-checkout__sidebar,
	body.bp-checkout-page.bp-checkout-sticky-summary .wc-block-components-sidebar{
		position:sticky;
		top:var(--bp-checkout-sticky-top);
		align-self:start;
	}

	body.bp-checkout-page.bp-checkout-sticky-summary form.woocommerce-checkout #order_review{
		position:sticky;
		top:calc(var(--bp-checkout-sticky-top) + 58px);
		align-self:start;
	}
}

@container (max-width: 820px){
	body.bp-checkout-page .wc-block-components-sidebar-layout{
		grid-template-columns:minmax(0,1fr)!important;
	}

	body.bp-checkout-page .wc-block-components-main,
	body.bp-checkout-page .wc-block-checkout__main{
		grid-column:1!important;
		grid-row:1!important;
		padding:30px!important;
		border-radius:var(--bp-checkout-radius) var(--bp-checkout-radius) 0 0;
	}

	body.bp-checkout-page .wc-block-components-sidebar,
	body.bp-checkout-page .wc-block-checkout__sidebar{
		grid-column:1!important;
		grid-row:2!important;
		padding:30px!important;
		border-top:1px solid var(--bp-checkout-border);
		border-left:0;
		border-radius:0 0 var(--bp-checkout-radius) var(--bp-checkout-radius);
	}
}

@media(max-width:1024px){
	body.bp-checkout-page .wc-block-components-sidebar-layout,
	body.bp-checkout-page form.woocommerce-checkout{
		grid-template-columns:minmax(0,1fr)!important;
	}

	body.bp-checkout-page .wc-block-components-main,
	body.bp-checkout-page .wc-block-checkout__main{
		grid-column:1!important;
		grid-row:1!important;
		width:100%!important;
		padding:30px!important;
		border-radius:var(--bp-checkout-radius) var(--bp-checkout-radius) 0 0;
	}

	body.bp-checkout-page .wc-block-components-sidebar,
	body.bp-checkout-page .wc-block-checkout__sidebar{
		grid-column:1!important;
		grid-row:2!important;
		width:100%!important;
		padding:30px!important;
		border-top:1px solid var(--bp-checkout-border);
		border-left:0;
		border-radius:0 0 var(--bp-checkout-radius) var(--bp-checkout-radius);
	}

	body.bp-checkout-page form.woocommerce-checkout #customer_details,
	body.bp-checkout-page form.woocommerce-checkout #order_review_heading,
	body.bp-checkout-page form.woocommerce-checkout #order_review{
		grid-column:1;
		grid-row:auto;
	}

	body.bp-checkout-page form.woocommerce-checkout #customer_details{
		padding:30px;
		border-radius:var(--bp-checkout-radius) var(--bp-checkout-radius) 0 0;
	}

	body.bp-checkout-page form.woocommerce-checkout #order_review_heading,
	body.bp-checkout-page form.woocommerce-checkout #order_review{
		padding-inline:30px;
		border-left:0;
		border-radius:0;
	}

	body.bp-checkout-page form.woocommerce-checkout #order_review_heading{
		padding-top:30px;
		border-top:1px solid var(--bp-checkout-border);
	}

	body.bp-checkout-page form.woocommerce-checkout #order_review{
		padding-bottom:30px;
		border-radius:0 0 var(--bp-checkout-radius) var(--bp-checkout-radius);
	}
}

@media(max-width:680px){
	body.bp-checkout-page .wp-block-woocommerce-checkout,
	body.bp-checkout-page.bp-checkout-mode-classic .woocommerce{
		width:min(calc(100% - 20px),var(--bp-checkout-width));
		margin-top:18px;
		margin-bottom:40px;
	}

	body.bp-checkout-page .wc-block-components-sidebar-layout,
	body.bp-checkout-page form.woocommerce-checkout{
		border-radius:0;
		border-inline:0;
		box-shadow:none;
	}

	body.bp-checkout-page .wc-block-components-main,
	body.bp-checkout-page .wc-block-checkout__main,
	body.bp-checkout-page .wc-block-components-sidebar,
	body.bp-checkout-page .wc-block-checkout__sidebar,
	body.bp-checkout-page form.woocommerce-checkout #customer_details,
	body.bp-checkout-page form.woocommerce-checkout #order_review_heading,
	body.bp-checkout-page form.woocommerce-checkout #order_review{
		padding-inline:20px!important;
	}

	body.bp-checkout-page .wc-block-components-checkout-step,
	body.bp-checkout-page .wc-block-checkout__shipping-method,
	body.bp-checkout-page .wc-block-checkout__payment-method,
	body.bp-checkout-page .wc-block-checkout__order-notes{
		margin-bottom:24px!important;
		padding-bottom:24px!important;
	}

	body.bp-checkout-page .wc-block-components-checkout-step__title,
	body.bp-checkout-page .wc-block-components-title,
	body.bp-checkout-page .woocommerce-checkout h3{
		font-size:20px!important;
	}
}

@media(prefers-reduced-motion:reduce){
	body.bp-checkout-page *,
	body.bp-checkout-page *::before,
	body.bp-checkout-page *::after{
		scroll-behavior:auto!important;
		transition:none!important;
		transform:none!important;
	}
}
