/* Calculador de envío — ficha de producto */



.ac-shipping-calculator-wrapper {

	max-width: 420px;

	margin: 1.25rem 0 0;

	padding: 0;

	border: none;

	background: transparent;

}



.ac-shipping-calculator-wrapper h4 {

	display: flex;

	align-items: center;

	gap: 0.4rem;

	margin: 0 0 0.85rem;

	padding: 0 0 0.55rem;

	border-bottom: 1px solid rgba(0, 0, 0, 0.08);

	font-size: 0.9375rem;

	font-weight: 600;

	line-height: 1.3;

}



.ac-shipping-calculator__icon {

	font-size: 1.15rem;

	line-height: 1;

}



.ac-shipping-calculator-form .form-row {

	margin: 0 0 0.75rem;

}



.ac-shipping-calculator-form label {

	display: block;

	margin-bottom: 0.35rem;

	font-size: 0.8125rem;

	font-weight: 600;

	opacity: 0.9;

}



.ac-shipping-calculator-form .input-text,

.ac-shipping-calculator-form .state_select {

	width: 100%;

	box-sizing: border-box;

	padding: 0.55rem 0.65rem;

	font-size: 0.9375rem;

	line-height: 1.4;

	border: 1px solid rgba(0, 0, 0, 0.12);

	border-radius: 8px;

	background: #fff;

	transition: border-color 0.15s ease, box-shadow 0.15s ease;

}



.ac-shipping-calculator-form .input-text:focus,

.ac-shipping-calculator-form .state_select:focus {

	outline: none;

	border-color: rgba(0, 158, 227, 0.55);

	box-shadow: 0 0 0 3px rgba(0, 158, 227, 0.12);

}



.ac-shipping-calculator-form .ac_calculate_shipping_btn {

	margin-top: 0.15rem;

	padding: 0.55rem 1.25rem;

	min-height: 2.5rem;

	border: none;

	border-radius: 999px;

	font-size: 0.8125rem;

	font-weight: 700;

	letter-spacing: 0.04em;

	text-transform: uppercase;

	cursor: pointer;

	transition: opacity 0.15s ease;

}



.ac-calculated-summary {

	margin-top: 0.5rem;

	padding-top: 0.5rem;

}



.ac-calculated-summary p {

	margin: 0 0 0.5rem;

	font-size: 0.875rem;

}



.ac-summary-results {

	margin: 0.5rem 0 0.75rem;

	padding: 0.65rem 0.75rem;

	border-radius: 8px;

	background: #f8f9fa;

	border: 1px solid rgba(0, 0, 0, 0.06);

	animation: acCalcFadeIn 0.35s ease;

}



@keyframes acCalcFadeIn {

	from {

		opacity: 0;

		transform: translateY(-6px);

	}

	to {

		opacity: 1;

		transform: translateY(0);

	}

}



.ac-summary-results ul {

	list-style: none;

	margin: 0;

	padding: 0;

}



.ac-summary-results li {

	display: flex;

	justify-content: space-between;

	align-items: center;

	gap: 0.75rem;

	padding: 0.45rem 0;

	font-size: 0.875rem;

	line-height: 1.35;

	border-bottom: 1px solid rgba(0, 0, 0, 0.06);

}



.ac-summary-results li:last-child {

	border-bottom: none;

}



.ac-summary-results.woocommerce-message {

	border-color: rgba(0, 135, 68, 0.2);

	background: #f4fbf7;

}



.ac-summary-results.woocommerce-error {

	border-color: rgba(220, 53, 69, 0.25);

	background: #fdf2f2;

}



.ac_recalculate_shipping_btn {

	padding: 0.4rem 0.75rem !important;

	font-size: 0.8125rem !important;

	border-radius: 999px !important;

	background: transparent !important;

	border: 1px solid rgba(0, 0, 0, 0.15) !important;

	color: inherit !important;

}



.ac-spinner {

	display: inline-block;

	width: 12px;

	height: 12px;

	border: 2px solid rgba(255, 255, 255, 0.35);

	border-top-color: #fff;

	border-radius: 50%;

	animation: acCalcSpin 0.6s linear infinite;

	vertical-align: middle;

	margin-right: 5px;

}



@keyframes acCalcSpin {

	to {

		transform: rotate(360deg);

	}

}



.ac_calculate_shipping_btn.loading {

	opacity: 0.85;

	cursor: not-allowed;

}



.ac-rate-limit-message {

	display: block;

	margin-top: 0.35rem;

	font-size: 0.8125rem;

	color: #c0392b;

}



@media (max-width: 768px) {

	.ac-shipping-calculator-form .input-text,

	.ac-shipping-calculator-form .state_select {

		font-size: 16px;

	}



	.ac-summary-results li {

		flex-direction: column;

		align-items: flex-start;

		gap: 0.25rem;

	}

}


