.miras-order-cta {
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:46px; padding:12px 22px; max-width:100%; border:0; border-radius:999px;
  background:var(--wine); color:var(--on-dark); font:600 15px/1.22 var(--sans);
  cursor:pointer; text-align:center; text-decoration:none;
}
.miras-order-cta:hover { background:var(--dark-hover); }
.miras-order-cta:focus-visible { outline:3px solid var(--brass); outline-offset:3px; }
.miras-contact {
  width:100%; min-width:0; margin-top:18px; color:var(--wine); text-align:center;
  grid-column:1/-1; flex:1 0 100%; container-type:inline-size;
}
.miras-contact .miras-contact-label {
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin:0 0 11px; color:var(--muted); font:550 12px/1.5 var(--sans); letter-spacing:.025em;
}
.miras-contact-label::before, .miras-contact-label::after {
  content:""; flex:0 1 27px; height:1px; background:var(--rule);
}
.contact-channels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; max-width:350px; margin-inline:auto; }
.contact-channel {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:2px 0;
  border-radius:12px; color:var(--wine); font:600 12px/1.4 var(--sans); text-decoration:none;
}
.contact-channel svg {
  display:block; width:44px; height:44px; padding:10px; border-radius:50%;
  border:1px solid var(--rule); background:var(--paper-2); color:var(--wine);
}
.contact-channel:hover svg, .contact-channel:focus-visible svg { color:var(--on-dark); background:var(--wine); border-color:var(--wine); }
.contact-channel:focus-visible { outline:2px solid var(--brass); outline-offset:1px; }
@container (max-width:225px) { .contact-channels { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.contact-followup { margin:5px 0 0; }
.contact-followup summary { cursor:pointer; width:fit-content; margin-inline:auto; padding:9px 5px; font:500 12px/1.4 var(--sans); text-underline-offset:3px; }
.contact-followup summary:hover { text-decoration:underline; }
.offer-preview-copy .offer-rate { margin:0; }
.offer-rate strong { margin-right:3px; }
#order .miras-contact, #order .miras-contact-label, #order .contact-channel { color:var(--on-dark); }
.request-trigger[hidden], .miras-order-cta[hidden], #cabinet-services[hidden], .cabinet-services [hidden] { display:none !important; }
.miras-request-inline {
  width:100%; flex:1 0 100%; grid-column:1/-1; color:var(--ink);
  padding:4px 0; margin:0; min-width:0; text-align:left; font:400 14px/1.35 var(--sans);
}
.miras-request-inline:focus { outline:0; }
.request-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.request-fields:empty { display:none; }
.miras-request-inline label { display:flex; flex-direction:column; gap:4px; margin:0; font:500 13px/1.35 var(--sans); }
.miras-request-inline :is(select,input):not([type="checkbox"]) {
  min-height:43px; width:100%; min-width:0; border:1px solid var(--rule); padding:8px 9px;
  border-radius:12px; color:var(--ink); background:var(--paper); font:400 16px/1.2 var(--sans); box-sizing:border-box;
}
.request-fields .request-check { grid-column:1/-1; flex-direction:row; align-items:center; gap:6px; }
.request-fields .request-check input { flex:none; width:18px; height:18px; margin:2px 0; }
.request-status:empty { display:none; }
.request-status { margin:8px 0; color:#974320; }
.miras-request-inline .miras-order-cta { margin-top:12px; width:100%; }
.request-note,.request-receipt small { display:block; margin-top:7px; font:400 12px/1.4 var(--sans); }
.request-receipt strong { font-size:21px; }
#miras-request-dialog { width:min(400px,94vw); padding:22px; border-radius:20px; }
#miras-request-dialog h2 { margin:0 40px 14px 0; font-size:26px; }
.request-close { float:right; width:36px; height:36px; font:22px/1 var(--sans); border:1px solid var(--rule); border-radius:100%; }
.guest-picker { margin:0 0 20px; padding:16px; border:1px solid var(--rule); border-radius:18px; background:var(--paper-2); }
.guest-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; font:600 15px var(--sans); }
.guest-heading input { inline-size:64px; min-block-size:40px; padding:6px; border:1px solid var(--rule); border-radius:10px; background:var(--paper); color:var(--ink); text-align:center; font:600 18px var(--sans); }
.guest-picker input[type="range"] { display:block; width:100%; height:28px; margin:10px 0 0; accent-color:var(--brass); cursor:pointer; }
.guest-price { min-block-size:0; margin:8px 0 0; color:var(--wine); font:600 16px var(--sans); }
.guest-price:empty { display:none; }
.cabinet-services button { color:var(--gold); font-size:14px; padding:10px 0; }
#order .miras-request-inline, #order .request-note, #order .request-receipt { color:var(--on-dark); }
#order .miras-order-cta { background:var(--gold); color:var(--night); }
#order .request-status { color:#ffd6ac; }
#order .cabinet-services button.miras-order-cta { padding:12px 20px; }
@media(max-width:560px) {
  dialog:has(.contact-followup[open]) .offer-preview > img { max-height:120px; }
  dialog:has(.contact-followup[open]) .offer-preview-photo[src$="booking-dj.webp"] { object-position:50% 16%; }
}
