.cf-cart { width:100%;max-width:1240px;margin:0 auto;padding:32px 24px;box-sizing:border-box; }
.cf-cart-heading { display:flex;justify-content:space-between;align-items:start;gap:18px;flex-wrap:wrap;margin-bottom:24px; }
.cf-cart h1 { font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.2; }
.cf-cart h2 { font-size:19px;font-weight:750;margin-bottom:12px; }
.cf-cart-heading p,.cf-cart-checkout>p,#cart-summary { color:#647086;font-size:14px;line-height:1.6;margin:10px 0 16px; }
.cf-cart-actions { display:flex;gap:8px;flex-wrap:wrap; }
.cf-cart-grid { display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start; }
.cf-cart-panel,.cf-cart-row { padding:22px;border:1px solid #e2e6ec;border-radius:16px;background:#fff; }
.cf-cart-checkout { position:sticky;top:118px; }
.cf-cart-items { display:grid;gap:14px; }
.cf-cart-product { display:grid;grid-template-columns:78px minmax(0,1fr);gap:15px;align-items:start; }
.cf-cart-image { width:78px;height:78px;border-radius:10px;object-fit:contain;background:#f3f5f8; }
.cf-cart-name { display:block;color:inherit;font-size:16px;font-weight:700;line-height:1.45;overflow-wrap:anywhere; }
.cf-cart-name[href]:hover { color:#e52d21; }
.cf-cart-meta { font-size:13px;color:#647086;margin-top:6px;line-height:1.5;overflow-wrap:anywhere; }
.cf-cart-kind { display:inline-block;padding:3px 9px;margin-bottom:7px;font-size:12px;font-weight:700;border-radius:20px;background:#fff1ec;color:#b52a1b; }
.cf-cart-controls { display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:18px; }
.cf-cart label { display:block;font-size:13px;font-weight:650;margin-bottom:7px; }
.cf-cart input[type=number],.cf-cart textarea { width:100%;box-sizing:border-box;border:1px solid #cbd2dd;border-radius:10px;padding:10px 12px;background:#fff;color:inherit;font:inherit;font-size:14px; }
.cf-cart textarea { resize:vertical; }
.cf-cart-note { min-height:42px; }
.cf-cart-primary,.cf-cart-secondary { display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;padding:11px 15px;font-size:13px;font-weight:700;line-height:1.4;cursor:pointer;text-decoration:none; }
.cf-cart-primary { background:linear-gradient(100deg,#ec2016,#ff6518);color:white;border:1px solid transparent; }
.cf-cart-secondary { border:1px solid #d5dae4;background:transparent;color:inherit; }
.cf-cart button:disabled { cursor:not-allowed;opacity:.55; }
.cf-cart button:focus-visible,.cf-cart input:focus-visible,.cf-cart textarea:focus-visible,.cf-cart a:focus-visible { outline:3px solid #fba89b;outline-offset:3px; }
#cart-checkout-form label { margin-top:18px; }
#cart-submit,#cart-login { width:100%;box-sizing:border-box;margin-top:18px; }
.cf-cart-company-link { display:inline-block;font-size:13px;text-decoration:underline;margin-top:18px; }
.cf-cart-warning,#cart-message { border-radius:10px;padding:11px 14px;color:#8c3b09;background:#fff5df;font-size:13px;line-height:1.6; }
#cart-message { margin-bottom:18px; }
.cf-cart-row[data-unavailable=true] { border-color:#e9b58a; }
.cf-cart-row .cf-cart-warning { margin-top:12px; }
.cf-cart-toast { position:fixed;z-index:90;inset-inline-end:20px;bottom:24px;max-width:min(380px,calc(100vw - 40px));box-sizing:border-box;padding:14px 18px;border:1px solid #e0e5ed;border-radius:14px;background:#fff;color:#172344;box-shadow:0 12px 38px #17234430;font-size:14px;line-height:1.6; }
.cf-cart-toast a { display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:#d5241b;font-weight:700;text-decoration:underline;margin-inline-start:10px; }
html.dark .cf-cart-panel,html.dark .cf-cart-row,html.dark .cf-cart input,html.dark .cf-cart textarea,html.dark .cf-cart-toast { background:#172136;border-color:#ffffff24;color:#eaf0fa; }
html.dark .cf-cart-heading p,html.dark .cf-cart-checkout>p,html.dark #cart-summary,html.dark .cf-cart-meta { color:#a7b4cb; }
html.dark .cf-cart-kind { color:#ffb49b;background:#633322; }
html.dark .cf-cart-secondary { border-color:#ffffff30; }
html.dark .cf-cart-warning,html.dark #cart-message { background:#543b1e;color:#ffdda5; }
.cf-cart [hidden],.cf-cart-toast[hidden] { display:none!important; }
@media(max-width:900px) { .cf-cart-grid { grid-template-columns:minmax(0,1fr); }.cf-cart-checkout { position:static; } }
@media(max-width:560px) { .cf-cart { padding:24px 16px; }.cf-cart-panel,.cf-cart-row { padding:16px; }.cf-cart-controls { grid-template-columns:minmax(0,1fr); }.cf-cart-controls input[type=number] { max-width:140px; }.cf-cart-controls>button { justify-self:start; }.cf-cart-heading h1 { font-size:25px; } }
.cf-cart-nav{display:inline-flex;align-items:center;gap:4px;padding-inline:8px;white-space:nowrap}.cf-cart-nav-icon{display:none;width:18px;height:18px;flex-shrink:0}
@media(max-width:639px){.cf-cart-nav{gap:2px;padding-inline:4px}.cf-cart-nav-icon{display:block}.cf-cart-nav-label,.cf-header-language-name{display:none}}
.cf-cart-drawer { position:fixed;inset-block:0;inset-inline-start:auto;inset-inline-end:0;width:min(800px,55vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;padding:0;background:#f6f7f9;color:#172344;box-shadow:-18px 0 60px #17234430;box-sizing:border-box; }
.cf-cart-drawer[open] { display:flex;flex-direction:column;animation:cf-cart-drawer-enter .18s ease-out; }
.cf-cart-drawer::backdrop { background:#11182770;backdrop-filter:blur(2px); }
.cf-cart-drawer-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #e2e6ec;background:#fff;flex-shrink:0; }
.cf-cart-drawer-heading h2 { margin:0;font-size:20px;font-weight:800;line-height:1.35; }
.cf-cart-drawer-close { display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #d5dae4;border-radius:10px;background:transparent;color:inherit;font-size:28px;cursor:pointer; }
.cf-cart-drawer-close:focus-visible,.cf-cart-drawer-footer button:focus-visible { outline:3px solid #fba89b;outline-offset:3px; }
.cf-cart-drawer-body { overflow:auto;overscroll-behavior:contain;flex:1;min-height:0; }
.cf-cart-drawer-loading { padding:28px 24px;font-size:15px;line-height:1.6; }
.cf-cart-drawer-loading button { margin-top:16px; }
.cf-cart-drawer-footer { flex-shrink:0;border-top:1px solid #e2e6ec;background:#fff;padding:14px 24px;padding-bottom:max(14px,env(safe-area-inset-bottom)); }
.cf-cart-drawer-footer button { width:100%; }
.cf-cart-drawer .cf-cart { max-width:none;padding:22px 24px; }
.cf-cart-drawer .cf-cart-grid { grid-template-columns:minmax(0,1fr);gap:20px; }
.cf-cart-drawer .cf-cart-heading { margin-bottom:16px; }
.cf-cart-drawer .cf-cart-heading>div:first-child { display:none; }
.cf-cart-drawer .cf-cart-checkout { position:static; }
html.dark .cf-cart-drawer { background:#111827;color:#eaf0fa; }
html.dark .cf-cart-drawer-heading,html.dark .cf-cart-drawer-footer { background:#172136;border-color:#ffffff24; }
html.dark .cf-cart-drawer-close { border-color:#ffffff30; }
@keyframes cf-cart-drawer-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(max-width:900px) { .cf-cart-drawer { width:100vw; } }
@media(max-width:560px) { .cf-cart-drawer-heading { padding:16px; }.cf-cart-drawer-heading h2 { font-size:18px; }.cf-cart-drawer .cf-cart { padding:18px 16px; }.cf-cart-drawer-footer { padding-inline:16px; } }
@media(prefers-reduced-motion:reduce) { .cf-cart-drawer[open] { animation:none; } }
