.awp-configurator { --awp-accent: var(--aw-accent, #6d28d9); margin: 28px 0; padding: clamp(20px, 3vw, 30px); border: 1px solid #e4e4e7; border-radius: 18px; background: #fff; box-shadow: 0 16px 45px rgb(24 24 27 / 7%); }
.awp-configurator-heading { margin-bottom: 22px; }
.awp-configurator-heading > span { color: var(--awp-accent); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.awp-configurator-heading h2 { margin: 4px 0 0 !important; font-size: clamp(24px, 4vw, 34px); }
.awp-size-choice { position: relative; margin-bottom: 22px; }
.awp-size-choice-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.awp-size-choice-head > div { display: flex; align-items: center; gap: 9px; }
.awp-size-choice-head strong { color: #18181b; font-size: 14px; }
.awp-size-choice-head small { color: #71717a; font-size: 11px; }
.awp-step-number { display: inline-grid; place-items: center; flex: 0 0 auto; width: 24px; height: 24px; margin-right: 7px; border-radius: 50%; color: #fff; background: var(--awp-accent); font-size: 11px; font-style: normal; }
.awp-size-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 9px; }
.awp-size-card { position: relative; display: grid; grid-template-columns: 60px 1fr; align-items: center; min-height: 82px; padding: 11px; overflow: hidden; border: 1px solid #e4e4e7; border-radius: 12px; color: #27272a; background: #fff; box-shadow: 0 2px 7px rgb(24 24 27 / 4%); text-align: left; cursor: pointer; transition: .16s ease; }
.awp-size-card:hover { border-color: #a78bfa; transform: translateY(-1px); box-shadow: 0 8px 18px rgb(109 40 217 / 10%); }
.awp-size-card.is-active { border-color: var(--awp-accent); background: color-mix(in srgb, var(--awp-accent) 5%, #fff); box-shadow: 0 0 0 2px color-mix(in srgb, var(--awp-accent) 18%, transparent); }
.awp-size-visual { display: grid; place-items: center; width: 52px; height: 54px; border-radius: 8px; background: #f4f4f5; }
.awp-size-visual i { display: block; border: 1px solid #a1a1aa; border-radius: 2px; background: #fff; box-shadow: 0 2px 5px rgb(0 0 0 / 10%); }
.awp-size-visual.is-round i { border-radius: 50%; box-shadow: inset 0 0 0 3px #fff, 0 2px 7px rgb(0 0 0 / 14%); background: radial-gradient(circle at 36% 28%, #fff 0 13%, #f4f4f5 42%, #d4d4d8 100%); }
.awp-size-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.awp-size-copy strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.awp-size-copy small { color: #52525b; font-size: 10px; }
.awp-size-copy em { color: #8b5cf6; font-size: 9px; font-style: normal; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.awp-size-check { position: absolute; top: 7px; right: 7px; display: none; place-items: center; width: 19px; height: 19px; border-radius: 50%; color: #fff; background: var(--awp-accent); font-size: 10px; }
.awp-size-card.is-active .awp-size-check { display: grid; }
.awp-native-size { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; border: 0 !important; }
.awp-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.awp-field { display: flex; flex-direction: column; gap: 7px; margin: 0; }
.awp-field > span { color: #27272a; font-size: 12px; font-weight: 750; }
.awp-field select, .awp-field input[type="file"] { width: 100%; min-height: 49px; padding: 10px 13px; border: 1px solid #d4d4d8; border-radius: 10px; color: #18181b; background: #fff; }
.awp-field select:focus, .awp-field input:focus { border-color: var(--awp-accent); outline: 3px solid color-mix(in srgb, var(--awp-accent) 14%, transparent); }
.awp-file-field { grid-column: 1 / -1; padding: 15px; border: 1px dashed #c4b5fd; border-radius: 12px; background: color-mix(in srgb, var(--awp-accent) 5%, #fff); }
.awp-file-field small { color: #71717a; font-size: 11px; }
.awp-summary { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 18px; margin-top: 22px; padding: 18px; border-radius: 13px; color: #fff; background: #18181b; }
.awp-summary > div { display: flex; flex-direction: column; }
.awp-summary span { color: #d4d4d8; font-size: 11px; }
.awp-summary span small { display: block; font-size: 9px; }
.awp-summary strong { margin-top: 3px; color: #fff; font-size: 22px; }
.awp-summary > div:first-child strong { color: #c4b5fd; font-size: 28px; }
.awp-share { padding: 8px 0; border: 0; border-bottom: 1px solid #71717a; color: #fff; background: transparent; font-size: 11px; font-weight: 700; }
.awp-error { margin: 12px 0 0; color: #b91c1c; font-size: 12px; font-weight: 700; }
.awp-configurator-enabled .summary > .price { display: none; }
.awp-configurator-enabled form.cart > .quantity { display: none !important; }
.awp-configurator-enabled form.cart { display: block !important; }
.awp-configurator-enabled form.cart > .single_add_to_cart_button { width: 100%; min-height: 52px; }
@media (max-width: 600px) { .awp-fields { grid-template-columns: 1fr; } .awp-file-field { grid-column: auto; } .awp-summary { grid-template-columns: 1fr 1fr; } .awp-share { grid-column: 1 / -1; } .awp-size-choice-head { align-items: flex-start; flex-direction: column; } .awp-size-cards { display: flex; margin-inline: -20px; padding: 3px 20px 12px; overflow-x: auto; scroll-snap-type: x mandatory; } .awp-size-card { flex: 0 0 188px; scroll-snap-align: start; } }

/* Integración contenida con Almargen Woo */
@media (min-width: 1101px) {
	body.awp-configurator-enabled .aw-shop-main > .aw-container.aw-shop-layout {
		width: min(calc(100% - clamp(100px, 13vw, 230px)), var(--aw-single-width, 1480px)) !important;
		max-width: var(--aw-single-width, 1480px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	body.awp-configurator-enabled .aw-shop-content,
	body.awp-configurator-enabled div.product.type-product {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	body.awp-configurator-enabled div.product.type-product {
		grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr) !important;
		gap: clamp(42px, 4.5vw, 72px) !important;
	}
	body.awp-configurator-enabled div.product.type-product > div.images,
	body.awp-configurator-enabled div.product.type-product > .woocommerce-product-gallery {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		transform: none !important;
	}
	body.awp-configurator-enabled .woocommerce-product-gallery__wrapper,
	body.awp-configurator-enabled .woocommerce-product-gallery__image,
	body.awp-configurator-enabled .woocommerce-product-gallery__image > a,
	body.awp-configurator-enabled .woocommerce-product-gallery__image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		transform: none !important;
	}
}

@media (min-width: 783px) and (max-width: 1100px) {
	body.awp-configurator-enabled .aw-shop-main > .aw-container.aw-shop-layout { width: calc(100% - 56px) !important; margin-inline: auto !important; }
	body.awp-configurator-enabled div.product.type-product { grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr) !important; gap: 34px !important; }
}
