.bevo-custom-order-root,
.bevo-custom-order-root *{box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-transform:none;letter-spacing:normal}
.bevo-custom-overlay{position:fixed;inset:0;z-index:2147480000;background:rgba(20,18,16,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}
.bevo-custom-overlay[hidden],.bevo-custom-order-root [hidden]{display:none!important}
.bevo-custom-modal{width:min(680px,96vw);height:min(760px,92dvh);max-height:92dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--bevo-custom-paper,#fffdf9);border:1px solid rgba(201,151,62,.34);border-radius:26px;box-shadow:0 26px 80px rgba(0,0,0,.3);color:#211d1a;outline:0}
.bevo-custom-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 20px;border-bottom:1px solid #eadfce;background:color-mix(in srgb,var(--bevo-custom-paper,#fffdf9) 96%,#fff)}
.bevo-custom-heading-wrap{min-width:0}
.bevo-custom-kicker{display:block;font-size:12px;font-weight:600;color:#a5681d;text-transform:uppercase!important;letter-spacing:.16em!important}
.bevo-custom-modal h2{font-size:26px!important;line-height:1.18!important;font-weight:600!important;margin:6px 0 0!important;color:#211d1a!important}
.bevo-custom-heading-wrap p{margin:7px 0 0;font-size:13px;line-height:1.45;color:#7b746e}
.bevo-custom-close{flex:0 0 auto;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:50%!important;border:1px solid #e5d7c4!important;background:#fff!important;color:#231f1b!important;padding:0!important;margin:0!important;box-shadow:none!important;cursor:pointer!important}
.bevo-custom-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.bevo-custom-close:hover{background:#f8f1e7!important;border-color:#cfa76e!important}
.bevo-custom-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;scrollbar-gutter:stable}
[data-bevo-custom-step]{display:none}
[data-bevo-custom-step].is-active{display:block;animation:bevoCustomStep .2s ease both}
.bevo-custom-intro{margin:0;font-size:15px;line-height:1.65;color:#746d67}
.bevo-custom-voice-card{display:flex;flex-direction:column;align-items:center;text-align:center;margin:22px 0;padding:22px 18px 18px;border:1px solid #eee2d2;border-radius:20px;background:linear-gradient(180deg,#fff 0%,#fbf6ed 100%)}
.bevo-custom-mic{position:relative;width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important;aspect-ratio:1/1;border:0!important;border-radius:50%!important;background:transparent!important;color:#fff!important;display:grid!important;place-items:center!important;margin:0 auto 16px!important;padding:0!important;cursor:pointer!important;overflow:visible!important;box-shadow:none!important}
.bevo-custom-mic-core{position:relative;z-index:2;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--bevo-custom-accent,#d39a3a);box-shadow:0 15px 35px rgba(173,112,34,.26),inset 0 0 0 1px rgba(255,255,255,.4)}
.bevo-custom-mic-ripple{position:absolute;inset:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--bevo-custom-accent,#d39a3a) 40%,transparent);box-shadow:0 0 0 8px rgba(211,154,58,.08),0 0 0 16px rgba(211,154,58,.04)}
.bevo-custom-mic svg{width:34px;height:34px;display:block}
.bevo-custom-icon-stop{display:none!important}
.bevo-custom-mic.is-listening .bevo-custom-mic-core{background:#b94d45}
.bevo-custom-mic.is-listening .bevo-custom-icon-mic{display:none}
.bevo-custom-mic.is-listening .bevo-custom-icon-stop{display:block!important}
.bevo-custom-mic.is-listening .bevo-custom-mic-ripple{border-color:#b94d45;animation:bevoCustomPulse 1.3s ease-out infinite;box-shadow:none}
.bevo-custom-waveform{height:24px;display:flex;align-items:center;justify-content:center;gap:4px;margin:-3px 0 10px}
.bevo-custom-waveform i{display:block;width:3px;height:6px;border-radius:999px;background:#d6b57f;transform-origin:center}
.bevo-custom-mic.is-listening~.bevo-custom-waveform i{animation:bevoCustomWave .8s ease-in-out infinite alternate}
.bevo-custom-waveform i:nth-child(2n){animation-delay:.08s!important}.bevo-custom-waveform i:nth-child(3n){animation-delay:.16s!important}.bevo-custom-waveform i:nth-child(4n){animation-delay:.24s!important}
.bevo-custom-voice-card>strong{font-size:15px;font-weight:600;color:#2a2521}
.bevo-custom-voice-card>small{margin-top:5px;font-size:12px;line-height:1.45;color:#857d76}
.bevo-custom-live-transcript{width:100%;margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #e8dbc9;color:#3b342f;font-size:14px;line-height:1.5;text-align:left}
.bevo-custom-field{display:grid;gap:8px;font-size:13px;font-weight:600;color:#403b37;min-width:0}
.bevo-custom-field>span:first-child{display:block}
.bevo-custom-modal input,.bevo-custom-modal select,.bevo-custom-modal textarea{appearance:none;-webkit-appearance:none;width:100%!important;min-width:0!important;border:1px solid #d9cec0!important;border-radius:12px!important;background:#fff!important;padding:13px 14px!important;font-size:15px!important;line-height:1.4!important;font-weight:400!important;color:#211d1a!important;box-shadow:none!important;outline:0!important;text-transform:none!important}
.bevo-custom-modal input{height:50px!important}
.bevo-custom-modal textarea{min-height:104px;resize:vertical}
.bevo-custom-modal input:focus,.bevo-custom-modal select:focus,.bevo-custom-modal textarea:focus{border-color:#bd8840!important;box-shadow:0 0 0 3px rgba(189,136,64,.12)!important}
.bevo-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}
.bevo-custom-wide{grid-column:1/-1}
.bevo-custom-select-wrap,.bevo-custom-picker{position:relative;display:block}
.bevo-custom-select-wrap:after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:1.8px solid #705a3b;border-bottom:1.8px solid #705a3b;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.bevo-custom-picker svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:none;stroke:#776d65;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.bevo-custom-picker input{padding-right:46px!important}
.bevo-custom-picker input::-webkit-calendar-picker-indicator{position:absolute;right:0;width:48px;height:100%;opacity:0;cursor:pointer}
.bevo-custom-stepper{height:50px;display:grid;grid-template-columns:44px minmax(56px,1fr) 44px;border:1px solid #d9cec0;border-radius:12px;overflow:hidden;background:#fff}
.bevo-custom-stepper button{width:44px!important;height:48px!important;border:0!important;border-radius:0!important;background:#f6efe6!important;color:#44372b!important;padding:0!important;font-size:23px!important;font-weight:400!important;cursor:pointer!important}
.bevo-custom-stepper input{height:48px!important;border:0!important;border-radius:0!important;text-align:center!important;padding:0 4px!important;-moz-appearance:textfield}
.bevo-custom-stepper input::-webkit-inner-spin-button,.bevo-custom-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.bevo-custom-price,.bevo-custom-disclaimer{display:flex;flex-direction:column;gap:3px;margin:20px 0 0;padding:13px 15px;border-radius:12px;background:#f7f1e8;border:1px solid #eddfcc;font-size:13px;line-height:1.5;color:#6f655c}
.bevo-custom-price strong{color:#8a5d1f;font-size:14px}
.bevo-custom-error{min-height:18px;color:#a43c34;font-size:13px;margin:11px 0 0}
.bevo-custom-review-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:15px}.bevo-custom-review-heading span{font-size:18px;font-weight:600}.bevo-custom-review-heading small{font-size:13px;color:#746d67}
.bevo-custom-order-root [data-bevo-custom-review]{display:grid;gap:0;border:1px solid #eadfce;border-radius:14px;overflow:hidden;background:#fff}
.bevo-custom-order-root [data-bevo-custom-review]>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px;padding:13px 15px;border-bottom:1px solid #eadfce}
.bevo-custom-order-root [data-bevo-custom-review]>div:last-child{border-bottom:0}.bevo-custom-order-root [data-bevo-custom-review] span{font-size:13px;color:#746d67}.bevo-custom-order-root [data-bevo-custom-review] strong{font-size:14px;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere}
.bevo-custom-footer{border-top:1px solid #eadfce;background:var(--bevo-custom-paper,#fffdf9);padding:15px 24px 18px;position:relative;z-index:3}
.bevo-custom-actions{display:flex;gap:10px;justify-content:flex-end}.bevo-custom-actions[hidden]{display:none!important}
.bevo-custom-actions button,.bevo-custom-order-inline{min-height:46px;border:0!important;border-radius:12px!important;padding:12px 20px!important;font-weight:600!important;font-size:14px!important;line-height:1.2!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important}
.bevo-custom-primary,.bevo-custom-order-inline{background:var(--bevo-custom-button,#173f29)!important;color:#fff!important}.bevo-custom-primary:hover{filter:brightness(1.08)}
.bevo-custom-secondary{background:#f2ece3!important;color:#352f2a!important;border:1px solid #dfd2c1!important}
.bevo-custom-success{text-align:center;padding:28px 16px}.bevo-custom-success-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#e4f1e8;color:#173f29;margin:0 auto 16px}.bevo-custom-success-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bevo-custom-success h3{font-size:24px!important;line-height:1.2!important;font-weight:600!important;margin:0 0 8px!important}.bevo-custom-success p{margin:0;color:#746d67;line-height:1.6}
.bevo-custom-open{overflow:hidden}
@keyframes bevoCustomPulse{0%{opacity:.75;transform:scale(.92)}100%{opacity:0;transform:scale(1.35)}}
@keyframes bevoCustomWave{from{height:5px;opacity:.45}to{height:22px;opacity:1}}
@keyframes bevoCustomStep{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.bevo-custom-order-root *{animation:none!important;transition:none!important}}

.bevo-custom-section-title{display:flex;flex-direction:column;gap:3px;padding-top:6px;margin-top:2px;border-top:1px solid #eadfce}.bevo-custom-section-title strong{font-size:15px;font-weight:600;color:#2a2521}.bevo-custom-section-title span{font-size:12px;font-weight:400;color:#857d76}.bevo-custom-field-note{font-size:11px!important;line-height:1.45;color:#857d76;font-weight:400}.bevo-custom-modal input[type=number]{font-variant-numeric:tabular-nums}

/* Phase 3: AI-assisted extraction */
.bevo-custom-ai-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.bevo-custom-ai-trigger {
  appearance: none;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 15px;
  border: 1px solid color-mix(in srgb, var(--bevo-custom-accent) 45%, #d8d2c8);
  border-radius: 999px;
  background: color-mix(in srgb, var(--bevo-custom-accent) 8%, #fff);
  color: #382a1f;
  font: 600 14px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}
.bevo-custom-ai-trigger svg { width: 18px; height: 18px; fill: var(--bevo-custom-accent); }
.bevo-custom-ai-trigger:disabled { opacity: .58; cursor: wait; }
[data-bevo-custom-ai-status] { color: #756d65; font-size: 13px; line-height: 1.4; }
[data-bevo-custom-ai-status][data-state="error"] { color: #b34638; }
[data-bevo-custom-ai-status][data-state="applied"] { color: var(--bevo-custom-button); }
.bevo-custom-ai-review {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #eadac0;
  border-radius: 18px;
  background: #fffaf1;
}
.bevo-custom-ai-review[hidden] { display: none !important; }
.bevo-custom-ai-review-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.bevo-custom-ai-review-head > div { display: grid; gap: 3px; }
.bevo-custom-ai-review-head strong { font-size: 15px; color: #28231f; }
.bevo-custom-ai-review-head span { font-size: 12px; color: #746c64; }
.bevo-custom-ai-source {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #efe5d4;
  color: #6f522b !important;
  font-size: 11px !important;
  font-weight: 600;
}
.bevo-custom-ai-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bevo-custom-ai-result {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border: 1px solid #eee3d3;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
.bevo-custom-ai-result input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--bevo-custom-button); }
.bevo-custom-ai-result > span { display: grid; gap: 2px; min-width: 0; }
.bevo-custom-ai-result strong { font-size: 12px; color: #554c43; }
.bevo-custom-ai-result small { font-size: 13px; color: #26211d; overflow-wrap: anywhere; }
.bevo-custom-ai-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
.bevo-custom-ai-actions button { min-height: 42px; padding: 9px 15px; font-size: 13px; }
@media (max-width: 640px) {
  .bevo-custom-ai-results { grid-template-columns: 1fr; }
  .bevo-custom-ai-actions { display: grid; grid-template-columns: 1fr; }
  .bevo-custom-ai-actions button { width: 100%; }
}

/* Phase 4: mixed menu + custom request actions */
.bevo-custom-review-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px}
.bevo-custom-review-actions .bevo-custom-secondary,
.bevo-custom-review-actions .bevo-custom-primary{min-width:0}
@media (max-width:640px){.bevo-custom-review-actions{grid-template-columns:1fr}.bevo-custom-review-actions button{width:100%}}

/* v2.1.2: shared header navigation and progressive disclosure */
.bevo-custom-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.bevo-custom-header-back{min-height:40px!important;height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;border:0!important;background:transparent!important;color:#3b342f!important;border-radius:10px!important;padding:0 8px!important;margin:1px 0 0!important;font-size:13px!important;font-weight:600!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
.bevo-custom-header-back[hidden]{display:none!important}
.bevo-custom-header-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bevo-custom-header-back:hover,.bevo-custom-header-back:focus-visible{background:#f5eee5!important;color:#173f29!important;outline:0}
.bevo-custom-close{margin-left:0!important}

.bevo-custom-preferences{display:grid;gap:12px;margin-top:3px}
.bevo-custom-preferences .bevo-custom-section-title{padding-top:14px;margin:0}
.bevo-custom-option-list{display:grid;gap:9px}
.bevo-custom-option{border:1px solid #eadfce;border-radius:14px;background:#fff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.bevo-custom-option.is-enabled{border-color:color-mix(in srgb,var(--bevo-custom-button,#173f29) 45%,#eadfce);box-shadow:0 6px 18px rgba(40,31,21,.05)}
.bevo-custom-option-toggle{width:100%!important;min-height:62px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 22px!important;align-items:center!important;gap:11px!important;text-align:left!important;border:0!important;border-radius:0!important;background:#fff!important;color:#2a2521!important;padding:10px 13px!important;margin:0!important;box-shadow:none!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important}
.bevo-custom-option-toggle:hover{background:#fdf9f3!important}
.bevo-custom-option-switch{position:relative;width:36px;height:21px;border-radius:999px;background:#ddd5ca;transition:background .18s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.bevo-custom-option-switch i{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .18s ease}
.bevo-custom-option.is-enabled .bevo-custom-option-switch{background:var(--bevo-custom-button,#173f29)}
.bevo-custom-option.is-enabled .bevo-custom-option-switch i{transform:translateX(15px)}
.bevo-custom-option-copy{display:grid;gap:2px;min-width:0}
.bevo-custom-option-copy strong{font-size:13px;font-weight:600;line-height:1.35;color:#2a2521}
.bevo-custom-option-copy small{font-size:11px;font-weight:400;line-height:1.4;color:#857d76}
.bevo-custom-option-toggle>svg{width:18px;height:18px;fill:none;stroke:#8b7d70;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.bevo-custom-option.is-enabled .bevo-custom-option-toggle>svg{transform:rotate(180deg)}
.bevo-custom-option-panel{padding:0 13px 14px;border-top:1px solid #f0e6da;background:#fff}
.bevo-custom-option-panel[hidden]{display:none!important}
.bevo-custom-option-panel>.bevo-custom-field,.bevo-custom-option-panel>.bevo-custom-option-grid{margin-top:13px}
.bevo-custom-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* With the Back control now in the shared header, footer actions stay focused on the next action. */
.bevo-custom-actions[data-bevo-custom-actions="details"]{justify-content:flex-end}
.bevo-custom-review-actions{grid-template-columns:1fr 1fr}

/* v2.1.4: visible validation feedback in the sticky action area. */
.bevo-custom-footer-error{display:none;margin:0 0 10px;padding:10px 12px;border:1px solid #efc4be;border-radius:10px;background:#fff2f0;color:#9f3028;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;font-weight:500;line-height:1.4;text-align:left}
.bevo-custom-footer-error:not(:empty){display:block}
.bevo-custom-order-root.has-validation-error .bevo-custom-footer{box-shadow:0 -8px 24px rgba(159,48,40,.08)}
.bevo-custom-order-root.has-validation-error .bevo-custom-primary[data-bevo-custom-next="review"]{animation:bevo-custom-validation-nudge .22s ease-in-out 2}
@keyframes bevo-custom-validation-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-3px)}}
@media (prefers-reduced-motion:reduce){.bevo-custom-order-root.has-validation-error .bevo-custom-primary[data-bevo-custom-next="review"]{animation:none}}


/* v3.0.18 reservation mode */
.bevo-custom-order-root[data-bevo-custom-mode="reservation"] .bevo-reservation-request-support,
.bevo-custom-order-root[data-bevo-custom-mode="reservation"] .bevo-custom-reservation-hide {
  display:none !important;
}
.bevo-custom-order-root[data-bevo-custom-display="page"] {
  position:relative !important;
  display:block !important;
  width:100% !important;
}
.bevo-custom-order-root[data-bevo-custom-display="page"] .bevo-custom-overlay {
  position:relative !important;
  inset:auto !important;
  display:block !important;
  min-height:0 !important;
  padding:32px 16px !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:visible !important;
}
.bevo-custom-order-root[data-bevo-custom-display="page"] .bevo-custom-modal {
  width:min(100%,900px) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  grid-template-rows:auto auto auto !important;
  overflow:visible !important;
  margin:0 auto !important;
  box-shadow:0 18px 48px rgba(52,35,24,.10) !important;
}
.bevo-custom-order-root[data-bevo-custom-display="page"] .bevo-custom-close,
.bevo-custom-order-root[data-bevo-custom-display="page"] .bevo-custom-header-back {
  display:none !important;
}
.bevo-custom-order-root[data-bevo-custom-display="page"] .bevo-custom-body {
  max-height:none !important;
  overflow:visible !important;
}
