.bf-cart{--c-brand:#1e293b;--c-on-brand:#fff;--c-accent:#f59e0b;--c-on-accent:#1e293b;--c-bg:#f8fafc;--c-surface:#fff;--c-muted:#f1f5f9;--c-fg:#0f172a;--c-fg2:#64748b;--c-border:#e2e8f0;--c-border-strong:#cbd5e1;--c-success:#16a34a;--c-error:#dc2626;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:18px;--font:"Inter",-apple-system,system-ui,sans-serif;--font-mono:"DM Sans","Inter",-apple-system,system-ui,sans-serif;--t-xs:12px;--t-sm:13px;--t-base:14px;--t-lg:16px;--t-xl:20px;--t-2xl:28px;font-family:var(--font);color:var(--c-fg);background:var(--c-bg);min-height:100vh;padding:32px 0}.dark .bf-cart{--c-brand:#f8fafc;--c-on-brand:#0f172a;--c-accent:#fbbf24;--c-bg:#0f172a;--c-surface:#1e293b;--c-muted:#334155;--c-fg:#f8fafc;--c-fg2:#94a3b8;--c-border:#334155;--c-border-strong:#475569}.cart-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}.cart-header{display:flex;align-items:center;gap:12px;margin-bottom:32px}.cart-header h1{font-size:var(--t-2xl);font-weight:700;color:var(--c-fg);letter-spacing:-.02em}.cart-count{background:var(--c-muted);color:var(--c-fg2);font-size:var(--t-xs);font-weight:600;padding:4px 10px;border-radius:var(--r-lg)}.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}@media (max-width:1024px){.cart-layout{grid-template-columns:1fr;gap:32px}}.cart-items-col{display:flex;flex-direction:column;gap:16px}.cart-item{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:start;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:20px}@media (max-width:640px){.cart-item{grid-template-columns:80px 1fr;gap:14px}.cart-item-actions{grid-column:span 2;justify-content:space-between}}.cart-item-img{width:100px;height:100px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--c-muted) 0,var(--c-border) 100%);overflow:hidden;display:flex;align-items:center;justify-content:center}@media (max-width:640px){.cart-item-img{width:80px;height:80px}}.cart-item-img img{width:100%;height:100%;object-fit:contain}.cart-item-img .placeholder{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-fg2)}.cart-item-info{display:flex;flex-direction:column;gap:10px}.cart-item-title{font-size:var(--t-lg);font-weight:600;color:var(--c-fg);line-height:1.3}.cart-item-meta{display:flex;flex-wrap:wrap;gap:6px}.cart-item-chip{display:inline-flex;align-items:center;gap:4px;background:var(--c-muted);color:var(--c-fg2);font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--r-sm)}.cart-item-chip .color-swatch{width:10px;height:10px;border-radius:50%;background:var(--chip-color,currentColor);border:1px solid rgba(0,0,0,.1);flex-shrink:0}.cart-item-row{display:flex;align-items:center;gap:16px;margin-top:6px}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden}.qty-stepper button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--c-surface);border:none;color:var(--c-fg);font-size:var(--t-lg);cursor:pointer;transition:background .15s}.qty-stepper button:hover{background:var(--c-muted)}.qty-stepper button:disabled{opacity:.4;cursor:not-allowed}.qty-stepper .qty-value{width:48px;height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--t-base);font-weight:600;color:var(--c-fg);border-left:1px solid var(--c-border);border-right:1px solid var(--c-border)}.cart-item-price{font-size:var(--t-sm);color:var(--c-fg2)}.cart-item-price strong{color:var(--c-fg);font-weight:600}.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.cart-item-total{font-size:var(--t-lg);font-weight:700;color:var(--c-fg);font-family:var(--font-mono);letter-spacing:-.01em}.cart-item-remove{background:none;border:none;color:var(--c-fg2);font-size:var(--t-sm);cursor:pointer;padding:4px 8px;border-radius:var(--r-sm);transition:all .15s}.cart-item-remove:hover{background:var(--c-error);color:#fff}.continue-shopping{display:inline-flex;align-items:center;gap:6px;color:var(--c-fg2);font-size:var(--t-sm);font-weight:500;margin-top:8px;transition:color .15s}.continue-shopping:hover{color:var(--c-accent)}.continue-shopping svg{width:16px;height:16px}.order-summary{background:var(--c-brand);color:var(--c-on-brand);border-radius:var(--r-xl);padding:28px;position:sticky;top:100px}.order-summary h2{font-size:var(--t-xl);font-weight:700;margin-bottom:24px}.summary-lines{display:flex;flex-direction:column;gap:14px;padding-bottom:20px;border-bottom:1px solid hsla(0,0%,100%,.15);margin-bottom:20px}.summary-line{display:flex;justify-content:space-between;align-items:center;font-size:var(--t-sm)}.summary-line .label{color:hsla(0,0%,100%,.65)}.summary-line .value{font-weight:500}.summary-line.discount .value{color:var(--c-success)}.summary-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.summary-total .label{font-size:var(--t-lg);font-weight:600}.summary-total .value{font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em;font-family:var(--font-mono)}.cart-actions{display:flex;flex-direction:column;gap:12px}.checkout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;background:var(--c-accent);color:var(--c-on-accent);font-size:var(--t-base);font-weight:700;border:none;border-radius:var(--r-md);cursor:pointer;text-decoration:none;transition:all .2s}.checkout-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.checkout-btn svg{width:18px;height:18px}.rfp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;background:var(--c-surface);color:var(--c-fg);font-size:var(--t-base);font-weight:700;border:1px solid var(--c-border-strong);border-radius:var(--r-md);cursor:pointer;transition:all .2s}.rfp-btn:hover{background:var(--c-muted);border-color:var(--c-fg2)}.rfp-btn svg{width:16px;height:16px}.trust-row{justify-content:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.1)}.trust-item,.trust-row{display:flex;align-items:center}.trust-item{gap:5px;font-size:11px;color:hsla(0,0%,100%,.55)}.trust-item svg{width:14px;height:14px}.promo-section{margin-top:0;margin-bottom:28px;padding:14px 16px;background:transparent;border:1px solid hsla(0,0%,100%,.2);border-radius:var(--r-md)}.promo-section summary{font-size:var(--t-sm);color:hsla(0,0%,100%,.65);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;width:100%}.promo-section summary::-webkit-details-marker{display:none}.promo-section summary svg{width:14px;height:14px;transition:transform .2s}.promo-section[open] summary svg{transform:rotate(180deg)}.promo-input{display:flex;gap:8px;margin-top:12px}.promo-input input{flex:1;height:40px;padding:0 14px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:var(--r-sm);color:#fff;font-size:var(--t-sm)}.promo-input input::placeholder{color:hsla(0,0%,100%,.4)}.promo-input button{height:40px;padding:0 16px;background:hsla(0,0%,100%,.15);border:none;border-radius:var(--r-sm);color:#fff;font-size:var(--t-sm);font-weight:600;cursor:pointer;transition:background .15s}.promo-input button:hover{background:hsla(0,0%,100%,.25)}.cart-empty{text-align:center;padding:80px 20px}.cart-empty-icon{width:80px;height:80px;margin:0 auto 24px;background:var(--c-muted);border-radius:50%;display:flex;align-items:center;justify-content:center}.cart-empty-icon svg{width:36px;height:36px;color:var(--c-fg2)}.cart-empty h2{font-size:var(--t-xl);font-weight:700;color:var(--c-fg);margin-bottom:8px}.cart-empty p{font-size:var(--t-base);color:var(--c-fg2);margin-bottom:24px}.cart-empty .browse-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 28px;background:var(--c-accent);color:var(--c-on-accent);font-size:var(--t-base);font-weight:600;border-radius:var(--r-md);transition:all .2s}.cart-empty .browse-btn:hover{filter:brightness(1.05)}.cart-skeleton{display:flex;flex-direction:column;gap:16px}.skeleton-item{display:grid;grid-template-columns:100px 1fr 120px;gap:20px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:20px}.skeleton-img{width:100px;height:100px;border-radius:var(--r-md)}.skeleton-img,.skeleton-text{background:linear-gradient(90deg,var(--c-muted) 25%,var(--c-border) 50%,var(--c-muted) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-text{height:16px;border-radius:var(--r-sm)}.skeleton-text.short{width:60%}.skeleton-text.shorter{width:40%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rfp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.rfp-modal{background:var(--c-surface);border-radius:var(--r-lg);width:100%;max-width:960px;max-height:95vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}.rfp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--c-border)}.rfp-modal-header h2{font-size:var(--t-xl);font-weight:700;color:var(--c-fg);margin:0}.rfp-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--r-md);color:var(--c-fg2);cursor:pointer;transition:all .2s}.rfp-close:hover{background:var(--c-muted);color:var(--c-fg)}.rfp-close svg{width:20px;height:20px}.rfp-form{padding:24px}.rfp-form,.rfp-layout{gap:20px}.rfp-fields,.rfp-form,.rfp-layout{display:flex;flex-direction:column}.rfp-fields{gap:16px}.rfp-field{display:flex;flex-direction:column;gap:6px}.rfp-field label{font-weight:600}.rfp-field input,.rfp-field label{font-size:var(--t-sm);color:var(--c-fg)}.rfp-field input{height:44px;padding:0 14px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-md);transition:all .2s}.rfp-field input:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(245,158,11,.15)}.rfp-field input::placeholder{color:var(--c-fg2)}.rfp-field textarea{padding:12px 14px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:var(--t-sm);font-family:inherit;color:var(--c-fg);resize:vertical;min-height:100px;transition:all .2s}.rfp-field textarea:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(245,158,11,.15)}.rfp-field textarea::placeholder{color:var(--c-fg2)}.rfp-field-hint{font-size:11px;color:var(--c-fg2);opacity:.7}.rfp-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:500px){.rfp-row{grid-template-columns:1fr}}.rfp-field-full{grid-column:1/-1}.rfp-address-section{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-lg)}.rfp-address-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rfp-address-left{display:flex;flex-direction:column;gap:12px}.rfp-address-left .rfp-map-preview{flex:1;min-height:160px;margin:0}.rfp-address-right{display:flex;flex-direction:column;gap:10px}@media (max-width:600px){.rfp-address-columns{grid-template-columns:1fr}.rfp-address-left .rfp-map-preview{min-height:140px}}.rfp-address-label{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:600;color:var(--c-fg)}.rfp-address-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--c-accent-soft);border-radius:var(--r-sm);color:var(--c-accent)}.rfp-address-icon svg{width:16px;height:16px}.rfp-address-section .rfp-field{gap:0}.rfp-address-section .rfp-field input{height:42px;background:var(--c-surface)}.rfp-address-section .rfp-row{gap:12px}.rfp-actions{display:flex;gap:12px;margin-top:8px}.rfp-cancel{flex:1;height:48px;background:transparent;border:1px solid var(--c-border-strong);border-radius:var(--r-md);font-size:var(--t-sm);font-weight:600;color:var(--c-fg);cursor:pointer;transition:all .2s}.rfp-cancel:hover{background:var(--c-muted)}.rfp-submit{flex:1;height:48px;background:var(--c-accent);border:none;border-radius:var(--r-md);font-size:var(--t-sm);font-weight:600;color:var(--c-on-accent);cursor:pointer;transition:all .2s}.rfp-submit:hover{filter:brightness(1.05)}.rfp-address-input-wrapper{position:relative}.rfp-address-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:100;max-height:240px;overflow-y:auto}.rfp-suggestion-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;background:transparent;border:none;border-bottom:1px solid var(--c-border);text-align:left;cursor:pointer;transition:background .15s}.rfp-suggestion-item:last-child{border-bottom:none}.rfp-suggestion-item:hover{background:var(--c-muted)}.rfp-suggestion-item .suggestion-icon{flex-shrink:0;width:18px;height:18px;margin-top:2px;color:var(--c-accent)}.rfp-suggestion-item .suggestion-text{display:flex;flex-direction:column;gap:2px}.rfp-suggestion-item .suggestion-main{font-size:var(--t-sm);font-weight:600;color:var(--c-fg)}.rfp-suggestion-item .suggestion-secondary{font-size:12px;color:var(--c-fg2)}.rfp-map-preview{margin-top:0;margin-bottom:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-border);position:relative;height:100%;background:var(--c-muted)}.rfp-map-preview iframe{display:block}.rfp-map-address{position:absolute;bottom:8px;left:8px;right:8px;display:flex;align-items:center;gap:6px;padding:8px 12px;background:hsla(0,0%,100%,.95);border-radius:var(--r-sm);font-size:12px;color:var(--c-fg);box-shadow:0 2px 8px rgba(0,0,0,.15)}.rfp-map-address svg{color:var(--c-accent)}.promo-error{margin:10px 0 0;font-size:var(--t-sm);color:var(--c-danger,#f87171)}.promo-input button:disabled{opacity:.5;cursor:default}.promo-applied{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.promo-applied li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--t-sm);color:hsla(0,0%,100%,.85)}.promo-applied li span{font-weight:600;letter-spacing:.04em}.promo-applied li button{background:none;border:none;padding:0;color:hsla(0,0%,100%,.55);font-size:var(--t-sm);text-decoration:underline;cursor:pointer}.promo-applied li button:disabled{opacity:.5;cursor:default}.bf-cart .cart-item-deco{margin:6px 0 0;font-size:13px;color:var(--c-muted,#64748b)}