/* Compra y configuración: precios legibles y controles accesibles en móvil. */
.cart-price-tier { display: block; color: #285739; font-size: .8125rem; margin-top: .25rem; }
.cart-build-edit { display: inline-block; margin-top: .5rem; color: #222; text-decoration: underline; }
#cartPricingError { color: #9b1c1c; font-size: .875rem; line-height: 1.5; }
#cartPricingError:empty { display: none; }
.product-tier-note { color: #333; font-size: .9375rem; margin: .5rem 0 1rem; line-height: 1.5; }
.cart-sidebar { width: min(420px,100vw); height: 100dvh; max-height: 100dvh; }
.cart-content { min-height: 0; overscroll-behavior: contain; }
.cart-sidebar .cart-summary-total { color: #111; }
.cart-footer { padding-bottom: max(16px,env(safe-area-inset-bottom)); }
.cart-sidebar .quantity-btn,.cart-sidebar .quantity-input,.cart-sidebar .cart-item-remove,.cart-sidebar .cart-close { min-width: 44px; min-height: 44px; }
.cart-sidebar .cart-item-title,.cart-sidebar .cart-item-info { min-width: 0; overflow-wrap: anywhere; }
.cart-sidebar button:disabled { opacity: .5; cursor: not-allowed; }
:is(.cart-sidebar,.configurapc-page,.catalog-main) :is(a,button,input,select):focus-visible { outline: 2px solid #715600; outline-offset: 3px; }
@media(max-width:767px) {
    .cart-notification { left: 16px; right: 16px; top: 88px; max-width: calc(100vw - 32px); min-width: 0; white-space: normal; box-sizing: border-box; }
    .cart-sidebar .quantity-input { font-size: 16px; }
    .cart-sidebar .cart-item-details { gap: 12px; }
    .cart-sidebar .cart-item-quantity { flex-wrap: wrap; gap: 8px; }
    .catalog-main .mobile-filters-toggle,.catalog-main .mobile-close-btn { min-height: 44px; min-width: 44px; }
    .catalog-main :is(input[type=search],input[type=text],select) { font-size: 16px; }
    .catalog-main .featured-product-actions { flex-wrap: wrap; gap: 8px; }
    .catalog-main .featured-product-actions a,.catalog-main .featured-product-actions button { min-height: 44px; }
    .configurapc-page .container { padding-inline: 16px; }
    .configurapc-page .page-header { padding: 1rem 0 0; margin-bottom: 1rem; }
    .configurapc-page .card-section { padding-block: 1.25rem; margin-bottom: 1rem; }
    .configurator,.summary,.summary-body,.selected-component,.component-info { min-width: 0; }
    .selected-component { align-items: flex-start; gap: 12px; }
    .selected-component .component-info { flex: 1; overflow-wrap: anywhere; }
    .selected-component .component-price { flex-shrink: 0; }
    .selected-component .remove-btn { min-width: 44px; min-height: 44px; }
    .navigation-buttons { flex-wrap: wrap; gap: 12px; }
    .navigation-buttons .right-buttons { display: flex; flex: 1; gap: 8px; }
    .navigation-buttons .btn { min-height: 44px; }
    .summary-actions { display: flex; flex-direction: column; gap: 12px; }
    .summary-actions .btn { width: 100%; min-height: 48px; white-space: normal; }
    .checkout-main .cart-item { min-width: 0; }
    .checkout-main .cart-item-name { overflow-wrap: anywhere; }
    .checkout-main input,.checkout-main select,.checkout-main textarea { font-size: 16px; }
    .product-page .quantity-btn { min-width: 44px; min-height: 44px; }
    .product-page .description-tabs { overflow-x: auto; }
}
@media(prefers-reduced-motion:reduce) {
    .cart-sidebar,.cart-overlay,.component-card { transition: none; }
}
