/* MON-210: fixed shell, scrollable cart and two-product recommendation slider. */
html.molfar-side-open { overflow: hidden !important; }
.molfar-side-open .mfp-bg { background: #000 !important; opacity: .45 !important; }
#smca-modal-body.molfar-side-cart { width: 420px; max-width: 100vw; height: 100dvh; display: flex; flex-direction: column; color: #1f1f1f; background: #fff; transition: right .3s; }
.molfar-side-cart [hidden] { display: none !important; }
.molfar-side-cart button, .molfar-side-cart input, .molfar-side-cart select, .molfar-side-cart textarea { font-family: inherit; }
.molfar-side-cart .popup-basket-header { flex: none; padding: 16px 24px 12px; box-shadow: none; background: #fff; }
.molfar-side-cart .popup-basket-header__title { font-size: 24px; line-height: 1.3; }
.molfar-side-cart .popup-basket-header__close { width: 44px; height: 44px; border: 0; background: transparent; color: #1f1f1f; padding: 0; display: flex; align-items: center; justify-content: center; }
.molfar-side-cart .molfar-popup-progress { flex: none; border-bottom: 1px solid #e6e6e6; }
.molfar-side-cart .molfar-popup-progress:empty { display: none; }
.molfar-side-cart .molfar-inpost-message { margin: 0; }
.molfar-side-middle { flex: 1; min-height: 0; display: flex; flex-direction: column; }
#smca-modal-body.molfar-side-cart .popup-basket-body { padding: 0; flex: 0 1 auto; min-height: 0; height: auto !important; overflow-y: auto; overscroll-behavior: contain; border-bottom: 1px solid #e6e6e6; scrollbar-width: thin; }
.molfar-side-cart .popup-basket-list { display: block; margin: 0; }
.molfar-side-cart .popup-basket-item { padding: 16px 24px; grid-template-columns: 80px minmax(0,1fr); gap: 6px 16px; border-bottom: 1px solid #e6e6e6; }
.molfar-side-cart .popup-basket-item::before { display: none; }
.molfar-side-cart .popup-basket-item__photo { position: relative; grid-row: 1 / span 2; align-self: start; }
.molfar-side-cart .popup-basket-item__photo img { border: 1px solid #e6e6e6; border-radius: 4px; }
.molfar-side-cart .popup-basket-item__info { gap: 4px; min-width: 0; }
.molfar-side-cart .popup-basket-item__title, .molfar-side-rec-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.35; }
.molfar-side-cart .popup-basket-item__price { color: #6b6b6b; font-size: 13px; line-height: 1.4; font-weight: 400; }
.molfar-side-options-text { font-size: 11px; line-height: 1.3; color: #6b6b6b; }
.molfar-side-cart .popup-basket-item__quantity { width: auto; min-width: 0; display: grid; grid-template-columns: 136px minmax(0,1fr) 40px; gap: 4px; align-items: center; grid-column: 2; }
.molfar-side-cart .quantity:has([data-mon208]) { height: 42px; min-width: 136px; grid-template-columns: 40px 54px 40px; overflow: hidden; }
.molfar-side-cart .quantity__button { height: 40px; width: 40px; padding: 0; }
.molfar-side-cart .quantity__input { font-size: 15px; font-weight: 700; }
.molfar-side-row-total { font-size: 15px; font-weight: 700; line-height: 1.3; text-align: right; white-space: nowrap; }
.molfar-side-cart .mon208-stock-notice { grid-column: 1 / -1; color: #c8473d; }
.molfar-side-removed { padding: 12px 24px; min-height: 64px; color: #6b6b6b; font-size: 14px; line-height: 1.4; border-bottom: 1px solid #e6e6e6; }
.molfar-side-undo { background: transparent; border: 0; padding: 8px; color: #1f1f1f; text-decoration: underline; font-weight: 600; min-height: 40px; }
.molfar-side-empty { flex: 1; padding: 24px; text-align: left; align-self: stretch; display: flex; align-items: flex-start; border: 0; background: #fff; font-size: 16px; line-height: 1.5; font-weight: 700; color: #c8473d; cursor: pointer; }
.molfar-side-recommendations { flex: 1; min-height: 0; display: flex; flex-direction: column; padding-top: 24px; }
.molfar-side-recommendations h2 { flex: none; margin: 0; padding: 0 24px 8px; font-size: 17px; font-weight: 600; line-height: 1.4; }
.molfar-side-rec-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 24px; scrollbar-width: thin; }
.molfar-side-rec { display: grid; grid-template-columns: 72px minmax(0,1fr) 40px; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #e6e6e6; }
.molfar-side-rec-photo { width: 72px; height: 72px; }
.molfar-side-rec-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }
.molfar-side-rec-info { min-width: 0; }
.molfar-side-rec-name:hover { text-decoration: underline; }
.molfar-side-rec-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-top: 4px; font-size: 15px; color: #1f1f1f; }
.molfar-side-rec-price strong { font-weight: 700; }
.molfar-side-rec-price s, .molfar-side-rec-minimum, .molfar-side-rec-error { font-size: 12px; color: #6b6b6b; line-height: 1.4; }
.molfar-side-add { width: 40px; height: 40px; padding: 0; border-radius: 50%; border: 1px solid var(--accent-1,#fa8072); box-sizing: border-box; background: var(--accent-1,#fa8072); color: #fff; display: flex; align-items: center; justify-content: center; }
.molfar-side-add:hover { background: transparent; border-color: var(--osnovniy-tekst,#363636); color: var(--osnovniy-tekst,#363636); }
.molfar-side-add.is-loading { background: var(--accent-1,#fa8072); border-color: var(--accent-1,#fa8072); color: #fff; }
.molfar-side-add.is-added { background: #1e7f4f; border-color: #1e7f4f; color: #fff; cursor: default; }
.molfar-side-add.is-loading > svg, .molfar-side-add.is-added > svg { display: none; }
.molfar-side-spinner { width: 18px; height: 18px; border: 2px solid #ffffff66; border-top-color: #fff; border-radius: 50%; animation: molfar-side-spin .7s linear infinite; }
.molfar-side-added-icon { font-size: 22px; font-weight: 700; }
@keyframes molfar-side-spin { to { transform: rotate(360deg); } }
.molfar-side-option-form { grid-column: 1 / -1; }
.molfar-side-options-form { padding: 12px; background: #f5f5f5; font-size: 13px; }
.molfar-side-options-form label { display: block; margin: 8px 0; }
.molfar-side-options-form select, .molfar-side-options-form input:not([type=checkbox]), .molfar-side-options-form textarea { max-width: 100%; width: 100%; padding: 8px; border: 1px solid #aaa; box-sizing: border-box; font-size: 14px; }
.molfar-side-option-error,.molfar-side-option-action-error { color: #c8473d; }
.molfar-side-option-submit { min-height: 40px; padding: 8px 16px; border: 1px solid var(--accent-1,#fa8072); background: var(--accent-1,#fa8072); color: white; }
.molfar-side-option-submit:hover { background: transparent; border-color: var(--osnovniy-tekst,#363636); color: var(--osnovniy-tekst,#363636); }
.molfar-side-cart .popup-basket-footer { flex: none; padding: 16px 16px calc(16px + env(safe-area-inset-bottom,0px)); gap: 12px; background: #fff; border-top: 1px solid #e6e6e6; box-shadow: none; }
.molfar-side-cart .popup-basket-price { color: #1f1f1f; font-size: 19px; font-weight: 600; }
.molfar-side-cart #smca-footer-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.molfar-side-shopping, .molfar-side-go { min-width: 0; height: 46px; padding: 0 10px; border-radius: 4px; font-size: 14px; font-weight: 600; white-space: nowrap; display: flex; align-items: center; justify-content: center; cursor: pointer; box-sizing: border-box; }
.molfar-side-shopping { background: #fff; color: #1f1f1f; border: 1px solid #1f1f1f; }
.molfar-side-shopping:hover { background: #f5f5f5; }
.molfar-side-go { background: var(--accent-1,#fa8072); color: #fff; border: 1px solid var(--accent-1,#fa8072); }
.molfar-side-go:hover { background: transparent; color: var(--osnovniy-tekst,#363636); border-color: var(--osnovniy-tekst,#363636); }
.molfar-side-go[aria-disabled=true] { background: #e0e0e0; border-color: #e0e0e0; color: #777; cursor: default; }
.molfar-side-cart #smca-footer-buttons.is-stacked { grid-template-columns: 1fr; }
.molfar-side-cart #smca-footer-buttons.is-stacked .molfar-side-go { grid-row: 1; }
.molfar-side-action-error { color: #c8473d; font-size: 12px; line-height: 1.4; }
.molfar-side-action-error:empty { display: none; }
@media(max-width:767px) {
  #smca-modal-body.molfar-side-cart { width: 100vw; }
  .molfar-side-cart .popup-basket-header { padding-left: 16px; padding-right: 16px; }
  .molfar-side-cart .popup-basket-item { padding: 16px; grid-template-columns: 64px minmax(0,1fr); gap: 8px 12px; }
  .molfar-side-rec-scroll { padding: 0 16px; }
  .molfar-side-recommendations h2 { padding-left: 16px; padding-right: 16px; }
  .molfar-side-rec { grid-template-columns: 64px minmax(0,1fr) 40px; }
  .molfar-side-rec-photo { width: 64px; height: 64px; }
  .molfar-side-cart .popup-basket-item__quantity { grid-column: 1 / -1; }
  .molfar-side-cart .popup-basket-item__photo { grid-row: 1; }
  .molfar-side-empty { padding: 24px 16px; }
}
/* Recommendations stay above the footer; only the cart has a native scrollbar. */
.molfar-side-recommendations { flex: none; margin-top: auto; padding-top: 12px; position: relative; }
.molfar-side-rec-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 0 16px; min-height: 48px; }
.molfar-side-recommendations .molfar-side-rec-heading h2 { flex: 1; min-width: 0; padding: 0; font-size: 15px; overflow-wrap: anywhere; }
.molfar-side-slider-controls { display: flex; align-items: center; flex: none; }
.molfar-side-slider-controls button { width: 40px; height: 44px; padding: 0; display: flex; align-items: center; justify-content: center; border: 0; background: transparent; color: #363636; }
.molfar-side-slider-controls button:disabled { opacity: .35; cursor: default; }
.molfar-side-slider-controls button:focus-visible { outline: 2px solid var(--accent-1,#fa8072); outline-offset: -2px; }
.molfar-side-slider-page { font-size: 11px; white-space: nowrap; min-width: 30px; text-align: center; }
.molfar-side-rec-scroll { flex: none; height: 224px; overflow: hidden; padding: 0; margin: 0 24px; touch-action: pan-y; }
#smca-ajax-products { display: flex; flex-direction: column; transition: transform .3s ease; }
.molfar-side-rec { flex: none; height: 112px; box-sizing: border-box; }
.molfar-side-rec-error { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.molfar-side-recommendations > .molfar-side-option-form { position: absolute; inset: 0; z-index: 2; overflow-y: auto; background: #fff; padding: 8px 16px; box-sizing: border-box; overscroll-behavior: contain; }
.molfar-side-option-close { min-height: 40px; background: #fff; color: #363636; border: 1px solid #363636; border-radius: 4px; padding: 6px 12px; }
.is-row-slider .molfar-side-rec-scroll { height: 180px; margin: 0 16px; }
.is-row-slider #smca-ajax-products { flex-direction: row; }
.is-row-slider .molfar-side-rec { width: 50%; height: 180px; grid-template-columns: minmax(0,1fr) 40px; grid-template-rows: 56px minmax(0,1fr); gap: 6px; padding: 8px; align-items: start; border-bottom: 0; border-right: 1px solid #e6e6e6; }
.is-row-slider .molfar-side-rec-photo { width: 56px; height: 56px; }
.is-row-slider .molfar-side-rec-info { grid-row: 2; grid-column: 1 / -1; }
.is-row-slider .molfar-side-add { grid-column: 2; grid-row: 1; align-self: center; }
.is-row-slider [data-slider-prev] svg,.is-row-slider [data-slider-next] svg { transform: rotate(-90deg); }
.is-row-slider .molfar-side-rec-name { font-size: 12px; }
.is-row-slider .molfar-side-rec-price { font-size: 14px; gap: 4px; }
.is-row-slider .molfar-side-rec-minimum,.is-row-slider .molfar-side-rec-error { font-size: 11px; }
@media(min-width:480px) and (max-height:500px) {
  .is-row-slider .molfar-side-rec-scroll { height: 104px; }
  .is-row-slider .molfar-side-rec { height: 104px; grid-template-columns: 56px minmax(0,1fr) 40px; grid-template-rows: auto; align-items: center; }
  .is-row-slider .molfar-side-rec-info { grid-row: 1; grid-column: 2; }
  .is-row-slider .molfar-side-add { grid-column: 3; }
  .molfar-side-cart .molfar-inpost-progress { margin-top: 8px; margin-bottom: 8px; }
  .molfar-side-cart .popup-basket-footer { padding-top: 4px; padding-bottom: calc(4px + env(safe-area-inset-bottom,0px)); gap: 4px; }
}
@media(max-height:650px) {
  .molfar-side-cart .popup-basket-header { padding-top: 4px; padding-bottom: 4px; }
  .molfar-side-cart .popup-basket-header__title { font-size: 20px; }
  .molfar-side-cart .popup-basket-footer { padding-top: 8px; padding-bottom: calc(8px + env(safe-area-inset-bottom,0px)); gap: 8px; }
  .molfar-side-shopping,.molfar-side-go { font-size: 11px; height: 42px; padding: 0 6px; }
  .molfar-side-recommendations { padding-top: 4px; }
}
@media(prefers-reduced-motion:reduce) { #smca-ajax-products { transition: none; } }
@media(min-width:480px) and (max-height:500px) {
  .molfar-side-cart .popup-basket-header { padding-top: 0; padding-bottom: 0; }
  .molfar-side-cart .popup-basket-header__close { height: 40px; }
  .molfar-side-rec-heading { min-height: 44px; }
  .is-row-slider .molfar-side-rec-scroll { height: 72px; }
  .is-row-slider .molfar-side-rec { height: 72px; padding: 6px; grid-template-columns: 48px minmax(0,1fr) 40px; }
  .is-row-slider .molfar-side-rec-photo { width: 48px; height: 48px; }
  .is-row-slider .molfar-side-rec-name { -webkit-line-clamp: 1; }
  .molfar-side-cart .molfar-inpost-progress { margin-top: 4px; margin-bottom: 4px; font-size: 11px; }
  .molfar-side-cart .molfar-progress-message { margin-bottom: 4px; }
  .molfar-side-cart .popup-basket-footer { padding-top: 4px; padding-bottom: calc(4px + env(safe-area-inset-bottom,0px)); gap: 4px; }
  .molfar-side-cart .popup-basket-price { font-size: 16px; }
}
/* MON-222: item card — 92×92 photo; title top-aligned; stepper (left) and price (right) on the photo's bottom edge. */
.molfar-side-cart .popup-basket-item { grid-template-columns: 92px minmax(0,1fr); grid-template-rows: auto 1fr; gap: 6px 12px; padding: 12px 24px; }
.molfar-side-cart .popup-basket-item__photo { grid-row: 1 / span 2; width: 92px; height: 92px; }
.molfar-side-cart .popup-basket-item__photo img { display: block; width: 92px; height: 92px; object-fit: cover; box-sizing: border-box; border: 1px solid #F0EAE7; border-radius: 6px; }
.molfar-side-cart .popup-basket-item__info { grid-column: 2; grid-row: 1; align-self: start; gap: 2px; }
.molfar-side-cart .popup-basket-item__title { font-size: 13px; line-height: 1.35; font-weight: 500; }
.molfar-side-cart .popup-basket-item__quantity { grid-column: 2; grid-row: 2; align-self: end; grid-template-columns: auto minmax(0,1fr); gap: 4px 8px; }
/* Touch targets stay 40 px (MON-210); the field shows four digits (MON-208). */
.molfar-side-cart .quantity:has([data-mon208]) { height: 42px; min-width: 0; grid-template-columns: 40px 54px 40px; }
.molfar-side-cart .quantity__button, .molfar-side-stepper-remove { width: 40px; height: 40px; }
.molfar-side-stepper-remove { padding: 0; border: 0; background: transparent; color: #6b6b6b; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.molfar-side-stepper-remove:hover { color: var(--accent-1,#fa8072); }
.molfar-side-stepper-remove:focus-visible { outline: 2px solid var(--accent-1,#fa8072); outline-offset: -2px; }
.molfar-side-row-sum { min-width: 0; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; }
.molfar-side-row-sum .popup-basket-item__price { font-size: 11px; line-height: 1.3; color: #8a8a8a; white-space: nowrap; }
.molfar-side-cart .popup-basket-item__quantity > .mon208-stock-notice { grid-column: 1 / -1; }
/* MON-222: recommendations header — one bold line, compact spacing. */
.molfar-side-recommendations { padding-top: 4px; }
.molfar-side-recommendations .molfar-side-rec-heading h2 { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.molfar-side-rec-heading { min-height: 40px; }
.molfar-side-slider-controls button { width: 32px; height: 40px; }
/* MON-222: footer — upward shadow, rounded top corners, lifted primary button. */
.molfar-side-cart .popup-basket-footer { position: relative; z-index: 2; border-top: 0; border-radius: 18px 18px 0 0; background: #fff; box-shadow: 0 -8px 24px rgba(43,37,35,0.10), 0 -1px 0 rgba(43,37,35,0.06); }
.molfar-side-go { box-shadow: 0 4px 10px rgba(181,71,59,0.25); }
.molfar-side-go[aria-disabled=true] { box-shadow: none; }
@media(max-width:767px) {
  .molfar-side-cart .popup-basket-item { padding: 12px 16px; grid-template-columns: 92px minmax(0,1fr); gap: 6px 12px; }
  .molfar-side-cart .popup-basket-item__photo { grid-row: 1 / span 2; }
  .molfar-side-cart .popup-basket-item__quantity { grid-column: 2; }
}
/* MON-222: free-delivery progress card per the TZ mockup (the card itself is shared: molfar_inpost_progress.css, MON-228). */
.molfar-side-cart .molfar-popup-progress { padding: 0 16px 12px; border-bottom: 0; }
.molfar-side-cart .molfar-inpost-progress { margin: 0; }
/* MON-222: recommendation card — square photo, 2-line name with fixed height (prices align), price + round add button in one row. */
.molfar-side-rec-info { display: contents; }
.molfar-side-rec { grid-template-columns: 72px minmax(0,1fr) 40px; grid-template-rows: auto auto auto; grid-template-areas: "photo name name" "photo price add" "photo extra extra"; column-gap: 12px; row-gap: 4px; align-items: center; align-content: start; height: 100px; padding: 10px 0; }
.molfar-side-rec-photo { grid-area: photo; align-self: start; width: 72px; height: 72px; aspect-ratio: 1 / 1; }
.molfar-side-rec-photo img { display: block; border: 1px solid #F0EAE7; box-sizing: border-box; }
.molfar-side-rec-name { grid-area: name; align-self: start; font-size: 13px; line-height: 17px; height: 34px; }
.molfar-side-rec-price { grid-area: price; margin-top: 0; }
.molfar-side-rec-minimum, .molfar-side-rec-error { grid-column: 2 / -1; }
.molfar-side-rec-error:empty { display: none; }
.molfar-side-add { grid-area: add; width: 40px; height: 40px; justify-self: end; }
.molfar-side-rec-scroll { height: 200px; }
.is-row-slider .molfar-side-rec-scroll { height: auto; }
.is-row-slider .molfar-side-rec { height: auto; grid-template-columns: minmax(0,1fr) 40px; grid-template-rows: auto auto auto; grid-template-areas: "photo photo" "name name" "price add"; row-gap: 6px; align-items: center; padding: 0 6px 8px; border-right: 0; }
/* Full card width while the screen allows; wider mobile layouts (480–767 px) keep the cap by height. */
.is-row-slider .molfar-side-rec-photo { width: 100%; height: auto; max-width: max(56px, calc(100vh - 510px)); max-width: max(56px, calc(100dvh - 510px)); }
/* Phones in portrait: the square photo always fills the card width (scales with the screen width, the same on
   every phone). */
@media(max-width:479px) { .is-row-slider .molfar-side-rec-photo { max-width: none; } }
.is-row-slider .molfar-side-rec-photo img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.is-row-slider .molfar-side-rec-name { font-size: 12px; line-height: 16px; height: 32px; }
.is-row-slider .molfar-side-rec-info { grid-row: auto; grid-column: auto; }
.is-row-slider .molfar-side-add { grid-column: auto; grid-row: auto; align-self: center; }
.is-row-slider .molfar-side-rec-minimum, .is-row-slider .molfar-side-rec-error { grid-column: 1 / -1; }
@media(max-width:767px) {
  .molfar-side-recommendations .molfar-side-rec-heading h2 { font-size: 14px; }
  .molfar-side-slider-controls button { width: 28px; }
}
@media(max-width:400px) { .molfar-side-row-total { font-size: 14px; } }
/* Landscape phones (≤500 px tall): the full-width card cannot fit; keep MON-210's compact row card. */
@media(min-width:480px) and (max-height:500px) {
  .is-row-slider .molfar-side-rec { height: 72px; padding: 6px; grid-template-columns: 48px minmax(0,1fr) 40px; grid-template-rows: auto auto; grid-template-areas: "photo name add" "photo price add"; row-gap: 2px; align-items: center; }
  .is-row-slider .molfar-side-rec-photo { width: 48px; height: 48px; max-width: none; }
  .is-row-slider .molfar-side-rec-photo img { width: 48px; height: 48px; }
  .is-row-slider .molfar-side-rec-name { height: 16px; -webkit-line-clamp: 1; }
  .is-row-slider .molfar-side-rec { grid-template-rows: auto auto auto; grid-template-areas: "photo name add" "photo price add" "photo extra add"; }
  .is-row-slider .molfar-side-rec-minimum, .is-row-slider .molfar-side-rec-error { grid-area: extra; font-size: 11px; line-height: 1.2; }
}
@media(min-width:480px) and (max-height:500px) {
  .molfar-side-cart .molfar-popup-progress { padding-bottom: 4px; }
  .molfar-side-cart .molfar-inpost-progress { padding: 4px 10px; border-radius: 8px; font-size: 11px; }
  .molfar-side-cart .molfar-progress-message { margin-bottom: 2px; }
  .molfar-side-cart .molfar-progress-goal { font-size: 11px; }
  .molfar-side-cart .molfar-progress-goal svg { width: 14px; height: 14px; }
}
/* MON-229 (phones), MON-236 (desktop too): the panel opens after "Do koszyka" with the title "Dodano do koszyka",
   the primary button leads to the checkout; three recommendation cards in a row; a visible scroll indicator for
   the cart rows instead of the native scrollbar (overlay scrollbars of phones and macOS hide while still). */
.molfar-side-middle { position: relative; }
#smca-modal-body.molfar-side-cart .molfar-side-cart-scroll { scrollbar-width: none; }
#smca-modal-body.molfar-side-cart .molfar-side-cart-scroll::-webkit-scrollbar { display: none; }
.is-row-slider .molfar-side-rec { width: calc(100% / 3); }
.molfar-side-scrollbar { position: absolute; right: 3px; width: 4px; border-radius: 2px; background: rgba(43,37,35,.08); pointer-events: none; z-index: 1; }
.molfar-side-scrollbar > span { display: block; width: 100%; border-radius: inherit; background: rgba(43,37,35,.4); }
@media (max-width:767px), (max-height:500px) and (pointer:coarse) {
  #smca-modal-body.molfar-side-cart { width: 100vw; } /* phones: the whole screen (landscape phones are wider than 767 px) */
  /* The two footer buttons stay side by side (the TZ): a long label ("Продовжити покупки") wraps inside its button. */
  .molfar-side-cart .molfar-side-shopping, .molfar-side-cart .molfar-side-go { padding: 0 8px; font-size: 13px; line-height: 1.2; white-space: normal; text-align: center; overflow-wrap: normal; }
}
@media (max-height:650px) { .molfar-side-cart .molfar-side-shopping, .molfar-side-cart .molfar-side-go { font-size: 11px; padding: 0 6px; } }
/* Portrait phones: a compact three-up card as in the client's mock-up (square photo across the card, two-line name,
   price + add button), so the recommendations do not take more room than the cart rows. Landscape phones keep the
   compact row card (photo on the left), also three in a row. */
@media (max-width:767px) and (min-height:501px), (max-width:479px) {
  .is-row-slider .molfar-side-rec { padding: 0 4px 4px; column-gap: 4px; row-gap: 4px; } /* the add button keeps its 40 px touch target */
  .is-row-slider .molfar-side-rec-photo { min-height: 0; overflow: hidden; } /* a missing image (alt text) must not stretch the square */
  .is-row-slider .molfar-side-rec-photo img { height: 100%; }
  .is-row-slider .molfar-side-rec-name { font-size: 11px; line-height: 14px; height: 28px; }
  .is-row-slider .molfar-side-rec-price { font-size: 13px; }
  .molfar-side-cart.is-row-slider .molfar-side-rec-heading { min-height: 36px; }
  .molfar-side-cart.is-row-slider .molfar-side-slider-controls button { height: 36px; }
}
/* Short phones in portrait (iPhone 8/SE in Safari, about 550-600 px): the recommendations stay pinned, so the top
   of the panel is denser and the photos are capped, leaving room for a whole cart row and the edge of the next. */
@media (max-width:479px) and (max-height:600px) {
  .molfar-side-cart .molfar-popup-progress { padding-bottom: 8px; }
  .molfar-side-cart .molfar-inpost-progress { padding: 8px 12px; font-size: 12px; line-height: 1.35; }
  .molfar-side-cart .molfar-progress-message { margin-bottom: 6px; }
  .molfar-side-cart .popup-basket-item { padding-top: 8px; padding-bottom: 8px; }
  .molfar-side-cart.is-row-slider .molfar-side-rec-heading { min-height: 32px; }
  .molfar-side-cart.is-row-slider .molfar-side-slider-controls button { height: 32px; }
  .is-row-slider .molfar-side-rec-photo { max-width: 92px; justify-self: center; }
}
