/* Bella Cafe cart add-on. Kept separate so the original design remains untouched. */
.cart-float{position:fixed;right:max(16px,env(safe-area-inset-right,16px));bottom:max(18px,env(safe-area-inset-bottom,18px));z-index:9;width:58px;height:58px;border:1px solid #d9ad7380;border-radius:50%;background:#fff;color:var(--deep);box-shadow:0 8px 28px #30231d2e;display:grid;place-items:center;padding:0}
.cart-float:hover{background:var(--tint)}
.cart-float svg{width:25px;height:25px}
.cart-badge{position:absolute;top:-5px;left:-4px;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;font:700 12px/1 Arial,sans-serif;border:2px solid var(--paper)}
.cart-badge[data-count="0"]{display:none}
.cart-dialog{width:min(560px,calc(100% - 24px));max-height:min(90dvh,760px);padding:0;overflow:hidden}
.cart-shell{display:flex;flex-direction:column;max-height:min(90dvh,760px)}
.cart-head{position:relative;padding:24px 24px 17px;border-bottom:1px solid var(--line);background:#fff}
.cart-head .eyebrow{display:block;margin-bottom:3px}.cart-head h2{font-size:1.55rem;margin:0;padding-left:48px}.cart-head p{margin:3px 0 0;color:var(--muted);font-size:.875rem}
.cart-scroll{overflow:auto;padding:18px 22px 22px}
.cart-empty{text-align:center;padding:34px 10px;color:var(--muted)}.cart-empty strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:5px}
.cart-line{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-line:first-child{padding-top:0}.cart-line-main{min-width:0}.cart-line-name{display:block;font-weight:700;line-height:1.5}.cart-line-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:.8125rem;margin-top:3px}.cart-line-subtotal{display:block;color:var(--accent);font-weight:700;margin-top:6px;direction:ltr;text-align:right}
.cart-qty{display:flex;align-items:center;gap:7px;align-self:center}.cart-qty button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:20px;line-height:1}.cart-qty button:hover{background:var(--tint)}.cart-qty span{min-width:22px;text-align:center;font-weight:700;font-family:Arial,sans-serif}.cart-remove{border:0;background:none;color:#9b5446;padding:3px 0;margin-top:5px;font-size:.8125rem;text-decoration:underline}
.cart-summary{display:flex;justify-content:space-between;align-items:center;padding:17px 0 8px;font-size:1.05rem}.cart-summary strong{font:700 1.25rem/1 Arial,sans-serif;color:var(--accent);direction:ltr}.cart-delivery{margin:0 0 16px;background:#f2f8f4;border:1px solid #d9e8de;border-radius:7px;color:#235e3b;padding:10px 12px;font-size:.875rem}
.cart-form{display:grid;gap:10px}.cart-field{display:grid;gap:5px}.cart-field span{font-size:.8125rem;font-weight:600;color:var(--muted)}.cart-field input,.cart-field textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;padding:11px 12px;font:inherit;outline:0}.cart-field input:focus,.cart-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b552c18}.cart-field textarea{min-height:72px;resize:vertical}.cart-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cart-send{width:100%;min-height:52px;border:0;border-radius:7px;background:#1f7a49;color:#fff;font-weight:700;margin-top:5px;padding:12px 16px}.cart-send:hover{background:#17643b}.cart-send:disabled{opacity:.5;cursor:not-allowed}.cart-clear{width:100%;border:0;background:none;color:var(--muted);padding:11px 6px 0;text-decoration:underline;font-size:.8125rem}
.cart-size-picker{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.cart-size-label{display:block;font-size:.875rem;font-weight:700;margin-bottom:9px}.cart-size-options{display:flex;gap:8px;flex-wrap:wrap}.cart-size-option{flex:1;min-width:105px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.cart-size-option[aria-pressed="true"]{border-color:var(--accent);background:var(--tint);box-shadow:inset 0 0 0 1px var(--accent)}.cart-size-option small{color:var(--muted)}.cart-size-option strong{font-family:Arial,sans-serif;color:var(--accent);direction:ltr}.add-cart-detail{width:100%;min-height:49px;margin-top:12px;border:0;border-radius:6px;background:var(--accent);color:#fff;font-weight:700;padding:12px}.add-cart-detail:hover{background:#764522}.add-cart-detail:disabled{opacity:.5;cursor:not-allowed}.cart-unpriced{margin:18px 0 0;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--tint);color:var(--muted);font-size:.875rem}
@media(max-width:700px){.cart-float{right:14px;bottom:max(18px,env(safe-area-inset-bottom,18px));width:54px;height:54px}.cart-dialog{width:100%;max-height:92dvh;border-radius:18px 18px 0 0;margin:auto 0 0}.cart-shell{max-height:92dvh}.cart-head{padding:20px 18px 15px}.cart-scroll{padding:16px 18px 22px}.cart-fields-row{grid-template-columns:1fr}.cart-line{gap:9px}.order-float{z-index:8}}

/* 2026-09-11 owner polish v3: keep cart controls clear of mobile browser chrome. */
@media(max-width:700px){
  .cart-float{
    bottom:max(28px,calc(env(safe-area-inset-bottom,0px) + 10px));
    width:52px;
    height:52px;
  }
  .cart-send{
    position:sticky;
    bottom:0;
    z-index:3;
    box-shadow:0 -10px 18px rgba(255,255,255,.96),0 8px 18px rgba(31,122,73,.12);
  }
}
