.spkr-kit-configurator {
	display: grid;
	gap: 16px;
	margin: 18px 0;
}

.spkr-kit-configurator [hidden],
.spkr-kit-is-hidden {
	display: none !important;
}

.spkr-kit-native-hidden,
body.spkr-kit-force-replace form.variations_form table.variations,
body.spkr-kit-force-replace form.variations_form .single_variation_wrap,
body.spkr-kit-force-replace form.variations_form .woocommerce-variation,
body.spkr-kit-force-replace form.variations_form .woocommerce-variation-add-to-cart,
body.spkr-kit-force-replace form.variations_form .reset_variations,
body.spkr-kit-force-replace form.cart:not(.woocommerce-cart-form) > .quantity,
body.spkr-kit-force-replace form.cart:not(.woocommerce-cart-form) > .single_add_to_cart_button {
	display: none !important;
}

.spkr-kit-configurator__items {
	display: grid;
	gap: 12px;
}

.spkr-kit-configurator__vehicle,
.spkr-kit-configurator__kit {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.spkr-kit-configurator__section-title {
	font-size: 15px;
	font-weight: 700;
}

.spkr-kit-configurator__vehicle {
	order: 1;
}

.spkr-kit-configurator__kit {
	grid-template-columns: 1fr;
	order: 3;
}

.spkr-kit-configurator__transparency-title {
	order: 4;
}

.spkr-kit-configurator__items {
	order: 5;
}

.spkr-kit-configurator__summary {
	order: 6;
}

.spkr-kit-configurator__button {
	order: 7;
}

.spkr-kit-configurator__notice {
	order: 8;
}

.spkr-kit-configurator__vehicle label,
.spkr-kit-configurator__kit label {
	display: grid;
	font-size: 13px;
	font-weight: 600;
	gap: 6px;
	margin: 0;
}

.spkr-kit-configurator__vehicle select,
.spkr-kit-configurator__kit select {
	min-height: 42px;
	width: 100%;
}

.spkr-kit-item {
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	display: grid;
	gap: 12px;
	padding: 14px;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.spkr-kit-item--selected {
	background: #fbfbfb;
	border-color: #111;
}

.spkr-kit-item--invalid {
	border-color: #c62828;
}

.spkr-kit-item--valid {
	border-color: #2e7d32;
}

.spkr-kit-item__check {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-weight: 700;
	gap: 10px;
	margin: 0;
}

.spkr-kit-item__check input {
	margin: 0;
}

.spkr-kit-configurator--vehicle .spkr-kit-item__check {
	cursor: default;
	pointer-events: none;
}

.spkr-kit-configurator--vehicle .spkr-kit-item__check input {
	display: none;
}

.spkr-kit-configurator--vehicle .spkr-kit-item {
	background: #fbfbfb;
	border-color: #d9d9d9;
}

.spkr-kit-configurator--vehicle .spkr-kit-configurator__items {
	gap: 10px;
}

.spkr-kit-configurator--vehicle .spkr-kit-item {
	align-items: center;
	border-radius: 6px;
	grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr);
	padding: 12px 14px;
}

.spkr-kit-configurator--vehicle .spkr-kit-item__check {
	font-size: 15px;
}

.spkr-kit-configurator--vehicle .spkr-kit-item__fields {
	grid-template-columns: 1fr;
}

.spkr-kit-configurator--vehicle .spkr-kit-item__fields label {
	gap: 0;
}

.spkr-kit-item__attribute-label {
	font-weight: 600;
	margin-right: 4px;
}

.spkr-kit-item__fields {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.spkr-kit-item__fields label {
	display: grid;
	font-size: 13px;
	font-weight: 600;
	gap: 6px;
	margin: 0;
}

.spkr-kit-item__fields select {
	min-height: 42px;
	width: 100%;
}

.spkr-kit-item__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	justify-content: space-between;
}

.spkr-kit-item__price {
	font-size: 16px;
}

.spkr-kit-item__stock {
	color: #666;
	font-size: 13px;
}

.spkr-kit-item--invalid .spkr-kit-item__stock {
	color: #c62828;
	font-weight: 700;
}

.spkr-kit-item--valid .spkr-kit-item__stock {
	color: #2e7d32;
}

.spkr-kit-configurator__summary {
	align-items: center;
	border-top: 1px solid #e5e5e5;
	display: flex;
	font-size: 16px;
	justify-content: space-between;
	padding-top: 14px;
}

.spkr-kit-configurator__subtotal {
	font-size: 20px;
}

.spkr-kit-configurator__button {
	width: 100%;
}

.spkr-kit-configurator__notice {
	border-radius: 8px;
	display: none;
	padding: 12px 14px;
}

.spkr-kit-configurator__notice:not(:empty) {
	display: block;
}

.spkr-kit-configurator__notice--error {
	background: #fdecec;
	color: #9f1d1d;
}

.spkr-kit-configurator__notice--success {
	background: #edf7ed;
	color: #1f6d2a;
}

.spkr-kit-message {
	border-radius: 8px;
	margin: 18px 0;
	padding: 12px 14px;
}

.spkr-kit-message--error {
	background: #fdecec;
	color: #9f1d1d;
}

/* Cartões do configurador automotivo; os selects permanecem como dados das variações. */
.spkr-kit-configurator--vehicle { gap:24px; }
.spkr-kit-configurator--vehicle { position:relative; }
.spkr-kit-configurator__loading { align-items:center; backdrop-filter:blur(3px); background:rgba(255,255,255,.92); border-radius:14px; display:flex; flex-direction:column; gap:12px; inset:0; justify-content:center; min-height:220px; position:absolute; text-align:center; z-index:20; }
.spkr-kit-configurator__loading[hidden] { display:none; }
.spkr-kit-configurator__loading strong { color:#222; font-size:14px; }
.spkr-kit-configurator__spinner { animation:spkr-kit-spin .75s linear infinite; border:3px solid #f0d0c2; border-radius:50%; border-top-color:#ff5a1f; display:block; height:34px; width:34px; }
@keyframes spkr-kit-spin { to { transform:rotate(360deg); } }
.spkr-kit-configurator__steps ol { align-items:center; counter-reset:steps; display:flex; list-style:none; margin:0; padding:0; }
.spkr-kit-configurator__steps li { align-items:center; color:#a9afb6; display:flex; flex:1; font-size:13px; font-weight:600; gap:8px; min-width:0; position:relative; }
.spkr-kit-configurator__steps li:not(:last-child)::after { background:#e0e2e4; content:""; height:1px; margin:0 12px; order:2; flex:1; }
.spkr-kit-configurator__steps li span { align-items:center; background:#edf0f2; border-radius:50%; display:inline-flex; flex:0 0 27px; height:27px; justify-content:center; width:27px; }
.spkr-kit-configurator__steps li strong { font-size:13px; white-space:nowrap; }
.spkr-kit-configurator__steps li.is-active,.spkr-kit-configurator__steps li.is-complete { color:#151515; }
.spkr-kit-configurator__steps li.is-active span,.spkr-kit-configurator__steps li.is-complete span { background:#ff5a1f; color:#fff; }
.spkr-kit-configurator__steps li.is-complete:not(:last-child)::after { background:#ffb195; }
.spkr-kit-configurator__intro h3,.spkr-kit-configurator__section-heading h3 { font-size:18px; line-height:1.2; margin:0 0 6px; }
.spkr-kit-configurator__intro p,.spkr-kit-configurator__section-heading p { color:#72777f; font-size:13px; margin:0; }
.spkr-kit-configurator--vehicle .spkr-kit-configurator__vehicle select { border:1px solid #dedede; border-radius:12px; min-height:51px; padding:0 14px; }
.spkr-kit-configurator--vehicle .spkr-kit-configurator__kit { gap:14px; }
.spkr-kit-configurator--vehicle .spkr-kit-configurator__kit > label,.spkr-kit-configurator--vehicle .spkr-kit-item__fields > label { clip:rect(0,0,0,0); height:1px; overflow:hidden; position:absolute; width:1px; }
.spkr-kit-configurator__kit-cards { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.spkr-kit-choice-card { background:#fff; border:1px solid #e1e1e1; border-radius:14px; cursor:pointer; display:grid; gap:7px; min-height:100px; padding:16px; text-align:left; }
.spkr-kit-choice-card strong { color:#111; font-size:14px; }.spkr-kit-choice-card span { color:#757575; font-size:12px; }.spkr-kit-choice-card__price { color:#f0521d; font-size:13px; font-style:normal; font-weight:700; }
.spkr-kit-choice-card:hover,.spkr-kit-choice-card.is-selected { background:#fff8f4; border:2px solid #ff5a1f; padding:15px; }
.spkr-kit-configurator__transparency-title { display:none; }
.spkr-kit-configurator--vehicle .spkr-kit-item { align-items:start; background:#fff; border:1px solid #e2e2e2; border-radius:14px; display:block; padding:14px; }
.spkr-kit-configurator--vehicle .spkr-kit-item__check { margin-bottom:12px; }
.spkr-kit-item__transparency-cards { display:grid; gap:8px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.spkr-kit-transparency-card { background:#fff; border:1px solid #e1e1e1; border-radius:10px; cursor:pointer; display:grid; gap:7px; justify-items:center; padding:6px; }
.spkr-kit-transparency-card.is-selected { background:#fff8f4; border:2px solid #ff5a1f; padding:5px; }
.spkr-kit-transparency-card__shade { background:#777; border-radius:5px; display:block; height:28px; width:100%; }
.spkr-kit-transparency-card__shade--5{background:#20272b}.spkr-kit-transparency-card__shade--20{background:#424a4f}.spkr-kit-transparency-card__shade--35{background:#6c7275}.spkr-kit-transparency-card__shade--50{background:#96999a}.spkr-kit-transparency-card__shade--70{background:#c7c9ca}
.spkr-kit-transparency-card strong { color:#171717; font-size:12px; }

/* Evita que estilos globais do tema comprimam os cartões do configurador. */
.spkr-kit-configurator--vehicle .spkr-kit-configurator__kit-cards { gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.spkr-kit-configurator--vehicle .spkr-kit-choice-card { background:#fff !important; border:1px solid #dedede !important; border-radius:14px !important; display:block !important; min-height:126px; padding:17px !important; position:relative; text-align:left !important; transition:border-color .2s,background-color .2s; width:100%; }
.spkr-kit-configurator--vehicle .spkr-kit-choice-card strong { color:#141414; display:block; font-size:15px; line-height:1.25; max-width:calc(100% - 32px); }
.spkr-kit-configurator--vehicle .spkr-kit-choice-card > span { color:#747b84; display:block; font-size:12px; line-height:1.35; margin-top:10px; }
.spkr-kit-configurator--vehicle .spkr-kit-choice-card__price { bottom:16px; color:#f0521d; display:block; font-size:13px; left:17px; position:absolute; }
.spkr-kit-configurator--vehicle .spkr-kit-choice-card:hover,.spkr-kit-configurator--vehicle .spkr-kit-choice-card.is-selected { background:#fff7f2 !important; border:2px solid #ff5a1f !important; padding:16px !important; }
.spkr-kit-configurator--vehicle .spkr-kit-choice-card.is-selected::after { align-items:center; background:#ff5a1f; border-radius:50%; color:#fff; content:"✓"; display:flex; font-size:13px; font-weight:700; height:21px; justify-content:center; position:absolute; right:13px; top:13px; width:21px; }
.spkr-kit-configurator--vehicle .spkr-kit-item__transparency-cards { gap:9px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.spkr-kit-configurator--vehicle .spkr-kit-transparency-card { background:#fff !important; min-height:72px; padding:7px !important; position:relative; }
.spkr-kit-configurator--vehicle .spkr-kit-transparency-card strong { font-size:12px; line-height:1; }
.spkr-kit-configurator--vehicle .spkr-kit-transparency-card.is-selected::after { align-items:center; background:#ff5a1f; border-radius:50%; color:#fff; content:"✓"; display:flex; font-size:10px; font-weight:700; height:17px; justify-content:center; position:absolute; right:4px; top:4px; width:17px; }
.spkr-kit-configurator__back { background:transparent; border:0; color:#555; cursor:pointer; font-size:13px; font-weight:700; justify-self:start; padding:4px 0; }
.spkr-kit-configurator__back:hover { color:#ff5a1f; }
.spkr-kit-configurator__back--transparency { margin-bottom:-12px; }
.spkr-kit-configurator__checkout { background:#191919; border-radius:14px; display:grid; gap:16px; order:6; padding:20px; }
.spkr-kit-configurator--vehicle .spkr-kit-configurator__summary { border:0; color:#fff; padding:0; }
.spkr-kit-configurator__summary { gap:20px; }
.spkr-kit-summary-title { display:block; font-size:16px; margin-bottom:7px; }
.spkr-kit-summary-details { color:#d2d2d2; display:block; font-size:12px; line-height:1.45; max-width:400px; }
.spkr-kit-summary-total { align-items:flex-end; display:grid; justify-items:end; }
@media (max-width:640px){
	.spkr-kit-summary-total { 
		        align-items: flex-start;
        display: grid;
        justify-items: start;
        grid-template-columns: 1fr;
        width: 100%;
        border-top: 1px solid #fcfcfc61;
        margin-top: 10px;
        padding-top: 10px;
    
	 }
}
.spkr-kit-summary-total small { color:#d2d2d2; font-size:11px; }
.spkr-kit-configurator--vehicle .spkr-kit-configurator__subtotal { color:#ff5a1f; font-size:24px; white-space:nowrap; }
.spkr-kit-configurator--vehicle .spkr-kit-configurator__button { background:#ff5a1f; border-radius:10px; color:#fff; font-size:15px; font-weight:700; min-height:54px; text-transform:uppercase; }

@media (max-width: 640px) {
	.spkr-kit-configurator__vehicle {
		grid-template-columns: 1fr;
	}

	.spkr-kit-configurator--vehicle .spkr-kit-item {
		grid-template-columns: 1fr;
	}

	.spkr-kit-item__fields {
		grid-template-columns: 1fr;
	}

	.spkr-kit-configurator__kit-cards { grid-template-columns:1fr; }
	.spkr-kit-item__transparency-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.spkr-kit-configurator--vehicle .spkr-kit-configurator__kit-cards { grid-template-columns:1fr; }
	.spkr-kit-configurator--vehicle .spkr-kit-item__transparency-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.spkr-kit-configurator__summary { gap:12px; }
	.spkr-kit-summary-details { font-size:11px; }
	.spkr-kit-configurator--vehicle .spkr-kit-configurator__button { font-size:11px !important; letter-spacing:0; min-height:50px; padding:0 8px !important; white-space:nowrap; width:100%; }
	.spkr-kit-configurator__steps li { gap:5px; font-size:11px; }
	.spkr-kit-configurator__steps li strong { font-size:11px; }
	.spkr-kit-configurator__steps li:not(:last-child)::after { margin:0 6px; }

	.spkr-kit-item__meta,
	.spkr-kit-configurator__summary {
		align-items: flex-start;
		flex-direction: column;
	}
}
