/* Casa Pizza design-only customer service controls */
.design-service-tools { display:flex; align-items:center; gap:8px; }
.order-status-widget { position:relative; }
.order-status-trigger {
  position:relative;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(11,47,87,.13);
  border-radius:14px;
  background:rgba(255,255,255,.58);
  color:var(--navy);
  cursor:pointer;
  backdrop-filter:none;
  transition:.18s ease;
}
.order-status-trigger:hover,.status-open .order-status-trigger { background:#edf5ff; border-color:rgba(11,47,87,.24); }
.order-status-trigger svg { width:21px; height:21px; }
.order-status-dot { position:absolute; right:6px; top:6px; width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:#39b87c; }
html[data-order-status="preparing"] .order-status-dot { background:#f2b827; }
html[data-order-status="ready"] .order-status-dot { background:var(--red); }
html[data-order-status="paid"] .order-status-dot { background:#718096; }
.order-status-panel {
  position:absolute;
  z-index:1600;
  right:0;
  top:calc(100% + 12px);
  width:min(370px,calc(100vw - 24px));
  padding:18px;
  border:1px solid rgba(11,47,87,.12);
  border-radius:18px;
  background:rgba(255,255,255,.93);
  box-shadow:none;
  backdrop-filter:none;
}
.order-status-panel[hidden]{display:none}
.order-status-panel-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.order-status-panel-head small { display:block; color:var(--muted); font-size:.74rem; font-weight:800; }
.order-status-panel-head strong { display:block; margin-top:4px; color:var(--navy); font-size:1.08rem; }
.order-status-panel-head button { width:32px; height:32px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--navy); cursor:pointer; }
.order-status-panel>p { margin:12px 0 16px; color:var(--muted); font-size:.86rem; line-height:1.55; }
.order-status-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; }
.order-status-steps span { height:6px; border-radius:999px; background:#e5ebf1; }
.order-status-steps span.done { background:#65ad8a; }
.order-status-steps span.active { background:var(--red); }
.service-header-actions { display:flex; gap:7px; }
.service-header-button {
  min-height:44px;
  padding:8px 13px;
  border:1px solid rgba(11,47,87,.14);
  border-radius:13px;
  background:rgba(255,255,255,.66);
  color:var(--navy);
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
  backdrop-filter:none;
  transition:.18s ease;
}
.service-header-button:hover { border-color:rgba(11,47,87,.28); background:#f4f8fd; }
.service-header-button--bill { border-color:var(--red); background:var(--red); color:#fff; }
.service-header-button--bill:hover { background:#c9261c; border-color:#c9261c; }
.service-header-button.is-confirmed { border-color:#24835c; background:#e9f7ef; color:#176243; }
.design-system-toast { position:fixed; z-index:1700; right:18px; bottom:18px; max-width:360px; padding:13px 16px; border-radius:13px; background:var(--navy); color:#fff; opacity:0; transform:translateY(12px); transition:.2s ease; pointer-events:none; }
.design-system-toast.show { opacity:1; transform:none; }
.success-live-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0 24px; }
.success-live-grid--single { grid-template-columns:1fr; }
.success-live-grid article { padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); text-align:left; }
.success-live-grid span { display:block; color:var(--muted); font-size:.78rem; }
.success-live-grid strong { display:block; margin-top:5px; color:var(--navy); font-size:1.05rem; }
.timeline-item.is-complete .timeline-dot,.timeline-item.is-current .timeline-dot { background:var(--red); color:#fff; border-color:var(--red); }
.timeline-item.is-current { background:var(--surface-blue); border-radius:13px; padding:10px; }
@media(max-width:1220px){.service-header-button{padding-inline:10px;font-size:.72rem}.design-service-tools{gap:6px}}
@media(max-width:980px){
  .design-service-tools { order:3; width:100%; justify-content:flex-end; padding-top:7px; }
  .header-inner { flex-wrap:wrap; }
  .service-header-actions { flex:1; justify-content:flex-end; }
  .order-status-panel { right:auto; left:0; }
}
@media(max-width:620px){
  .design-service-tools { position:fixed; z-index:930; left:8px; right:8px; bottom:72px; width:auto; padding:7px; border:1px solid rgba(11,47,87,.10); border-radius:16px; background:rgba(255,255,255,.90); box-shadow:none; backdrop-filter:none; }
  .service-header-actions { display:grid; grid-template-columns:1fr 1fr; }
  .service-header-button { min-height:44px; }
  .order-status-panel { position:fixed; top:auto; left:8px; right:8px; bottom:136px; width:auto; }
  .design-system-toast { left:10px; right:10px; bottom:140px; max-width:none; }
}
@media print{.design-service-tools,.design-system-toast{display:none!important}}


/* Phase 6.4 — today's combos */
.today-combos-section{background:linear-gradient(180deg,#fffaf0 0,#f7f2e8 100%);border-block:1px solid #eadfcd}.today-combos-header{align-items:flex-end}.home-combo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-combo-card{display:grid;grid-template-columns:minmax(230px,.85fr) 1.15fr;min-height:360px;background:#fff;border:1px solid #dfd5c6;border-radius:22px;overflow:hidden;box-shadow:none}.home-combo-card.featured{grid-column:1/-1;grid-template-columns:minmax(360px,.95fr) 1.05fr;min-height:430px}.home-combo-art{position:relative;display:grid;place-items:center;min-height:100%;background:linear-gradient(145deg,#0b2a4a 0 64%,#ffd83d 64%);overflow:hidden}.combo-collage,.menu-combo-collage,.combo-dialog-collage{position:relative;display:block;width:min(82%,520px);aspect-ratio:1}.combo-collage img,.menu-combo-collage img,.combo-dialog-collage img{position:absolute;width:66%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:50%;padding:4%;box-shadow:none;left:calc(8% + var(--i)*16%);top:calc(7% + var(--i)*14%);transform:rotate(calc((var(--i) - 1)*8deg))}.home-combo-discount{position:absolute;top:22px;left:22px;padding:9px 13px;border-radius:999px;background:#d92d20;color:#fff;font-weight:950}.home-combo-copy{padding:34px;display:flex;flex-direction:column}.home-combo-copy h3{font-size:clamp(1.75rem,3vw,3.25rem);line-height:1.03;margin:0 0 12px}.home-combo-copy>p{color:#63748a;font-size:1.02rem;line-height:1.65;margin:0 0 18px}.home-combo-components{display:flex;flex-wrap:wrap;gap:8px}.home-combo-components span{padding:8px 11px;border-radius:999px;background:#eef5ff;color:#0b2a4a;font-size:.82rem;font-weight:800}.home-combo-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:auto;padding-top:26px}.home-combo-footer del{display:block;color:#8b98a8;font-weight:800}.home-combo-footer strong{display:block;color:#d92d20;font-size:2rem}.home-combo-actions{display:flex;gap:8px;flex-wrap:wrap}.menu-slideshow{height:min(760px,calc(100vh - 78px));min-height:560px;background:#f7f2e8;padding:20px;position:relative}.menu-slideshow:after{content:"";position:absolute;left:0;bottom:0;width:var(--combo-progress,0);height:4px;background:#d92d20;transition:width .35s}.menu-slideshow__viewport{height:100%;max-width:1500px;margin:auto}.menu-combo-slide{height:100%;position:relative}.menu-combo-main{border:0;padding:0;width:100%;height:100%;display:grid;grid-template-columns:1fr 1.08fr;background:#fff;border-radius:26px;overflow:hidden;text-align:left;color:#0b1f3a;cursor:pointer;box-shadow:none}.menu-combo-copy{padding:clamp(34px,5vw,76px);display:flex;flex-direction:column;justify-content:center}.menu-combo-copy h2{font-size:clamp(2.6rem,5.4vw,6.4rem);line-height:.94;margin:15px 0 18px;max-width:760px}.menu-combo-copy p{font-size:clamp(1rem,1.25vw,1.3rem);line-height:1.6;color:#63748a;max-width:650px}.menu-combo-items{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.menu-combo-items span{border:1px solid #dbe3ef;border-radius:999px;padding:8px 12px;font-weight:800;background:#fff}.menu-combo-prices{display:flex;align-items:center;gap:14px;margin-top:26px}.menu-combo-prices del{color:#7c899b;font-size:1.25rem;font-weight:800}.menu-combo-prices strong{font-size:clamp(2rem,3vw,3.6rem);color:#d92d20}.menu-combo-prices em{font-style:normal;background:#d92d20;color:#fff;border-radius:999px;padding:8px 11px;font-weight:950}.menu-combo-view{margin-top:24px;font-weight:950;color:#0b2a4a}.menu-combo-visual{position:relative;display:grid;place-items:center;background:linear-gradient(140deg,#0b2a4a 0 65%,#ffd83d 65%);overflow:hidden}.menu-combo-collage{width:min(82%,650px)}.menu-combo-saving{position:absolute;right:30px;bottom:30px;background:rgba(255,255,255,.92);backdrop-filter:none;padding:12px 16px;border-radius:14px;font-weight:950;color:#0b2a4a}.menu-combo-add{position:absolute;right:44px;top:44px;z-index:5;min-height:48px}.menu-combo-empty{height:100%;display:grid;place-content:center;text-align:center;background:#fff;border-radius:24px}.menu-combo-empty span{color:#d92d20;font-size:.75rem;font-weight:950;letter-spacing:.14em}.menu-combo-empty strong{font-size:2rem;margin:8px}.combo-dialog{width:min(1040px,calc(100% - 28px));border:0;border-radius:24px;padding:0;color:#0b1f3a;box-shadow:none}.combo-dialog::backdrop{background:rgba(5,16,30,.72);backdrop-filter:none}.combo-dialog-close{position:absolute;z-index:4;right:18px;top:18px;width:44px;height:44px;border:1px solid #dbe3ef;border-radius:50%;background:#fff;color:#0b2a4a;font-size:1.6rem;cursor:pointer}.combo-dialog-layout{display:grid;grid-template-columns:.95fr 1.05fr;min-height:610px}.combo-dialog-art{position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#0b2a4a 0 64%,#ffd83d 64%)}.combo-dialog-collage{width:84%}.combo-dialog-badge{position:absolute;left:24px;top:24px;background:#d92d20;color:#fff;padding:9px 13px;border-radius:999px;font-weight:950}.combo-dialog-copy{padding:52px 42px;display:flex;flex-direction:column}.combo-dialog-copy h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:7px 0 14px}.combo-dialog-copy>p{color:#63748a;line-height:1.6}.combo-dialog-copy ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}.combo-dialog-copy li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e6ebf2}.combo-dialog-price{margin-top:auto;display:grid;grid-template-columns:auto 1fr;align-items:end;gap:2px 14px}.combo-dialog-price del{color:#8491a2}.combo-dialog-price strong{font-size:2.35rem;color:#d92d20}.combo-dialog-price span{grid-column:1/-1;color:#1c6848;font-weight:850}.combo-dialog-add{margin-top:18px;min-height:52px}.cart-item-image{position:relative}.cart-item-image:has(img[src=""]):after{content:"Կոմբո";position:absolute;inset:0;display:grid;place-items:center;background:#0b2a4a;color:#fff;font-weight:950}
@media(max-width:900px){.home-combo-grid{grid-template-columns:1fr}.home-combo-card,.home-combo-card.featured{grid-column:auto;grid-template-columns:1fr;min-height:0}.home-combo-art{min-height:320px}.menu-slideshow{height:auto;min-height:760px;padding:12px}.menu-combo-main{grid-template-columns:1fr;min-height:720px}.menu-combo-copy{order:2;padding:28px}.menu-combo-visual{min-height:360px}.menu-combo-add{right:24px;top:24px}.combo-dialog-layout{grid-template-columns:1fr}.combo-dialog-art{min-height:360px}.combo-dialog-copy{padding:32px 24px}}
@media(max-width:600px){.home-combo-copy{padding:24px}.home-combo-footer{align-items:stretch;flex-direction:column}.home-combo-actions{display:grid;grid-template-columns:1fr 1fr}.menu-combo-copy h2{font-size:2.45rem}.menu-combo-items{display:none}.menu-combo-prices{margin-top:14px}.menu-combo-add{font-size:.78rem;min-height:42px}.combo-dialog{width:calc(100% - 14px)}.combo-dialog-art{min-height:290px}.combo-dialog-copy h2{font-size:2.2rem}}

/* Phase 6.8: use the supplied complete combo photography directly. */
.combo-collage.combo-photo,
.menu-combo-collage.combo-photo,
.combo-dialog-collage.combo-photo{
  display:grid;
  place-items:center;
  width:min(94%,760px);
  height:min(94%,760px);
  aspect-ratio:1;
}
.combo-collage.combo-photo img,
.menu-combo-collage.combo-photo img,
.combo-dialog-collage.combo-photo img{
  position:static;
  inset:auto;
  width:100%;
  height:100%;
  aspect-ratio:1;
  object-fit:contain;
  object-position:center;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
.home-combo-art .combo-photo{width:min(92%,620px);height:auto}
.menu-combo-visual .combo-photo{width:min(94%,760px);height:auto}
.combo-dialog-art .combo-photo{width:min(90%,620px);height:auto}


/* Phase 2.5: configurable combo options */
.combo-dialog{max-height:calc(100svh - 28px);overflow:auto}
.combo-dialog-copy{min-width:0}
.combo-dialog-options{margin:4px 0 22px}
.combo-dialog-options .option-group{margin-top:14px}
.combo-dialog-options .option-card{min-height:52px;padding:11px 13px}
@media(max-width:900px){.combo-dialog-layout{min-height:0}.combo-dialog-copy{overflow:visible}}

.restaurant-table-label{margin:8px 0 12px!important;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy)!important;font-weight:800}
[data-service-actions][hidden]{display:none!important}

/* Customer order tracking notifications + post-order anonymous reviews. */
.order-status-notification,
.success-notification-button{
  width:100%;
  min-height:42px;
  margin-top:14px;
  border:1px solid rgba(11,47,87,.16);
  border-radius:12px;
  background:#fff;
  color:var(--navy);
  font-weight:900;
  cursor:pointer;
}
.order-status-notification.is-enabled,
.success-notification-button.is-enabled{
  border-color:#2f8b63;
  background:#edf8f2;
  color:#1d6849;
}
.success-notification-row{display:flex;justify-content:center;margin:18px 0 0}
.success-notification-row .success-notification-button{width:auto;min-width:220px;margin:0;padding:0 18px}
.anonymous-review-card{
  margin-top:34px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-soft);
  text-align:left;
}
.anonymous-review-card[hidden]{display:none!important}
.anonymous-review-head{display:grid;grid-template-columns:minmax(0,.7fr) minmax(240px,1.3fr);gap:22px;align-items:start}
.anonymous-review-head small{display:block;color:var(--red);font-size:.72rem;font-weight:950;letter-spacing:.12em}
.anonymous-review-head h2{margin:5px 0 0;color:var(--navy);font-size:clamp(1.45rem,3vw,2rem)}
.anonymous-review-head p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.anonymous-review-form{display:grid;gap:16px;margin-top:22px}
.anonymous-rating{margin:0;padding:0;border:0}
.anonymous-rating legend,.anonymous-review-text{color:var(--navy);font-size:.84rem;font-weight:900}
.anonymous-rating-options{display:flex;gap:3px;margin-top:9px;width:max-content}
.anonymous-rating-options label{position:relative;cursor:pointer;display:block}
.anonymous-rating-options input{position:absolute;opacity:0;pointer-events:none}
.anonymous-rating-options span{display:block;padding:0 1px;border:0;background:transparent;color:#e8e8e8;font-size:42px;line-height:1;transition:color .12s ease,transform .12s ease}
.anonymous-rating-options label:has(input:checked) span,.anonymous-rating-options label:has(input:checked)~label span{color:#e8e8e8}
.anonymous-rating-options:has(label:nth-child(1) input:checked) label:nth-child(-n+1) span,
.anonymous-rating-options:has(label:nth-child(2) input:checked) label:nth-child(-n+2) span,
.anonymous-rating-options:has(label:nth-child(3) input:checked) label:nth-child(-n+3) span,
.anonymous-rating-options:has(label:nth-child(4) input:checked) label:nth-child(-n+4) span,
.anonymous-rating-options:has(label:nth-child(5) input:checked) label:nth-child(-n+5) span{color:#ff9418}
.anonymous-rating-options label:hover span{transform:scale(1.08)}
.anonymous-rating-options input:focus-visible+span{outline:3px solid rgba(11,47,87,.2);outline-offset:3px;border-radius:5px}
.anonymous-review-text{display:grid;gap:8px}
.anonymous-review-text textarea{width:100%;resize:vertical;min-height:112px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;line-height:1.5}
.anonymous-review-form .button{justify-self:start}
.anonymous-review-thanks{display:grid;gap:5px;margin-top:18px;padding:16px;border-radius:13px;background:#edf8f2;color:#1d6849}
.anonymous-review-thanks[hidden]{display:none!important}
.anonymous-review-thanks span{font-size:.88rem}
@media(max-width:620px){
  .anonymous-review-card{padding:18px}
  .anonymous-review-head{grid-template-columns:1fr;gap:10px}
  .anonymous-rating-options{display:flex}
  .anonymous-rating-options span{font-size:36px}
  .success-notification-row .success-notification-button{width:100%}
}
