.ca-cart-float{position:fixed;z-index:99990;right:16px;top:35vh;display:flex;align-items:center;border:1px solid #dde3e8;border-radius:18px;background:#fff;box-shadow:0 5px 24px #14293f26;color:#16334d}
.ca-cart-float button{border:0;margin:0;background:transparent;color:inherit;cursor:pointer;min-width:44px;min-height:56px;padding:10px}
.ca-cart-float .ca-cart-launch{position:relative;display:grid;place-items:center;width:58px;border-radius:18px 0 0 18px;background:#195b91;color:#fff}
.ca-cart-count{position:absolute;top:3px;right:3px;min-width:19px;height:19px;padding:0 3px;line-height:19px;border-radius:12px;background:#fff;color:#195b91;font-size:11px;font-weight:700}
.ca-cart-float .ca-cart-move{touch-action:none;cursor:grab;font-size:23px;padding:4px;min-width:30px;width:30px}.ca-cart-move:active{cursor:grabbing}
#ca-cart-dialog{--ca-blue:#195b91;--ca-ink:#172c3c;--ca-muted:#68747c;--ca-line:#e8e5df;box-sizing:border-box;position:fixed;inset:12px 12px 12px auto;margin:0;width:460px;max-width:100%;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--ca-ink);box-shadow:-8px 0 40px #0002;font-family:inherit;font-size:14px;line-height:1.45;overflow:hidden}
#ca-cart-dialog[open]{display:flex;flex-direction:column;animation:ca-cart-enter .2s ease-out}#ca-cart-dialog::backdrop{background:#14263470}
#ca-cart-dialog *,#ca-cart-float *{box-sizing:border-box}#ca-cart-dialog button,#ca-cart-dialog input,#ca-cart-dialog a{font-family:inherit}
#ca-cart-dialog button{cursor:pointer;min-width:0;min-height:0;margin:0;line-height:1.45;letter-spacing:normal;text-transform:none}#ca-cart-dialog a{color:inherit;text-decoration:none}
#ca-cart-dialog :focus-visible,#ca-cart-float :focus-visible{outline:3px solid #3685c5;outline-offset:3px}
.ca-cart-head{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
#ca-cart-title{font-size:21px;line-height:1.3;margin:0;font-weight:700;color:var(--ca-ink)}#ca-cart-heading-count{font-size:inherit;font-weight:inherit}
#ca-cart-dialog .ca-cart-close{border:0;background:#f3f1ec;color:var(--ca-ink);width:44px;height:44px;flex:0 0 44px;padding:0;font-size:27px;border-radius:13px;line-height:1}
#ca-cart-benefit{flex-shrink:0}.ca-cart-gift{padding:14px 22px;background:#f7f6f2;border-top:1px solid var(--ca-line);border-bottom:1px solid var(--ca-line)}
.ca-cart-gift-heading{display:flex;align-items:center;gap:10px}.ca-cart-gift-icon{font-size:25px;line-height:1;flex-shrink:0}.ca-cart-gift strong{font-size:14px;line-height:1.45;font-weight:600}
.ca-cart-gift small{display:block;font-size:10px;line-height:1.4;color:var(--ca-muted)}.ca-cart-progress{height:7px;margin:10px 0 7px;border-radius:8px;background:#e3e1da;overflow:hidden}
.ca-cart-progress span{display:block;height:100%;background:var(--ca-blue);border-radius:8px;transition:width .2s}.ca-cart-gift.is-qualified{background:#f1f7f2}.is-qualified .ca-cart-progress span{background:#257147}
.ca-cart-scroll{padding:20px 22px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin}
.ca-cart-message:empty{display:none}.ca-cart-message{padding:7px 22px;background:#edf4fa;font-size:12px;flex-shrink:0}#ca-cart-dialog .ca-cart-undo{border:0;background:transparent;text-decoration:underline;font-weight:600;color:var(--ca-blue);padding:5px 8px}
#ca-cart-dialog .ca-cart-items{list-style:none;padding:0;margin:0}.ca-cart-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:13px;padding:16px 0;border-bottom:1px solid var(--ca-line)}.ca-cart-item:first-child{padding-top:0}
.ca-cart-picture{align-self:start;background:#f6f5f2;border-radius:12px;overflow:hidden}.ca-cart-picture img{width:76px;height:88px;object-fit:cover;display:block}
#ca-cart-dialog .ca-cart-name{display:block;font-size:14px;line-height:1.4;font-weight:600;color:var(--ca-ink)}.ca-cart-details{font-size:11px;color:var(--ca-muted);margin-top:4px}
#ca-cart-dialog .ca-cart-details dl,#ca-cart-dialog .ca-cart-details p{margin:0;padding:0}#ca-cart-dialog .ca-cart-details dt,#ca-cart-dialog .ca-cart-details dd{display:inline;margin:0 4px 0 0;padding:0}#ca-cart-dialog .ca-cart-details dd p{display:inline}
.ca-cart-controls{margin-top:10px}.ca-cart-quantity{display:inline-flex;height:38px;border:1px solid #dad8d1;border-radius:10px;overflow:hidden}
#ca-cart-dialog .ca-cart-quantity button{width:32px;min-width:32px;padding:0;background:white;color:var(--ca-ink);border:0;font-size:18px;line-height:36px}
#ca-cart-dialog .ca-cart-quantity input{width:32px;min-width:32px;height:36px;padding:0;text-align:center;border:0;border-radius:0;font-size:14px;background:white;color:var(--ca-ink);appearance:textfield;-moz-appearance:textfield}.ca-cart-quantity input::-webkit-inner-spin-button{appearance:none}
.ca-cart-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px;min-width:55px}
#ca-cart-dialog .ca-cart-remove{border:0;background:transparent;color:var(--ca-muted);text-decoration:underline;font-size:12px;padding:0;line-height:22px}
.ca-cart-prices{text-align:right;white-space:nowrap}.ca-cart-line-total{display:block;font-size:16px;font-weight:700}.ca-cart-original{display:block;font-size:12px;color:#899198;line-height:1.4}
#ca-cart-dialog .ca-cart-recommendations h3{font-size:14px;font-weight:600;color:var(--ca-ink);line-height:1.4;margin:18px 0 10px}
.ca-cart-suggestion{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:15px;background:#f7f6f3;margin-top:8px}
.ca-cart-suggestion-image{border-radius:8px;overflow:hidden;background:white;display:block}.ca-cart-suggestion-image img{width:58px;height:64px;object-fit:cover;display:block}
#ca-cart-dialog .ca-cart-suggestion-name{font-size:13px;line-height:1.3;font-weight:500;display:block}.ca-cart-suggestion-price{display:block;font-size:13px;margin-top:3px}
#ca-cart-dialog .ca-cart-add{display:block;border:0;min-width:76px;border-radius:11px;background:#203b50;color:white;padding:12px 10px;font-size:12px;font-weight:600;text-align:center;white-space:nowrap;line-height:20px}
#ca-cart-dialog .ca-cart-add:hover{background:var(--ca-blue)}
.ca-cart-footer{padding:14px 22px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--ca-line);background:#fff;flex-shrink:0}.ca-cart-footer:empty{display:none}
.ca-cart-subtotal,.ca-cart-discount,.ca-cart-shipping{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.5;margin:0 0 4px;color:#5a6975}.ca-cart-subtotal strong{font-weight:500}.ca-cart-discount{color:#257147}.ca-cart-discount strong{font-weight:600}
.ca-cart-total{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px dashed #ddd9d1;padding-top:9px;margin-top:8px;margin-bottom:12px;font-size:15px}.ca-cart-total strong:last-child{font-size:23px;line-height:1.2}
#ca-cart-dialog .ca-cart-primary{display:block;width:100%;padding:15px 18px;border:0;border-radius:13px;text-align:center;font-size:15px;font-weight:700;line-height:1.5;background:var(--ca-blue);color:#fff;text-decoration:none}#ca-cart-dialog .ca-cart-primary:hover{background:#124875}
#ca-cart-dialog .ca-cart-secondary{display:block;width:100%;padding:12px 0 5px;border:0;background:transparent;color:var(--ca-ink);text-align:center;text-decoration:underline;font-size:13px;font-weight:600}
#ca-cart-dialog .ca-cart-full{display:block;text-align:center;color:var(--ca-muted);font-size:11px;padding:4px 0 0}
#ca-cart-dialog [disabled],#ca-cart-dialog [aria-disabled=true]{opacity:.5;cursor:wait}
.ca-cart-empty{display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:280px;height:100%;padding:20px 8px}.ca-cart-empty-icon{font-size:48px;color:var(--ca-blue)}.ca-cart-empty h3{font-size:22px;line-height:1.3;margin:12px 0}.ca-cart-empty p{color:var(--ca-muted);font-size:14px;margin:0 0 24px}
@keyframes ca-cart-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:600px){#ca-cart-dialog{inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0}.ca-cart-head{padding:14px 18px}#ca-cart-title{font-size:20px}.ca-cart-gift{padding:12px 18px}.ca-cart-scroll{padding:18px}.ca-cart-footer{padding:12px 18px max(10px,env(safe-area-inset-bottom))}.ca-cart-item{grid-template-columns:70px minmax(0,1fr) auto;gap:10px}.ca-cart-picture img{width:70px;height:82px}.ca-cart-line-total{font-size:15px}.ca-cart-float .ca-cart-move{min-width:36px;width:36px}}
@media(max-width:350px){.ca-cart-item{grid-template-columns:56px minmax(0,1fr) auto;gap:8px}.ca-cart-picture img{width:56px;height:68px}#ca-cart-dialog .ca-cart-name{font-size:13px}.ca-cart-suggestion{grid-template-columns:46px minmax(0,1fr) auto;gap:7px}.ca-cart-suggestion-image img{width:46px;height:58px}#ca-cart-dialog .ca-cart-add{min-width:62px;padding:10px 6px}}
@media(prefers-reduced-motion:reduce){#ca-cart-dialog[open]{animation:none}.ca-cart-progress span{transition:none}}
/* Optional complements sit after the cart summary, clearly separate from purchased items. */
.ca-cart-summary{padding-top:15px}.ca-cart-summary .ca-cart-total{margin-bottom:0}
.ca-cart-recommendations{margin-top:26px;padding-top:20px;border-top:1px solid var(--ca-line)}
.ca-cart-optional{font-size:9px;letter-spacing:.13em;font-weight:700;color:#697c89}
#ca-cart-dialog .ca-cart-recommendations h3{margin:5px 0 5px;font-size:15px}
#ca-cart-dialog .ca-cart-recommendation-context{font-size:11px;line-height:1.45;margin:0 0 12px;color:#68747c}
.ca-cart-suggestion{row-gap:9px;padding:11px}
.ca-cart-suggestion-badge{grid-column:1/-1;justify-self:start;max-width:100%;border-radius:20px;padding:4px 9px;background:#26734f;color:#fff;font-size:10px;font-weight:600;line-height:1.35}

#ca-cart-dialog .ca-cart-primary{background:#167846}#ca-cart-dialog .ca-cart-primary:hover{background:#105e36}.ca-cart-footer .ca-cart-summary{padding-top:0}.ca-cart-footer .ca-cart-total{margin-bottom:12px}

/* Mobile bottom sheet. Desktop retains the side panel. */
@media (max-width:600px) {
  #ca-cart-dialog {
    inset:auto 0 0;
    width:100%;
    height:auto;
    max-height:90vh;
    max-height:90dvh;
    border-radius:20px 20px 0 0;
    box-shadow:0 -8px 36px #14263430;
  }
  #ca-cart-dialog[open] { animation:ca-cart-sheet-enter .2s ease-out; }
  #ca-cart-dialog::backdrop { background:#14263466; }
  #ca-cart-dialog .ca-cart-scroll { flex:0 1 auto; }
  #ca-cart-dialog .ca-cart-footer { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
  #ca-cart-dialog .ca-cart-empty { height:auto;min-height:220px; }
}
/* Short viewports: let the whole sheet scroll so controls cannot be clipped. */
@media (max-width:600px) and (max-height:600px) {
  #ca-cart-dialog { overflow-y:auto;overscroll-behavior:contain; }
  #ca-cart-dialog .ca-cart-scroll { flex:0 0 auto;overflow:visible; }
  #ca-cart-dialog .ca-cart-head { position:sticky;top:0;z-index:1;background:#fff; }
}
@keyframes ca-cart-sheet-enter {
  from { transform:translateY(100%); }
  to { transform:translateY(0); }
}
@media (max-width:600px) and (prefers-reduced-motion:reduce) {
  #ca-cart-dialog[open] { animation:none; }
}

/* Experiment A: full-screen mobile. The shared content and actions stay identical. */
@media (max-width:600px) {
  #ca-cart-dialog[data-ca-variant="A"] {
    inset:0;
    height:100vh;
    height:100dvh;
    max-height:100vh;
    max-height:100dvh;
    border-radius:0;
  }
  #ca-cart-dialog[data-ca-variant="A"] .ca-cart-scroll { flex-grow:1; }
}
