/* Side cart. Inherits the theme's font and text colour; colours fall back to neutral values. */
.bulcom-drawer-toggle{position:fixed;right:18px;bottom:18px;z-index:99990;width:54px;height:54px;border-radius:50%;border:0;background:var(--bulcom-drawer-accent,var(--wp--preset--color--contrast,#1d1d1f));color:var(--bulcom-drawer-on-accent,var(--wp--preset--color--base,#fff));box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.bulcom-drawer-toggle:focus-visible{outline:3px solid currentColor;outline-offset:3px}
/* Themes size and colour every button and icon: the cart button keeps its own. */
body .bulcom-drawer-root .bulcom-drawer-toggle{width:54px;height:54px;min-width:0;min-height:0;padding:0;line-height:1;text-transform:none;letter-spacing:normal}
body .bulcom-drawer-root .bulcom-drawer-toggle svg{width:24px;height:24px;max-width:none;flex:0 0 auto;display:block;fill:none;stroke:currentColor}
.bulcom-drawer-count{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#b32d2e;color:#fff;font:600 12px/22px system-ui,sans-serif;text-align:center}
.bulcom-drawer-count[hidden]{display:none}
.bulcom-drawer-backdrop{position:fixed;inset:0;z-index:99991;background:rgba(0,0,0,.35);opacity:0;transition:opacity .2s}
.bulcom-drawer{position:fixed;top:0;right:0;bottom:0;z-index:99992;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--wp--preset--color--base,#fff);color:var(--wp--preset--color--contrast,#1d1d1f);font:inherit;box-shadow:-6px 0 24px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .25s ease}
.bulcom-drawer-open .bulcom-drawer{transform:none}
.bulcom-drawer-open .bulcom-drawer-backdrop{opacity:1}
@media (prefers-reduced-motion:reduce){.bulcom-drawer,.bulcom-drawer-backdrop{transition:none}}
.bulcom-drawer header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(0,0,0,.1)}
.bulcom-drawer h2{margin:0;font-size:1.15em}
.bulcom-drawer-close{border:0;background:none;color:inherit;font-size:28px;line-height:1;cursor:pointer;padding:4px 8px}
.bulcom-drawer-body{flex:1;overflow:auto;padding:8px 18px}
.bulcom-drawer-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08);align-items:start}
.bulcom-drawer-item img{width:64px;height:64px;object-fit:cover;border-radius:4px;background:rgba(0,0,0,.04)}
.bulcom-drawer-name{font-weight:600;line-height:1.3;color:inherit;text-decoration:none}
.bulcom-drawer-meta{font-size:.85em;opacity:.75;margin-top:2px}
.bulcom-drawer-qty{display:flex;width:max-content;align-items:center;margin-top:8px;border:1px solid rgba(0,0,0,.2);border-radius:4px}
.bulcom-drawer-qty button{width:32px;height:32px;border:0;background:none;color:inherit;font-size:18px;cursor:pointer}
.bulcom-drawer-qty button:disabled{opacity:.35;cursor:default}
.bulcom-drawer-qty span{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}
.bulcom-drawer-price{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bulcom-drawer-price small{display:block;opacity:.7}
.bulcom-drawer-remove{display:block;margin-top:10px;border:0;background:none;color:inherit;opacity:.7;text-decoration:underline;cursor:pointer;font-size:.85em;padding:0}
.bulcom-drawer footer{padding:16px 18px;border-top:1px solid rgba(0,0,0,.1)}
.bulcom-drawer-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.1em;font-variant-numeric:tabular-nums}
.bulcom-drawer-note{font-size:.85em;opacity:.75;margin:6px 0 12px}
.bulcom-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bulcom-drawer-actions a{display:block;padding:12px;border-radius:var(--bulcom-drawer-radius,10px);text-align:center;text-decoration:none;font-weight:600;border:1px solid currentColor;color:inherit}
.bulcom-drawer-actions a.is-primary{background:var(--bulcom-drawer-accent,var(--wp--preset--color--contrast,#1d1d1f));color:var(--bulcom-drawer-on-accent,var(--wp--preset--color--base,#fff));border-color:transparent}
.bulcom-drawer-actions:has(a:only-child){grid-template-columns:1fr}

/* The shop's side: the panel slides in from the left when it is chosen. */
.bulcom-drawer-root--left .bulcom-drawer{right:auto;left:0;transform:translateX(-100%);box-shadow:6px 0 24px rgba(0,0,0,.15)}
.bulcom-drawer-root--left .bulcom-drawer-toggle{right:auto;left:18px}

/* Promo code and the offer of the panel. */
.bulcom-drawer-total--discount{font-weight:600;font-size:1em;color:#1e7e34}
.bulcom-drawer-coupon{display:flex;gap:8px;margin:8px 0 2px}
.bulcom-drawer-coupon input{flex:1;min-width:0;padding:10px;border:1px solid rgba(0,0,0,.25);border-radius:var(--bulcom-drawer-radius,10px);font:inherit;background:transparent;color:inherit}
.bulcom-drawer-coupon button{border:1px solid currentColor;background:none;color:inherit;border-radius:var(--bulcom-drawer-radius,10px);padding:10px 14px;font-weight:600;cursor:pointer}
.bulcom-drawer-coupon__applied{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.85em}
.bulcom-drawer-coupon__applied span{background:rgba(0,0,0,.06);border-radius:999px;padding:3px 10px;font-weight:600;letter-spacing:.02em}
.bulcom-drawer-coupon__applied button{border:0;background:none;color:inherit;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;opacity:.7}
.bulcom-drawer-offer{margin:0 0 12px;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:10px 12px;background:rgba(0,0,0,.02)}
.bulcom-drawer-offer h3{margin:0 0 8px;font-size:.95em;color:var(--bulcom-drawer-accent,inherit)}
.bulcom-drawer-offer s{opacity:.6;margin-right:6px}

/* A few more products, under the buttons. */
.bulcom-drawer-suggest{margin-top:14px;border-top:1px solid rgba(0,0,0,.1);padding-top:10px}
.bulcom-drawer-suggest h3{margin:0 0 8px;font-size:.95em}
.bulcom-drawer-suggest__item{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:6px 0}
.bulcom-drawer-suggest__item img{width:44px;height:44px;object-fit:cover;border-radius:4px;background:rgba(0,0,0,.04)}
.bulcom-drawer-suggest__price{display:block;font-size:.85em;opacity:.8;font-variant-numeric:tabular-nums}
.bulcom-drawer-suggest__add{border:1px solid currentColor;background:none;color:inherit;border-radius:var(--bulcom-drawer-radius,10px);padding:7px 12px;font-weight:600;cursor:pointer}
.bulcom-drawer-suggest__add:disabled{opacity:.5;cursor:default}
.bulcom-drawer-empty{padding:32px 0;text-align:center;opacity:.8}
.bulcom-drawer-error{color:#b32d2e;margin:8px 0}
.bulcom-drawer-busy{opacity:.55;pointer-events:none}
/* Themes give every button their own padding and size: the panel's buttons keep theirs. */
body .bulcom-drawer button{min-width:0;min-height:0;text-transform:none;letter-spacing:normal;box-shadow:none}
body .bulcom-drawer .bulcom-drawer-qty button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0;line-height:1;font-size:18px;border-radius:0;background:none;color:inherit}
body .bulcom-drawer .bulcom-drawer-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;line-height:1;background:none;color:inherit;border-radius:8px}
body .bulcom-drawer .bulcom-drawer-remove{padding:0;background:none;color:inherit;font-size:.85em;line-height:1.4}
body .bulcom-drawer .bulcom-drawer-suggest__add{padding:7px 12px;line-height:1.2;background:none;color:inherit}
body .bulcom-drawer .bulcom-drawer-coupon button{padding:10px 14px;line-height:1.2;background:none;color:inherit}
body .bulcom-drawer .bulcom-drawer-coupon__applied button{padding:0 4px;line-height:1;background:none;color:inherit}
html.bulcom-drawer-lock{overflow:hidden}
/* The WordPress toolbar stays visible above the panel for anyone logged in. */
body.admin-bar .bulcom-drawer{top:32px}
@media screen and (max-width:782px){body.admin-bar .bulcom-drawer{top:46px}}
/* A product with no picture of its own gets the shop's placeholder, so the row keeps its shape. */
.bulcom-drawer-item img,.bulcom-drawer-suggest__item img{display:block}
