.services-view.is-cafe .catalog-categories, .services-view.is-cafe .mobile-category, .services-view.is-cafe .cafe-entry, #cafeHeadingIntro[hidden] { display:none; }
.services-view.is-cafe .catalog-search { margin-top:0; }
.drawer-nav .cafe-menu-link { justify-content:flex-start; gap:12px; }
.drawer-nav .cafe-menu-link > svg { flex-shrink:0; width:21px; height:21px; }
.drawer-nav .cafe-menu-link > span { margin-left:auto; }
.drawer-nav .cafe-menu-link.active { color:var(--teal-dark); }
@media (max-width:1023px) {
  .bottom-nav button { width:20%; flex:0 0 20%; gap:5px; font-size:11px; }
  .bottom-nav button > span:not(.nav-main-icon):not(.cart-badge) { display:flex; align-items:center; justify-content:center; min-height:26px; max-width:60px; padding:0 2px; line-height:1.15; text-align:center; white-space:normal; }
  .bottom-nav .cafe-menu-link > span { font-size:11px; }
  .bottom-nav .nav-main { padding-top:0 !important; }
  .bottom-nav .nav-main-icon { position:static; width:21px; height:21px; border:0; border-radius:0; background:transparent; box-shadow:none; color:inherit; }
}
.cafe-entry { display:flex; align-items:center; gap:10px; width:fit-content; padding:10px 14px; margin:14px 0 0; border:1px solid #bad6d5; border-radius:6px; color:#006d72; background:#f2faf9; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.cafe-entry svg { width:20px; height:20px; }
.cafe-entry:hover { background:#007a80; color:white; border-color:#007a80; }
.cafe-intro { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 0 20px; }
.cafe-intro p { margin:0; color:#58676b; font-size:14px; line-height:1.5; max-width:420px; }
.cafe-intro label { display:grid; gap:6px; font-size:12px; color:#506165; }
.cafe-intro select { width:210px; min-height:44px; padding:8px 12px; border:1px solid #ccd8d9; border-radius:6px; font:inherit; font-size:14px; background:#fff; color:#152d33; }
.cafe-group + .cafe-group { margin-top:24px; }
.cafe-group h3 { margin:0; padding:10px 0; font-size:13px; font-weight:600; color:#55686c; border-bottom:1px solid #dce5e5; }
.cafe-row { display:grid; grid-template-columns:minmax(0,1fr) 132px minmax(92px,auto) 44px; align-items:center; gap:20px; padding:16px 0; border-bottom:1px solid #e6ecec; }
.cafe-row.is-selected { background:#f1faf8; box-shadow:12px 0 #f1faf8,-12px 0 #f1faf8; }
.cafe-pick { display:flex; align-items:center; gap:14px; min-width:0; min-height:44px; cursor:pointer; }
.cafe-pick input { flex:0 0 20px; width:20px; height:20px; margin:0; accent-color:#007a80; cursor:pointer; }
.cafe-name { min-width:0; display:grid; gap:5px; }
.cafe-name strong { font-size:16px; font-weight:600; overflow-wrap:anywhere; }
.cafe-name span { font-size:13px; color:#596c70; }
.cafe-quantity { display:grid; grid-template-columns:40px 52px 40px; height:44px; border:1px solid #c8d6d6; border-radius:6px; align-items:stretch; overflow:hidden; background:white; }
.cafe-quantity button { border:0; background:transparent; color:#23585b; cursor:pointer; font:inherit; font-size:22px; display:grid; place-items:center; padding:0; }
.cafe-quantity button svg { width:16px; height:16px; }
.cafe-quantity button:hover:not(:disabled) { background:#e5f5f3; }
.cafe-quantity button:disabled { opacity:.35; cursor:default; }
.cafe-quantity input { min-width:0; width:100%; padding:0; margin:0; border:0; border-radius:0; text-align:center; font:inherit; font-size:15px; color:#122d32; appearance:textfield; -moz-appearance:textfield; }
.cafe-quantity input::-webkit-inner-spin-button, .cafe-quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
.cafe-quantity input[aria-invalid="true"] { background:#fff0ef; color:#a62826; }
.cafe-total { display:grid; text-align:right; gap:2px; font-variant-numeric:tabular-nums; }
.cafe-total span { color:#66787b; font-size:11px; }
.cafe-total output { color:#006d72; font-size:17px; font-weight:700; }
.cafe-whatsapp { display:grid; place-items:center; width:44px; height:44px; color:white; background:#087b59; border:1px solid #087b59; border-radius:6px; }
.cafe-whatsapp svg { width:22px; height:22px; }
.cafe-whatsapp:hover { background:#055e43; }
.cafe-whatsapp[aria-disabled="true"] { opacity:.4; cursor:not-allowed; }
.cafe-online { display:grid; place-items:center; width:44px; height:44px; color:#fff; background:#06233d; border:1px solid #06233d; border-radius:6px; cursor:pointer; }
.cafe-online svg { width:20px; height:20px; }
.cafe-online:hover { background:#087f80; border-color:#087f80; }
.cafe-footnote { padding:20px 0 0; color:#647478; font-size:12px; line-height:1.6; max-width:700px; }
.cafe-empty { padding:30px 0; color:#647478; }
.cafe-basket { position:sticky; top:0; z-index:4; margin:0 0 18px; border:1px solid #b8d8d4; border-radius:8px; background:#fff; box-shadow:0 4px 16px #163d3510; }
.cafe-basket[hidden], .cafe-basket [hidden] { display:none; }
.cafe-basket-bar { display:flex; align-items:center; gap:16px; padding:14px 16px; }
.cafe-review { display:flex; align-items:center; gap:12px; flex:1; min-width:0; padding:0; border:0; background:none; color:#173336; font:inherit; text-align:left; cursor:pointer; }
.cafe-review > svg { flex:0 0 22px; width:22px; height:22px; color:#007a80; }
.cafe-review > span { display:grid; gap:4px; }
.cafe-review strong { font-size:14px; font-weight:700; }
.cafe-review [data-cafe-count] { margin-left:8px; color:#647478; font-weight:500; font-size:12px; }
.cafe-review [data-cafe-subtotal] { font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.cafe-review .cafe-review-arrow { width:18px; height:18px; flex-basis:18px; margin-left:auto; transform:rotate(90deg); }
.cafe-review[aria-expanded="true"] .cafe-review-arrow { transform:rotate(-90deg); }
.cafe-send { display:flex; justify-content:center; align-items:center; gap:9px; flex-shrink:0; min-height:44px; padding:10px 16px; border-radius:6px; background:#087b59; color:#fff; text-decoration:none; font-size:14px; font-weight:700; }
.cafe-send svg { width:20px; height:20px; }
.cafe-send:hover { background:#055e43; }
.cafe-send[aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
.cafe-basket-list { padding:0 16px; max-height:34vh; overflow:auto; overscroll-behavior:contain; }
.cafe-basket-item { display:grid; grid-template-columns:minmax(0,1fr) 112px 92px 36px; align-items:center; gap:12px; padding:12px 0; border-top:1px solid #e1eae8; }
.cafe-basket-item > div:first-child { min-width:0; display:grid; gap:4px; }
.cafe-basket-item strong { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.cafe-basket-item > div:first-child > span { font-size:12px; color:#66787b; }
.cafe-basket-adjust { display:grid; grid-template-columns:32px 48px 32px; align-items:center; text-align:center; font-size:13px; font-variant-numeric:tabular-nums; }
.cafe-basket-adjust button, .cafe-remove { display:grid; place-items:center; height:36px; padding:0; border:0; border-radius:4px; background:transparent; color:#2d6664; cursor:pointer; font:inherit; font-size:20px; }
.cafe-basket-adjust button:disabled { opacity:.35; cursor:default; }
.cafe-basket-adjust button:hover:not(:disabled), .cafe-remove:hover { background:#edf7f4; }
.cafe-basket-adjust svg, .cafe-remove svg { width:16px; height:16px; }
.cafe-basket-amount { text-align:right; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.cafe-clear { margin:4px 16px 12px; padding:8px 0; background:none; border:0; color:#506b6b; font:inherit; font-size:12px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cafe-basket-status { margin:0; padding:0 16px 12px; color:#775322; font-size:12px; }
.cafe-basket :focus-visible, .cafe-pick input:focus-visible { outline:2px solid #007a80; outline-offset:3px; }
.cafe-cart-summary { margin:0 0 28px; border-top:1px solid #d8e4e1; border-bottom:1px solid #d8e4e1; padding:24px 0; }
.cafe-cart-summary[hidden] { display:none; }
.cafe-cart-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.cafe-cart-heading h2 { margin:0; font-size:20px; }
.cafe-cart-heading p { margin:5px 0 0; font-size:13px; color:#5b716e; }
.cafe-cart-summary ul { list-style:none; padding:12px 0; margin:0; }
.cafe-cart-summary li { display:flex; gap:20px; justify-content:space-between; padding:14px 0; font-size:15px; border-bottom:1px solid #edf0ef; }
.cafe-cart-summary li > span { min-width:0; overflow-wrap:anywhere; }
.cafe-cart-summary li strong { flex-shrink:0; font-size:14px; font-variant-numeric:tabular-nums; }
.cafe-cart-summary small { display:block; margin-top:4px; color:#5b716e; font-size:13px; }
.cafe-cart-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:12px; }
.cafe-cart-footer > div { display:grid; gap:4px; }
.cafe-cart-footer span { font-size:13px; color:#5b716e; }
.cafe-cart-footer strong { font-size:22px; font-variant-numeric:tabular-nums; }
.cafe-entry:focus-visible, .cafe-online:focus-visible, .cafe-whatsapp:focus-visible, .cafe-quantity :focus-visible { outline:2px solid #007a80; outline-offset:3px; }
@media (max-width:759px) {
  .cafe-entry { margin:0 0 14px; }
  .cafe-intro { align-items:stretch; flex-direction:column; }
  .cafe-intro select { width:100%; }
  .cafe-row { grid-template-columns:minmax(0,1fr) minmax(90px,auto) 44px; gap:12px; }
  .cafe-pick { grid-column:1 / -1; }
  .cafe-quantity { width:132px; }
  .cafe-total output { font-size:16px; }
  .cafe-basket-bar { flex-wrap:wrap; gap:12px; padding:12px; }
  .cafe-review { flex-basis:100%; }
  .cafe-send { width:100%; }
  .cafe-basket-item { grid-template-columns:minmax(0,1fr) 80px 32px; gap:8px; }
  .cafe-basket-item > div:first-child { grid-column:1 / 3; }
  .cafe-remove { grid-column:3; grid-row:1; }
  .cafe-basket-adjust { grid-row:2; grid-column:1; width:112px; }
  .cafe-basket-amount { grid-column:2 / 4; grid-row:2; }
  .cafe-cart-footer { flex-wrap:wrap; }
}
@media (max-width:359px) {
  .cafe-row { gap:10px; grid-template-columns:minmax(0,1fr) 80px 44px; }
  .cafe-quantity { width:120px; grid-template-columns:36px 48px 36px; }
  .cafe-total output { font-size:15px; }
}
