/* A readable side cart, sharing the store's type and colours. */
body.estroik-readable .estroik-cart-drawer { width: min(480px,100vw); background: #fff; border-left: 1px solid #d9dcd5; box-shadow: -12px 0 32px #0002; }
body.estroik-readable .estroik-cart-drawer__overlay { background: #15201880; backdrop-filter: none; }
body.estroik-readable .estroik-cart-drawer__header { padding: 18px; gap: 12px; }
body.estroik-readable .estroik-cart-drawer__header h2 { font-size: 25px; letter-spacing: 0; text-transform: none; }
body.estroik-readable .estroik-cart-drawer__close { width: auto; min-width: 44px; height: 44px; padding: 8px 10px; gap: 6px; border-radius: 4px; background: #fff; font-size: 16px; }
body.estroik-readable .estroik-cart-drawer__content { min-height: 0; overscroll-behavior: contain; touch-action: pan-y; }
body.estroik-readable .estroik-drawer-cart__item-main { grid-template-columns: 80px minmax(0,1fr); gap: 12px 16px; padding: 20px 18px; }
body.estroik-readable .estroik-drawer-cart__thumb { width: 80px; height: 80px; border-radius: 4px; border: 1px solid #d9dcd5; }
body.estroik-readable .estroik-drawer-cart__thumb img { object-fit: contain; }
body.estroik-readable .estroik-drawer-cart__name { font-size: 18px; line-height: 1.45; overflow-wrap: anywhere; }
body.estroik-readable .estroik-drawer-cart__variation,
body.estroik-readable .estroik-drawer-cart__unit-price { font-size: 17px; }
body.estroik-readable .estroik-drawer-cart__qty { border-radius: 4px; border-color: #aab3a5; padding: 0; gap: 0; }
body.estroik-readable .estroik-drawer-cart__qty-btn { width: 44px; height: 44px; min-height: 44px; flex-basis: 44px; border: 0 !important; border-radius: 3px; color: #31583b !important; }
body.estroik-readable .estroik-drawer-cart__qty-value { min-width: 38px; font-size: 19px; }
body.estroik-readable .estroik-drawer-cart__qty-icon svg { width: 18px; height: 18px; }
body.estroik-readable .estroik-drawer-cart__prices { grid-column: 2; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; padding: 0; min-width: 0; }
body.estroik-readable .estroik-drawer-cart__remove { width: auto; height: 44px; min-height: 44px; padding: 8px; margin: 0; gap: 6px; border-radius: 4px; color: #5f382f !important; font-size: 16px; }
body.estroik-readable .estroik-drawer-cart__price-current { font-size: 19px; white-space: nowrap; }
body.estroik-readable .estroik-drawer-cart__summary { flex-wrap: wrap; background: #f4f7f1; border-color: #d9dcd5; }
body.estroik-readable .estroik-drawer-cart__sum-label { font-size: 18px; }
body.estroik-readable .estroik-drawer-cart__sum-value { font-size: 25px; }
body.estroik-readable .estroik-cart-drawer__footer { gap: 10px; padding-bottom: max(20px,env(safe-area-inset-bottom)); }
body.estroik-readable .simple-cart-delivery-note { margin: 0 0 8px; font-size: 16px; line-height: 1.5; }
body.estroik-readable .estroik-cart-drawer :is(.estroik-cart-drawer__checkout,.estroik-cart-drawer__cta) { min-height: 54px; padding: 12px 16px; background: #31583b; border-radius: 4px; color: #fff; font-size: 19px; letter-spacing: 0; text-transform: none; box-shadow: none; transform: none; }
body.estroik-readable .estroik-cart-drawer :is(.estroik-cart-drawer__checkout,.estroik-cart-drawer__cta):hover { background: #23422b; }
body.estroik-readable .estroik-cart-drawer__cart-link { min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: 17px; letter-spacing: 0; text-transform: none; text-decoration: underline; }
body.estroik-readable .simple-cart-continue { min-height: 48px; padding: 10px; border: 1px solid #858e82; border-radius: 4px; background: #fff; color: #31583b; font-size: 18px; font-weight: 600; box-shadow: none; }
body.estroik-readable .simple-cart-feedback { margin: 0; padding: 14px 18px; background: #fff5ed; color: #75341f; font-size: 17px; line-height: 1.5; }
body.estroik-readable .estroik-cart-drawer [disabled] { opacity: .5; cursor: wait; }
@media (max-width: 360px) {
  body.estroik-readable .estroik-cart-drawer__header h2 { font-size: 22px; }
  body.estroik-readable .estroik-drawer-cart__item-main { grid-template-columns: 60px minmax(0,1fr); gap: 12px; padding-inline: 14px; }
  body.estroik-readable .estroik-drawer-cart__thumb { width: 60px; height: 60px; }
}

/* Only the item list scrolls. The order action stays visible on short phones. */
html.estroik-cart-panel-open { overflow: hidden; }
body.estroik-readable .estroik-cart-panel { top: 0; bottom: 0; width: min(460px,100%); max-width: 100%; height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__header { flex: 0 0 auto; padding-top: max(16px,env(safe-area-inset-top)); }
body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__header h2 { font-size: 23px; line-height: 1.3; }
body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__close { flex-shrink: 0; }
body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__content,
body.estroik-readable .estroik-cart-panel .estroik-drawer-cart { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; }
body.estroik-readable .estroik-cart-panel__items { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; }
body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__footer { flex: 0 0 auto; display: grid; gap: 8px; padding: 14px 18px max(12px,env(safe-area-inset-bottom)); border-top: 1px solid #d9dcd5; background: #f4f6f0; }
body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__summary { padding: 0; border: 0; background: none; gap: 8px; }
body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__summary p { margin: 0; }
body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__sum-label { font-size: 17px; font-weight: 400; }
body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__sum-value { font-size: 24px; }
body.estroik-readable .estroik-cart-panel .simple-cart-delivery-note { margin: 0 0 4px; font-size: 14px; line-height: 1.4; }
body.estroik-readable .estroik-cart-panel__links { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
body.estroik-readable .estroik-cart-panel__links :is(a,button) { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 6px 0; border: 0; background: none; font: 400 15px/1.3 Arial,sans-serif; text-decoration: underline; color: #31583b; text-transform: none; }
body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__checkout { display: flex; align-items: center; justify-content: center; line-height: 1.35; font-size: 18px; }
body.estroik-readable .estroik-cart-panel .simple-cart-feedback { flex: 0 0 auto; padding: 8px 18px; font-size: 15px; }
body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__empty-state { margin: auto 0; text-align: center; }
body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__name { font-size: 17px; }
body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__qty { width: fit-content; }
body.estroik-readable .estroik-cart-panel [disabled] { cursor: default; }
@media (max-width: 520px) {
  body.estroik-readable .estroik-cart-panel { width: 100%; border: 0; }
  body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__item-main { grid-template-columns: 68px minmax(0,1fr); padding: 16px; gap: 10px 14px; }
  body.estroik-readable .estroik-cart-panel .estroik-drawer-cart__thumb { width: 68px; height: 80px; }
  body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__header { padding-inline: 16px; }
}
@media (max-height: 450px) {
  body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__content { overflow-y: auto; }
  body.estroik-readable .estroik-cart-panel .estroik-drawer-cart { flex: 0 0 auto; overflow: visible; }
  body.estroik-readable .estroik-cart-panel__items { flex: 0 0 auto; overflow: visible; }
}
@media (max-width: 360px) {
  body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__header { padding-inline: 12px; gap: 8px; }
  body.estroik-readable .estroik-cart-panel .estroik-cart-drawer__header h2 { font-size: 20px; white-space: nowrap; }
}
