/* KALVASS Gastro 0.33.51.22: authoritative tenant colors.
   Layered important colors outrank historical unlayered colors.
   Existing visibility, brand images and customer data are untouched.
   A separate layer repairs the four-child floating cart grid. */
@layer kalvass-guest-colors {
:is(.tk-gastro-menu,.tk-gastro-order-shell,.tk-gastro-extra-picker) {
  --kg-page:var(--tkg-page-bg,#F8F9FB);--kg-panel:var(--tkg-card-bg,#FFFFFF);--kg-ink:var(--tkg-text,#1F2937);--kg-border:var(--tkg-border,#E5E7EB);--kg-accent:var(--tk-gastro-accent,#1E5AA8);--kg-highlight:var(--tkg-highlight,#FFFFFF);--kg-on-accent:var(--tkg-on-accent,#FFFFFF);color:var(--kg-ink)!important;
}
.tk-gastro-menu {
  background:var(--kg-page)!important;
}
.tk-gastro-menu :is(.tk-gastro-card-description,.tk-gastro-category>h3,.tk-gastro-category-title,.tk-gastro-filter-label) {
  color:var(--kg-ink)!important;-webkit-text-fill-color:var(--kg-ink)!important;
}
.tk-gastro-menu :is(.tk-gastro-item,.tk-gastro-item-body,.tk-gastro-item-main,.tk-gastro-item-details,.tk-gastro-details,.tk-gastro-variants,.tk-gastro-variant,.tk-gastro-variant-picker,.tk-gastro-inline-note-panel) {
  background:var(--kg-dish-bg,var(--kg-panel))!important;color:var(--kg-dish-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu :is(.tk-gastro-item-title,.tk-gastro-item-name) {
  color:var(--kg-dish-name,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-name,var(--kg-ink))!important;
}
.tk-gastro-menu :is(.tk-gastro-description,.tk-gastro-item-description) {
  color:var(--kg-dish-description,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-description,var(--kg-ink))!important;
}
.tk-gastro-menu :is(.tk-gastro-selection-summary,.tk-gastro-selection-hint,.tk-gastro-variant-note) {
  color:var(--kg-selection-note,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-selection-note,var(--kg-ink))!important;
}
.tk-gastro-menu :is(.tk-gastro-details>summary,.tk-gastro-details-label,.tk-gastro-details-summary,.tk-gastro-details-toggle,.tk-gastro-inline-allergens) {
  color:var(--kg-allergen-link,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-allergen-link,var(--kg-ink))!important;
}
.tk-gastro-menu :is(.tk-gastro-details-body,.tk-gastro-meta,.tk-gastro-selection-option,.tk-gastro-variant-label,.tk-gastro-variant-value) {
  color:var(--kg-dish-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-ink,var(--kg-ink))!important;
}
.tk-gastro-menu :is(.tk-gastro-quick-tag,.tk-gastro-tags span,.tk-gastro-allergens span,.tk-gastro-additives span) {
  background:var(--kg-dish-bg,var(--kg-panel))!important;color:var(--kg-dish-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu :is(.tk-gastro-price,.tk-gastro-variant>strong) {
  background:var(--kg-highlight)!important;color:var(--kg-on-highlight,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-on-highlight,var(--kg-ink))!important;
}
.tk-gastro-menu .tkg-visible-result-count {
  background:var(--kg-results-bg,var(--kg-panel))!important;color:var(--kg-result-count,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-result-count,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu :is(.tk-gastro-guest-toolbar,.tk-gastro-toolbar-core,.tk-gastro-category-nav-row,.tk-gastro-category-nav) {
  background:var(--tkg-head-bg,var(--kg-page))!important;color:var(--tkg-head-text,var(--kg-ink))!important;-webkit-text-fill-color:var(--tkg-head-text,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu :is(.tk-gastro-search input,.tk-gastro-search-input,.tk-gastro-category-link,.tk-gastro-top-link,.tk-gastro-help-button,.tk-gastro-mobile-filter-toggle,.tk-gastro-category-scroll,.tk-gastro-mobile-cart-summary) {
  background:var(--tkg-head-control-bg,var(--kg-panel))!important;color:var(--tkg-head-control-text,var(--kg-ink))!important;-webkit-text-fill-color:var(--tkg-head-control-text,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu :is(.tk-gastro-category-link,.tk-gastro-mobile-filter-toggle,.tk-gastro-mobile-cart-summary) :is(span,strong,b,small),
.tk-gastro-menu :is(.tk-gastro-mobile-cart-summary-label,.tk-gastro-mobile-cart-summary-arrow) {
  color:inherit!important;-webkit-text-fill-color:inherit!important;
}
.tk-gastro-menu :is(.tk-gastro-mobile-cart-summary-icon,.tk-gastro-mobile-cart-summary-meta) {
  background:var(--tkg-head-bg,var(--kg-page))!important;color:var(--tkg-head-control-text,var(--kg-ink))!important;-webkit-text-fill-color:var(--tkg-head-control-text,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu .tk-gastro-search input::placeholder {
  color:var(--tkg-head-control-text,var(--kg-ink))!important;-webkit-text-fill-color:var(--tkg-head-control-text,var(--kg-ink))!important;
}
.tk-gastro-menu :is(.tk-gastro-filter-panel,.tk-gastro-filter-sheet,.tk-gastro-sheet-heading,.tk-gastro-sheet-footer,.tk-gastro-sheet-close,.tk-gastro-sheet-reset,.tk-gastro-filter-chip) {
  background:var(--kg-panel)!important;color:var(--kg-ink)!important;-webkit-text-fill-color:var(--kg-ink)!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu :is(.tk-gastro-category-link.is-active,.tk-gastro-category-link[aria-current=true],.tk-gastro-filters button.is-active,.tk-gastro-mobile-filter-toggle.has-active-filters,.tk-gastro-sheet-apply,.tk-gastro-order-add) {
  background:var(--kg-accent)!important;color:var(--kg-on-accent)!important;-webkit-text-fill-color:var(--kg-on-accent)!important;border-color:var(--kg-accent)!important;
}
.tk-gastro-order-shell :is(.tk-gastro-order-submit,.tk-gastro-cart-fab,.tk-gastro-cart-commit) {
  background:var(--kg-accent)!important;color:var(--kg-on-accent)!important;-webkit-text-fill-color:var(--kg-on-accent)!important;border-color:var(--kg-accent)!important;
}
.tk-gastro-extra-picker .tk-gastro-extra-confirm {
  background:var(--kg-accent)!important;color:var(--kg-on-accent)!important;-webkit-text-fill-color:var(--kg-on-accent)!important;border-color:var(--kg-accent)!important;
}
.tk-gastro-menu :is(.tk-gastro-category-link.is-active,.tk-gastro-category-link[aria-current=true],.tk-gastro-mobile-filter-toggle.has-active-filters) * {
  color:inherit!important;-webkit-text-fill-color:inherit!important;
}
:is(.tk-gastro-order-shell,.tk-gastro-menu.tk-gastro-order-mode) .tk-gastro-cart-fab :is(.tk-gastro-cart-fab-icon,.tk-gastro-cart-fab-count,.tk-gastro-cart-fab-price) {
  background:var(--kg-panel)!important;color:var(--tkg-order-readable,var(--kg-ink))!important;-webkit-text-fill-color:var(--tkg-order-readable,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
:is(.tk-gastro-order-shell,.tk-gastro-menu.tk-gastro-order-mode) .tk-gastro-cart-fab .tk-gastro-cart-fab-cta {
  background:var(--kg-highlight)!important;color:var(--kg-on-highlight,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-on-highlight,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
:is(.tk-gastro-order-shell,.tk-gastro-menu.tk-gastro-order-mode) .tk-gastro-cart-fab .tk-gastro-cart-fab-cta span {
  background:transparent!important;color:inherit!important;-webkit-text-fill-color:inherit!important;
}
.tk-gastro-menu .tk-gastro-order-inline-qty {
  background:var(--kg-dish-bg,var(--kg-panel))!important;color:var(--kg-dish-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu .tk-gastro-order-inline-qty :is(strong,[data-tk-inline-qty]) {
  background:var(--kg-dish-bg,var(--kg-panel))!important;color:var(--kg-dish-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-menu .tk-gastro-order-inline-qty button {
  background:var(--kg-accent)!important;color:var(--kg-on-accent)!important;-webkit-text-fill-color:var(--kg-on-accent)!important;border-color:var(--kg-accent)!important;
}
.tk-gastro-menu .tk-gastro-order-inline-qty button:disabled {
  background:var(--kg-dish-bg,var(--kg-panel))!important;color:var(--kg-dish-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-order-shell :is(.tk-gastro-cart,.tk-gastro-cart-head,.tk-gastro-cart-items,.tk-gastro-cart-item,.tk-gastro-checkout,.tk-gastro-checkout-lead,.tk-gastro-checkout-notes,.tk-gastro-checkout-breakdown,.tk-gastro-pickup-fields,.tk-gastro-delivery-fields,.tk-gastro-order-form,.tk-gastro-payment-info,.tk-gastro-payment-choice,.tk-gastro-payment-option,.tk-gastro-confirmation-summary,.tk-gastro-confirmation-item) {
  background:var(--kg-checkout-bg,var(--kg-panel))!important;color:var(--kg-checkout-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-order-shell :is(.tk-gastro-cart,.tk-gastro-checkout,.tk-gastro-confirmation-summary) :is(h2,h3,h4,strong,label,legend,p,small,span),
.tk-gastro-order-shell :is(.tk-gastro-cart-item-name,.tk-gastro-cart-item-meta,.tk-gastro-cart-empty,.tk-gastro-order-note-help,.tk-gastro-cart-total) {
  color:var(--kg-checkout-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-checkout-ink,var(--kg-ink))!important;
}
.tk-gastro-order-shell .tk-gastro-checkout>h3 {
  color:var(--kg-checkout-title,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-checkout-title,var(--kg-ink))!important;
}
.tk-gastro-order-shell .tk-gastro-cart-head :is(strong,span) {
  color:var(--kg-cart-title,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-cart-title,var(--kg-ink))!important;
}
.tk-gastro-order-shell .tk-gastro-cart-head button,
.tk-gastro-order-shell .tk-gastro-cart-qty button {
  background:var(--kg-checkout-bg,var(--kg-panel))!important;color:var(--kg-checkout-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-checkout-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-order-shell .tk-gastro-cart-continue {
  background:var(--kg-continue-bg,var(--kg-panel))!important;color:var(--kg-cart-continue,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-cart-continue,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-order-shell .tk-gastro-cart :is(.tk-gastro-cart-item-toggle,.tk-gastro-cart-item-body,.tk-gastro-cart-item-actions,.tk-gastro-cart-price-breakdown,.tk-gastro-checkout-note-row,.tk-gastro-checkout-note-toggle,.tk-gastro-checkout-note-editor) {
  background:var(--kg-checkout-bg,var(--kg-panel))!important;color:var(--kg-checkout-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-order-shell .tk-gastro-cart .tk-gastro-cart-item-toggle :is(.tk-gastro-cart-item-summary,.tk-gastro-cart-summary-name,.tk-gastro-cart-summary-price,.tk-gastro-cart-summary-qty,.tk-gastro-cart-summary-unit,.tk-gastro-cart-summary-equals,.tk-gastro-cart-summary-total,.tk-gastro-cart-chevron) {
  color:var(--kg-checkout-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-checkout-ink,var(--kg-ink))!important;
}
.tk-gastro-order-shell .tk-gastro-cart .tk-gastro-cart-summary-remove {
  background:var(--kg-checkout-bg,var(--kg-panel))!important;color:var(--kg-checkout-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-checkout-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-order-shell .tk-gastro-cart :is(.tk-gastro-cart-summary-extra-badge,.tk-gastro-cart-summary-note-badge) {
  background:var(--kg-checkout-bg,var(--kg-panel))!important;color:var(--kg-checkout-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-checkout-ink,var(--kg-ink))!important;
}
.tk-gastro-extra-picker :is(.tk-gastro-extra-picker-dialog,.tk-gastro-extra-picker-head,.tk-gastro-extra-picker-body,.tk-gastro-extra-picker-foot,.tk-gastro-extra-group,.tk-gastro-extra-option) {
  background:var(--kg-dish-bg,var(--kg-panel))!important;color:var(--kg-dish-ink,var(--kg-ink))!important;border-color:var(--kg-border)!important;
}
.tk-gastro-extra-picker :is(.tk-gastro-extra-option-text,.tk-gastro-extra-group-head,.tk-gastro-extra-option-price,.tk-gastro-extra-picker-head,.tk-gastro-extra-picker-foot) :is(strong,b,span,small) {
  color:var(--kg-dish-ink,var(--kg-ink))!important;-webkit-text-fill-color:var(--kg-dish-ink,var(--kg-ink))!important;
}
.tk-gastro-extra-picker .tk-gastro-extra-option-price .tk-gastro-credit-hint,
.tk-gastro-extra-picker .tk-gastro-extra-picker-foot .tk-gastro-credit-footer {
  color:var(--kg-credit,var(--kg-dish-ink))!important;-webkit-text-fill-color:var(--kg-credit,var(--kg-dish-ink))!important;
}
.tk-gastro-order-shell :is(.tk-gastro-order-submit,.tk-gastro-cart-commit) * {
  color:var(--kg-on-accent)!important;-webkit-text-fill-color:var(--kg-on-accent)!important;
}
.tk-gastro-order-shell :is(.tk-gastro-cart,.tk-gastro-checkout) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
  background:#FFFFFF!important;color:#111111!important;-webkit-text-fill-color:#111111!important;border-color:#A1A1AA!important;caret-color:#111111!important;color-scheme:light!important;
}
.tk-gastro-order-shell :is(.tk-gastro-cart,.tk-gastro-checkout) :is(input,textarea)::placeholder {
  color:#666666!important;-webkit-text-fill-color:#666666!important;
}
.tk-gastro-order-shell :is(.tk-gastro-cart,.tk-gastro-checkout) :is(input,textarea):-webkit-autofill {
  -webkit-text-fill-color:#111111!important;-webkit-box-shadow:0 0 0 1000px white inset!important;box-shadow:0 0 0 1000px white inset!important;
}
:is(.tk-gastro-menu,.tk-gastro-order-shell,.tk-gastro-extra-picker) :is(input,select,textarea) {
  accent-color:var(--kg-accent)!important;
}
}

/* Four actual children: icon, quantity, price, checkout action. Preserve the
   existing JS docking and visibility rules; only repair the floating grid. */
@layer kalvass-cart-layout {
  .tk-gastro-order-shell .tk-gastro-cart-fab:not(.is-toolbar-cart) {
    grid-template-columns:36px 28px minmax(0,1fr) auto!important;
    grid-auto-flow:column!important;gap:8px!important;
    width:min(560px,calc(100vw - 24px))!important;box-sizing:border-box!important;
  }
  .tk-gastro-order-shell .tk-gastro-cart-fab:not(.is-toolbar-cart)>:is(.tk-gastro-cart-fab-icon,.tk-gastro-cart-fab-count,.tk-gastro-cart-fab-price,.tk-gastro-cart-fab-cta) {
    grid-column:auto!important;grid-row:1!important;margin:0!important;min-width:0!important;
  }
  .tk-gastro-order-shell .tk-gastro-cart-fab:not(.is-toolbar-cart)>.tk-gastro-cart-fab-price {
    height:auto!important;min-height:40px!important;padding:0 10px!important;white-space:nowrap!important;
  }
  .tk-gastro-order-shell .tk-gastro-cart-fab:not(.is-toolbar-cart)>.tk-gastro-cart-fab-cta {
    width:auto!important;height:auto!important;min-height:40px!important;padding:0 12px!important;
  }
}

/* 0.33.51.26.2: the selection chip has its own surface and contrast-safe ink.
   Scoped to a tenant's menu root; no cross-tenant global color values. */
@layer kalvass-guest-colors {
.tk-gastro-menu .tk-gastro-selection-option {
  background:var(--kg-selection-chip-bg,#FFFFFF)!important;
  color:var(--kg-selection-chip-ink,#171717)!important;
  -webkit-text-fill-color:var(--kg-selection-chip-ink,#171717)!important;
  border-color:var(--kg-border,#D9DEE7)!important;
}
}
