/* Product selection only. Checkout, payment and recovery dialogs keep their existing styles. */
#item-dialog.tmk-product-dialog {
  width: min(1120px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  padding: 0;
  margin: auto;
  overflow: hidden;
  border: 1px solid #e8e1de;
  border-radius: 12px;
  background: #fff;
  color: #211b1b;
  box-shadow: 0 18px 70px #211b1b40;
}
#item-dialog.tmk-product-dialog[open] { display: flex; flex-direction: column; }
#item-dialog.tmk-product-dialog * { box-sizing: border-box; }
#item-dialog.tmk-product-dialog::backdrop { background: #211b1b9c; }
#item-dialog.tmk-product-dialog .dialog-heading {
  flex: 0 0 auto;
  align-items: center;
  gap: 18px;
  padding: 15px 20px;
  border-bottom: 1px solid #e8e1de;
  background: #fff;
}
#item-dialog.tmk-product-dialog .dialog-heading h2 {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.2;
  letter-spacing: -.02em;
}
#item-dialog.tmk-product-dialog .close-dialog {
  flex-shrink: 0;
  min-width: 65px;
  min-height: 44px;
  padding: 8px 12px;
  background: #f5f1ee;
  color: #a20e12;
  font-size: 15px;
}
#item-dialog.tmk-product-dialog .product-dialog-body {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 26px;
  min-height: 0;
  padding: 18px 20px;
  overflow: auto;
  overscroll-behavior: contain;
}
#item-dialog.tmk-product-dialog .product-detail-visual,
#item-dialog.tmk-product-dialog .product-customise { min-width: 0; }
#item-dialog.tmk-product-dialog .product-detail-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 390px;
  max-height: 50dvh;
  background: #fff;
}
#item-dialog.tmk-product-dialog .product-detail-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
#item-dialog.tmk-product-dialog .product-base-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin: 10px 0 8px;
}
#item-dialog.tmk-product-dialog .product-base-price strong { color: #a20e12; font-size: 26px; line-height: 1.2; }
#item-dialog.tmk-product-dialog .product-base-price span { font-size: 15px; color: #71605a; }
#item-dialog.tmk-product-dialog .dialog-description { margin: 0; font-size: 15px; line-height: 1.55; color: #61534d; }
#item-dialog.tmk-product-dialog .availability { margin: 12px 0 0; font-size: 14px; color: #a20e12; }
#item-dialog.tmk-product-dialog .product-customise {
  max-height: calc(100dvh - 230px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-inline-end: 6px;
}
#item-dialog.tmk-product-dialog .product-customise-title { margin: 0 0 12px; font-size: 18px; line-height: 1.3; }
#item-dialog.tmk-product-dialog .product-addon-section {
  margin: 0 0 10px;
  border: 1px solid #dfc9be;
  border-radius: 9px;
  background: #fffaf5;
  overflow: hidden;
}
#item-dialog.tmk-product-dialog .product-addon-section > summary,
#item-dialog.tmk-product-dialog .product-option-group > summary {
  position: relative;
  display: block;
  min-height: 56px;
  padding: 12px 38px 12px 13px;
  padding-inline-end: 38px;
  padding-inline-start: 13px;
  list-style: none;
  cursor: pointer;
  text-align: start;
}
#item-dialog.tmk-product-dialog summary::-webkit-details-marker { display: none; }
#item-dialog.tmk-product-dialog .product-addon-section > summary::after,
#item-dialog.tmk-product-dialog .product-option-group > summary::after {
  content: '+';
  position: absolute;
  inset-inline-end: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: #a20e12;
  font-size: 24px;
  line-height: 1;
}
#item-dialog.tmk-product-dialog details[open] > summary::after { content: '−'; }
#item-dialog.tmk-product-dialog summary strong { display: block; color: #a20e12; font-size: 16px; line-height: 1.3; }
#item-dialog.tmk-product-dialog summary span { display: block; margin-top: 3px; color: #71605a; font-size: 13px; line-height: 1.3; }
#item-dialog.tmk-product-dialog summary:focus-visible { outline: 3px solid #f2bd26; outline-offset: -3px; }
#item-dialog.tmk-product-dialog .product-addon-note { margin: 0 12px 10px; font-size: 13px; line-height: 1.5; color: #71605a; }
#item-dialog.tmk-product-dialog .product-fries-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 0 10px; }
#item-dialog.tmk-product-dialog .product-addon-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 9px 6px;
  border: 1px solid #e3d7d0;
  border-radius: 7px;
  background: #fff;
  color: #211b1b;
  text-align: center;
  font: inherit;
  font-size: 14px;
  line-height: 1.3;
}
#item-dialog.tmk-product-dialog .product-addon-card:hover:not(:disabled) { border-color: #a20e12; background: #fff9f0; }
#item-dialog.tmk-product-dialog .product-addon-card[aria-pressed="true"] { border: 2px solid #a20e12; padding: 8px 5px; background: #fff2df; }
#item-dialog.tmk-product-dialog .product-addon-image { display: flex; align-items: center; justify-content: center; width: 100%; height: 110px; }
#item-dialog.tmk-product-dialog .product-addon-card img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
#item-dialog.tmk-product-dialog .product-source-crop { position: relative; flex-shrink: 0; width: auto; height: 100%; max-width: 100%; overflow: hidden; }
#item-dialog.tmk-product-dialog .product-source-crop img { position: absolute; display: block; max-width: none !important; max-height: none; object-fit: contain; }
#item-dialog.tmk-product-dialog .product-addon-name { font-size: 14px; }
#item-dialog.tmk-product-dialog .product-addon-weight { color: #71605a; font-size: 12px; }
#item-dialog.tmk-product-dialog .product-addon-price { margin-top: auto; color: #a20e12; font-size: 18px; }
#item-dialog.tmk-product-dialog .product-addon-state { font-size: 11px; color: #71605a; }
#item-dialog.tmk-product-dialog .product-addon-none { display: block; min-height: 44px; margin: 3px 12px; font-size: 14px; text-align: start; }
#item-dialog.tmk-product-dialog .product-addon-none[aria-pressed="true"] { font-weight: 700; }
#item-dialog.tmk-product-dialog .product-drink-cards {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 138px;
  gap: 8px;
  margin: 0 10px;
  padding: 2px 1px 8px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
}
#item-dialog.tmk-product-dialog .product-drink-card { scroll-snap-align: start; }
#item-dialog.tmk-product-dialog .product-addon-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 4px 10px 0; }
#item-dialog.tmk-product-dialog .product-addon-nav button { width: 44px; height: 44px; border: 1px solid #dfc9be; border-radius: 6px; background: #fff; color: #a20e12; font-size: 26px; }
#item-dialog.tmk-product-dialog .product-addon-nav span { font-size: 12px; color: #71605a; text-align: center; }
#item-dialog.tmk-product-dialog .item-choices { margin: 14px 0 0; }
#item-dialog.tmk-product-dialog .item-choices > fieldset { margin: 0 0 12px; padding: 0 0 12px; }
#item-dialog.tmk-product-dialog .item-choices legend { font-size: 16px; line-height: 1.4; }
#item-dialog.tmk-product-dialog .product-option-group { border-top: 1px solid #e8e1de; }
#item-dialog.tmk-product-dialog .product-option-group > summary { min-height: 56px; padding-inline-start: 2px; }
#item-dialog.tmk-product-dialog .product-option-group > summary strong { color: #211b1b; font-size: 15px; }
#item-dialog.tmk-product-dialog .product-option-group > summary span { font-size: 12px; }
#item-dialog.tmk-product-dialog .product-option-group fieldset { border: 0; padding: 0 2px 12px; margin: 0; }
#item-dialog.tmk-product-dialog .choice-row { gap: 10px; min-height: 48px; padding: 8px 0; font-size: 14px; }
#item-dialog.tmk-product-dialog .choice-row input { width: 21px; height: 21px; margin: 0; flex-shrink: 0; }
#item-dialog.tmk-product-dialog .choice-row strong,
#item-dialog.tmk-product-dialog .included { margin-left: 0; margin-inline-start: auto; font-size: 13px; }
#item-dialog.tmk-product-dialog .item-choices .smash-kebab-offer { margin: 0 0 15px !important; padding: 10px !important; border-radius: 8px; box-shadow: none; }
#item-dialog.tmk-product-dialog .smash-kebab-offer p { font-size: 13px; line-height: 1.5; }
#item-dialog.tmk-product-dialog .smash-kebab-offer .choice-row { padding: 9px 7px; }
#item-dialog.tmk-product-dialog .smash-kebab-offer .choice-row strong { max-width: 46%; white-space: normal; text-align: end; }
#item-dialog.tmk-product-dialog .product-skip-extras { margin: 8px 0 0; min-height: 44px; font-size: 14px; text-align: start; }
#item-dialog.tmk-product-dialog .product-without-photo { grid-template-columns: minmax(0, 1fr); gap: 16px; }
#item-dialog.tmk-product-dialog .product-without-photo > * { width: 100%; max-width: 760px; margin-inline: auto; }
#item-dialog.tmk-product-dialog .dialog-footer {
  flex: 0 0 auto;
  position: static;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 20px;
  min-height: 78px;
  padding: 13px 20px;
  border-top: 1px solid #e8e1de;
  background: #faf8f5;
}
#item-dialog.tmk-product-dialog .quantity-control { gap: 14px; flex-shrink: 0; }
#item-dialog.tmk-product-dialog .quantity-control button { width: 46px; height: 46px; font-size: 24px; color: #a20e12; }
#item-dialog.tmk-product-dialog .quantity-control span { min-width: 22px; font-size: 20px; font-weight: 700; }
#item-dialog.tmk-product-dialog .dialog-footer .primary-button { flex: 0 1 auto; min-width: 280px; min-height: 50px; padding: 12px 20px; font-size: 18px; }
@media (max-width: 899px) {
  #item-dialog.tmk-product-dialog .product-dialog-body { gap: 20px; }
  #item-dialog.tmk-product-dialog .product-detail-photo { height: 300px; }
  #item-dialog.tmk-product-dialog .product-addon-image { height: 88px; }
}
@media (max-width: 719px) {
  #item-dialog.tmk-product-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 10px; }
  #item-dialog.tmk-product-dialog .dialog-heading { gap: 12px; padding: 12px 14px; }
  #item-dialog.tmk-product-dialog .dialog-heading h2 { font-size: 20px; }
  #item-dialog.tmk-product-dialog .product-dialog-body { display: block; padding: 12px 14px; }
  #item-dialog.tmk-product-dialog .product-detail-photo { height: 280px; max-height: 36dvh; }
  #item-dialog.tmk-product-dialog .product-customise { max-height: none; overflow: visible; padding: 0; margin-top: 18px; }
  #item-dialog.tmk-product-dialog .product-base-price strong { font-size: 24px; }
  #item-dialog.tmk-product-dialog .product-addon-image { height: 110px; }
  #item-dialog.tmk-product-dialog .dialog-footer { padding: 12px 14px; gap: 12px; }
  #item-dialog.tmk-product-dialog .dialog-footer .primary-button { min-width: 0; flex: 1; font-size: 16px; }
}
@media (max-width: 520px) {
  #item-dialog.tmk-product-dialog .dialog-footer { flex-wrap: wrap; gap: 10px; }
  #item-dialog.tmk-product-dialog .quantity-control { margin-inline: auto; }
  #item-dialog.tmk-product-dialog .dialog-footer .primary-button { flex-basis: 100%; width: 100%; }
  #item-dialog.tmk-product-dialog .product-addon-image { height: 90px; }
}
@media print { #item-dialog.tmk-product-dialog[open] { display: none; } }
