/* =========================================================
   MIREORA — ORDER EXPERIENCE
   Full checkout-style flow that follows the landing hero.
   Uses the approved type scale only:
   72 / 44 / 28 / 22 / 18 / 14 px (desktop)
   48 / 36 / 28 / 22 / 18 / 14 px (mobile)
   ========================================================= */

/* ---------- Dialog shell ---------- */
.inquiry-dialog{
  width:min(1480px,calc(100vw - 24px))!important;
  max-width:1480px!important;
  height:calc(100dvh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  margin:auto!important;
  padding:0!important;
  border:1px solid rgba(198,180,255,.22)!important;
  border-radius:30px!important;
  background:
    radial-gradient(900px 620px at 0% 0%,rgba(93,55,178,.25),transparent 62%),
    radial-gradient(700px 520px at 100% 20%,rgba(139,92,246,.09),transparent 66%),
    linear-gradient(145deg,#0d0b14 0%,#08080d 48%,#0b0911 100%)!important;
  color:var(--text)!important;
  box-shadow:0 50px 160px rgba(0,0,0,.78),inset 0 1px rgba(255,255,255,.05)!important;
  overflow:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-color:rgba(183,163,255,.32) transparent;
}
.inquiry-dialog::backdrop{
  background:rgba(3,3,7,.88)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.inquiry-dialog::before{
  content:"";
  position:fixed;
  pointer-events:none;
  inset:0;
  opacity:.2;
  background-image:
    linear-gradient(rgba(194,178,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(194,178,255,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(135deg,#000,transparent 56%);
}
.inquiry-dialog[open]{animation:orderDialogIn .36s cubic-bezier(.2,.8,.2,1)!important}
@keyframes orderDialogIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}

.dialog-close{
  position:sticky!important;
  z-index:80!important;
  float:right!important;
  top:20px!important;
  margin:20px 20px -64px 0!important;
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  background:rgba(9,8,13,.82)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.05)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  transition:border-color .2s,background .2s,transform .2s!important;
}
.dialog-close span,
.dialog-close span::before{
  display:block;
  width:18px;
  height:1px;
  background:#d9d2e2;
  content:"";
}
.dialog-close span{transform:rotate(45deg)}
.dialog-close span::before{transform:rotate(90deg)}
.dialog-close:hover{
  transform:rotate(5deg)!important;
  border-color:rgba(195,174,255,.48)!important;
  background:rgba(139,92,246,.14)!important;
}

.order-step{
  position:relative;
  z-index:1;
  min-height:100%;
  padding:0 64px 56px!important;
}
.order-step.is-active{display:block!important}

/* ---------- Progress header ---------- */
.order-progress{
  position:sticky;
  z-index:50;
  top:0;
  min-height:88px;
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(72px,1fr);
  align-items:center;
  margin:0 -64px;
  padding:14px 88px 14px 64px;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(8,7,12,.83);
  box-shadow:0 18px 60px rgba(0,0,0,.16);
  backdrop-filter:blur(22px) saturate(130%);
  -webkit-backdrop-filter:blur(22px) saturate(130%);
}
.order-progress-brand{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-width:0;
}
.order-progress-brand>span{
  font-family:var(--serif)!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1!important;
}
.order-progress-brand>small{
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  color:#8d8796;
  white-space:nowrap;
}
.order-progress ol{
  grid-column:2;
  display:flex;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.order-progress li{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  color:#6f6978;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.2!important;
  white-space:nowrap;
}
.order-progress li:not(:last-child)::after{
  content:"";
  width:54px;
  height:1px;
  margin:0 14px;
  background:rgba(255,255,255,.11);
}
.order-progress li i{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-style:normal;
  font-weight:400!important;
}
.order-progress li.is-active{color:#f2edf8}
.order-progress li.is-active i,
.order-progress li.is-complete i{
  border-color:rgba(196,176,255,.54);
  background:rgba(139,92,246,.15);
  color:#d7c9ff;
  box-shadow:0 0 28px rgba(139,92,246,.14);
}
.order-progress li.is-complete{color:#aaa2b5}

/* ---------- Hero-like introduction ---------- */
.order-step .dialog-copy{
  padding:72px 0 0!important;
  background:transparent!important;
  border:0!important;
}
.order-choice-heading,
.compact-dialog-copy{
  width:min(850px,100%);
  padding-right:0!important;
}
.order-step .dialog-copy .kicker{
  margin:0 0 18px!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:.055em!important;
  text-transform:none!important;
}
.order-step .dialog-copy h2{
  max-width:14ch;
  margin:0!important;
  font-family:var(--serif)!important;
  font-size:44px!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:-.038em!important;
}
.order-step .dialog-copy h2 em{
  font:inherit!important;
  font-style:italic!important;
  color:transparent!important;
  background:linear-gradient(105deg,#fff 4%,#d9ccff 46%,#8b5cf6 100%)!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
}
.order-step .dialog-copy>p:last-child{
  max-width:720px;
  margin:24px 0 0!important;
  color:#a9a3b2!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.65!important;
}

/* ---------- Product choice ---------- */
.choice-section{margin-top:64px!important}
.choice-section-heading{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  margin:0 0 22px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.choice-section-heading h3{
  margin:0!important;
  font-family:var(--sans)!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}
.choice-products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.choice-card{
  color:inherit;
  font-weight:400!important;
  text-transform:none!important;
  border:1px solid rgba(255,255,255,.105)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
  transition:transform .25s,border-color .25s,background .25s,box-shadow .25s!important;
}
.choice-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(195,174,255,.34)!important;
  background:linear-gradient(145deg,rgba(139,92,246,.09),rgba(255,255,255,.02))!important;
  box-shadow:0 22px 60px rgba(0,0,0,.22),0 0 44px rgba(102,58,204,.07)!important;
}
.choice-card.is-selected{
  transform:none!important;
  border-color:rgba(195,174,255,.62)!important;
  background:linear-gradient(145deg,rgba(139,92,246,.15),rgba(255,255,255,.025))!important;
  box-shadow:0 24px 72px rgba(0,0,0,.24),0 0 54px rgba(112,66,222,.12),inset 0 1px rgba(255,255,255,.06)!important;
}
.choice-product{
  min-height:250px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:150px minmax(0,1fr)!important;
  align-items:start!important;
  gap:18px 12px!important;
  padding:14px!important;
  overflow:hidden;
}
.choice-media{
  grid-column:1/-1;
  width:100%!important;
  height:150px!important;
  aspect-ratio:auto!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(139,92,246,.13),transparent 62%),
    rgba(4,4,8,.7)!important;
}
.choice-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  transition:transform .35s!important;
}
.choice-card:hover .choice-media img{transform:scale(1.035)}
.choice-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:0 4px 5px!important;
}
.choice-copy strong{
  font-family:var(--sans)!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1.25!important;
  letter-spacing:-.014em!important;
  overflow-wrap:normal!important;
}
.choice-copy small{
  color:#938d9c!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.choice-arrow{
  align-self:start;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0!important;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  color:#bdb3c9!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
}
.choice-card.is-selected .choice-arrow{
  border-color:rgba(199,181,255,.45);
  background:rgba(139,92,246,.15);
  color:#fff!important;
}

.service-section{margin-top:42px!important}
.choice-service{
  width:100%!important;
  min-height:300px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(330px,.62fr) auto!important;
  align-items:center!important;
  gap:32px!important;
  padding:32px!important;
  overflow:hidden!important;
  background:
    radial-gradient(520px 300px at 18% 55%,rgba(118,71,226,.23),transparent 72%),
    linear-gradient(135deg,rgba(45,29,82,.56),rgba(10,9,15,.74))!important;
}
.service-copy{padding:0!important}
.service-copy .service-label{
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:.055em!important;
  text-transform:none!important;
}
.service-copy>strong{
  margin-top:15px!important;
  font-family:var(--serif)!important;
  font-size:44px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.service-copy>small{
  max-width:670px;
  margin-top:18px!important;
  color:#aaa3b2!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.58!important;
}
.service-tags{margin-top:20px!important;gap:8px!important}
.service-tags i{
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:999px!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  font-style:normal!important;
}
.service-visual{
  min-height:220px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:18px!important;
  background:rgba(5,4,9,.5)!important;
}

.choice-actions{
  position:sticky!important;
  z-index:40!important;
  bottom:0!important;
  margin:48px -64px -56px!important;
  padding:18px 64px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  border-top:1px solid rgba(255,255,255,.1)!important;
  background:rgba(8,7,12,.9)!important;
  box-shadow:0 -24px 70px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(20px)!important;
  -webkit-backdrop-filter:blur(20px)!important;
}
.choice-status{
  min-width:0;
  display:flex;
  align-items:center;
  gap:20px;
}
.choice-actions p{
  margin:0!important;
  color:#9c96a5!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.choice-price{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
}
.choice-price small{
  color:#8d8796!important;
  font-size:14px!important;
  font-weight:400!important;
}
.choice-price strong{
  font-family:var(--serif)!important;
  font-size:28px!important;
  font-weight:400!important;
}
.choice-actions .button{
  min-width:180px!important;
  min-height:54px!important;
  padding:14px 24px!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* ---------- Form / checkout layout ---------- */
.compact-dialog-copy{width:min(940px,100%)}
.order-form-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 350px;
  align-items:start;
  gap:24px;
  margin-top:54px;
}
.order-form-main{min-width:0;display:grid;gap:18px}
.order-summary-panel{min-width:0}
.order-summary-sticky{
  position:sticky;
  top:112px;
  padding:18px;
  border:1px solid rgba(195,176,255,.18);
  border-radius:24px;
  background:
    radial-gradient(300px 240px at 50% 0%,rgba(112,67,217,.15),transparent 72%),
    rgba(15,13,21,.72);
  box-shadow:0 28px 90px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035);
}
.order-summary-kicker{
  margin:0 0 14px!important;
  color:#a99fba!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
}
.order-summary-media{
  height:240px;
  display:grid;
  place-items:center;
  margin:0!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:17px;
  background:
    radial-gradient(circle at 50% 45%,rgba(139,92,246,.13),transparent 64%),
    rgba(5,5,9,.72);
}
.order-summary-media img{width:100%;height:100%;object-fit:contain}
.selected-order{
  display:block!important;
  margin:0!important;
  padding:20px 2px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.selected-order-type{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
.selected-order-type>span{
  color:#807988!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.selected-order-type>strong{
  font-family:var(--sans)!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1.28!important;
  letter-spacing:-.012em!important;
}
.selected-order-actions{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);
}
.selected-order-price{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.selected-order-price small{
  color:#827b8a!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
}
.selected-order-price strong{
  font-family:var(--serif)!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1!important;
}
.selected-order button{
  padding:8px 0!important;
  background:none!important;
  color:#bbaaff!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.order-summary-divider{height:1px;margin:20px 0;background:rgba(255,255,255,.09)}
.order-summary-benefits{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.order-summary-benefits li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.order-summary-benefits li>span{
  width:28px;height:28px;display:grid;place-items:center;
  border:1px solid rgba(190,170,255,.24);border-radius:999px;
  color:#bbaaff;font-family:var(--sans)!important;font-size:14px!important;font-weight:400!important;
}
.order-summary-benefits p{display:flex;flex-direction:column;gap:3px;margin:0!important}
.order-summary-benefits strong{
  color:#d9d3df!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.order-summary-benefits small{
  color:#827c8a!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}

/* ---------- Configurator ---------- */
.product-configurator{
  margin:0!important;
  padding:24px!important;
  border:1px solid rgba(195,176,255,.16)!important;
  border-radius:24px!important;
  background:rgba(15,13,21,.58)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}
.configurator-showcase{
  display:grid!important;
  grid-template-columns:minmax(220px,30%) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}
.configurator-product-media{
  min-height:280px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(139,92,246,.14),transparent 64%),
    rgba(4,4,8,.72)!important;
}
.configurator-product-media img{width:100%!important;height:100%!important;object-fit:contain!important}
.configurator-intro{
  min-height:280px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:28px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:18px!important;
  background:
    linear-gradient(115deg,rgba(39,25,71,.7),rgba(9,8,14,.8)),
    rgba(9,8,13,.76)!important;
}
.configurator-intro::before{opacity:.28!important;background-size:48px 48px!important}
.configurator-intro h3{
  max-width:18ch!important;
  margin:10px 0 0!important;
  font-family:var(--serif)!important;
  font-size:44px!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:-.034em!important;
}
.configurator-eyebrow{
  color:#c2b3f3!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
}
.configurator-summary{
  max-width:55ch!important;
  margin:18px 0 0!important;
  color:#aca5b5!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.55!important;
}
.configurator-note{
  max-width:65ch!important;
  margin:16px 0 0!important;
  padding:12px 14px!important;
  border-left:1px solid rgba(190,168,255,.38)!important;
  color:#8f8998!important;
  background:rgba(255,255,255,.018)!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.5!important;
}
.configurator-decoration{margin-top:20px!important}
.configurator-fields-heading{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:start!important;
  gap:14px!important;
  margin:30px 0 0!important;
  padding:24px 0 16px!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
}
.form-step-number{
  width:44px;
  height:44px;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto;
  border:1px solid rgba(190,170,255,.28);
  border-radius:999px;
  background:rgba(139,92,246,.08);
  color:#bbaaff!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.configurator-fields-heading>div{min-width:0}
.configurator-fields-heading small{
  display:block;
  margin-bottom:4px;
  color:#817a89;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.configurator-fields-heading h4{
  margin:0!important;
  font-family:var(--sans)!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:-.018em!important;
}
.configurator-fields{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px!important;
  margin:0!important;
}
.config-field{
  min-width:0!important;
  margin:0!important;
  padding:20px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:18px!important;
  background:rgba(7,6,11,.48)!important;
}
.config-field-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 14px!important;
}
.config-field-top>span:first-child{
  order:2;
  color:#746e7c!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.config-field-label{
  color:#ded8e5!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.config-field-label small{
  margin-left:6px;
  color:#827a8a!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.modern-options{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:10px!important;
}
.modern-options.is-colors{grid-template-columns:repeat(auto-fit,minmax(72px,92px))!important}
.modern-option{
  min-width:0!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:13px 14px!important;
  border:1px solid rgba(255,255,255,.105)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.022)!important;
  color:#bdb7c3!important;
  text-align:left!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
  transition:border-color .2s,background .2s,color .2s!important;
}
.modern-option:hover{
  border-color:rgba(190,170,255,.35)!important;
  background:rgba(139,92,246,.07)!important;
  color:#eee9f3!important;
}
.modern-option.is-active{
  border-color:rgba(195,175,255,.58)!important;
  background:rgba(139,92,246,.13)!important;
  color:#fff!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 28px rgba(139,92,246,.07)!important;
}
.modern-option .option-copy{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
.modern-option strong{
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.option-meta,
.option-price{
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.option-meta{color:#837c8b!important}
.option-price{
  align-self:flex-start!important;
  min-height:0!important;
  margin:2px 0 0!important;
  padding:0!important;
  border-radius:0!important;
  background:none!important;
  color:#c9b8ff!important;
}
.option-check{
  width:22px!important;
  height:22px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:999px!important;
  color:transparent!important;
  font-size:14px!important;
}
.modern-option.is-active .option-check{
  border-color:rgba(195,175,255,.56)!important;
  background:rgba(139,92,246,.18)!important;
  color:#fff!important;
}
.color-option{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;padding:10px!important}
.color-option-shell{width:38px!important;height:38px!important}
.color-option .option-check{position:absolute!important;right:7px!important;top:7px!important}
.phone-picker{display:grid!important;gap:12px!important}
.phone-brand-tabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.phone-brand,
.phone-model{
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.02)!important;
  color:#aba4b2!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.phone-brand{padding:10px 14px!important}
.phone-brand.is-active,
.phone-model.is-active{
  border-color:rgba(195,175,255,.52)!important;
  background:rgba(139,92,246,.12)!important;
  color:#fff!important;
}
.phone-model-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:0!important}
.phone-model{min-height:50px!important;padding:10px 12px!important;text-align:left!important}
.config-text-field input,
.modern-field input,
.modern-field textarea,
.modern-field select{
  width:100%!important;
  min-height:56px!important;
  padding:14px 16px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:13px!important;
  background:rgba(4,4,8,.66)!important;
  color:#eeeaf2!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.5!important;
  outline:none!important;
  transition:border-color .2s,box-shadow .2s,background .2s!important;
}
.modern-field textarea{min-height:130px!important;resize:vertical!important}
.config-text-field input::placeholder,
.modern-field input::placeholder,
.modern-field textarea::placeholder{color:#6e6876!important;opacity:1!important}
.config-text-field input:focus,
.modern-field input:focus,
.modern-field textarea:focus,
.modern-field select:focus{
  border-color:rgba(195,175,255,.62)!important;
  background:rgba(7,6,12,.8)!important;
  box-shadow:0 0 0 4px rgba(139,92,246,.10)!important;
}
.configurator-validation{
  margin:14px 0 0!important;
  padding:12px 14px!important;
  border:1px solid rgba(255,138,154,.35)!important;
  border-radius:12px!important;
  background:rgba(255,91,111,.06)!important;
  color:#ffb2bd!important;
  font-size:14px!important;
  font-weight:400!important;
}
.product-details{
  margin:18px 0 0!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:16px!important;
  background:rgba(5,4,9,.36)!important;
  overflow:hidden!important;
}
.product-details summary{
  min-height:58px;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:14px 16px!important;
  color:#c3bdca!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
.product-details-content{padding:0 16px 18px!important}
.product-details-content,
.product-details-content p{
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.55!important;
}
.product-details-content h4{font-size:18px!important;font-weight:400!important}
.product-details-content table{font-size:14px!important}

/* ---------- Story and contact sections ---------- */
#inquiryForm{display:grid!important;gap:18px!important}
.form-section{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:22px!important;
  margin:0!important;
  padding:24px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:24px!important;
  background:rgba(15,13,21,.58)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.03)!important;
}
.form-section-head{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:start!important;
  gap:14px!important;
  margin:0!important;
  padding:0 0 20px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
.form-section-head h3{
  margin:0!important;
  font-family:var(--sans)!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:-.018em!important;
}
.form-section-head p{
  max-width:64ch;
  margin:6px 0 0!important;
  color:#8f8998!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.5!important;
}
.modern-field-group{margin:0!important}
.modern-field-label,
.modern-field>span{
  display:block!important;
  margin:0 0 10px!important;
  color:#d0cad7!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.modern-field-label small,
.modern-field>span small{
  color:#817a89!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.occasion-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
.occasion-pill{
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:11px 14px!important;
  border:1px solid rgba(255,255,255,.105)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.02)!important;
  color:#ada6b4!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.occasion-pill:hover,
.occasion-pill.is-active{
  border-color:rgba(195,175,255,.52)!important;
  background:rgba(139,92,246,.12)!important;
  color:#fff!important;
}
.contact-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.field-wide{grid-column:1/-1!important}
.upload-card{
  position:relative!important;
  min-height:150px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:0!important;
  padding:22px!important;
  border:1px dashed rgba(195,175,255,.34)!important;
  border-radius:18px!important;
  background:
    radial-gradient(230px 150px at 0% 50%,rgba(139,92,246,.1),transparent 75%),
    rgba(8,7,12,.52)!important;
  cursor:pointer!important;
}
.upload-card:hover{
  border-color:rgba(195,175,255,.62)!important;
  background:rgba(139,92,246,.065)!important;
}
.upload-icon{
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(195,175,255,.28)!important;
  border-radius:16px!important;
  background:rgba(139,92,246,.1)!important;
  color:#c4b4ff!important;
  font-size:28px!important;
  font-weight:300!important;
}
.upload-copy{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important}
.upload-copy strong{
  font-family:var(--sans)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.upload-copy small{
  color:#817a89!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.upload-action{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 15px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.025)!important;
  color:#c9c2d0!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* ---------- Final review / submit ---------- */
.submit-panel{
  position:static!important;
  z-index:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:22px!important;
  margin:0!important;
  padding:22px 24px!important;
  border:1px solid rgba(195,175,255,.19)!important;
  border-radius:22px!important;
  background:
    radial-gradient(340px 180px at 0% 50%,rgba(139,92,246,.12),transparent 75%),
    rgba(15,13,21,.68)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
  backdrop-filter:none!important;
}
.submit-panel-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px!important;
}
.submit-panel-copy strong{
  font-family:var(--sans)!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1.3!important;
}
.submit-panel-copy span{
  color:#8e8797!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.submit-panel-action{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.submit-price{
  min-width:112px!important;
  min-height:54px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:2px!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:14px!important;
  background:rgba(5,4,9,.48)!important;
}
.submit-price small{
  color:#817a89!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.submit-price strong{
  font-family:var(--serif)!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:1!important;
}
.submit-panel .button{
  min-width:190px!important;
  min-height:54px!important;
  padding:14px 22px!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.form-success{
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid rgba(169,255,207,.22)!important;
  border-radius:14px!important;
  background:rgba(99,214,149,.07)!important;
  color:#bfffd9!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
}

/* ---------- Focus / validation ---------- */
.inquiry-dialog button:focus-visible,
.inquiry-dialog input:focus-visible,
.inquiry-dialog textarea:focus-visible,
.inquiry-dialog select:focus-visible,
.inquiry-dialog summary:focus-visible{
  outline:2px solid rgba(203,188,255,.78)!important;
  outline-offset:3px!important;
}
.config-field.is-invalid,
.modern-field-group.is-invalid .occasion-options,
.upload-card.is-invalid{
  border-color:rgba(255,138,154,.58)!important;
  box-shadow:0 0 0 3px rgba(255,91,111,.06)!important;
}

/* ---------- Tablet ---------- */
@media (max-width:1180px){
  .order-step{padding-inline:38px!important}
  .order-progress{margin-inline:-38px!important;padding-left:38px!important;padding-right:78px!important}
  .choice-actions{margin-left:-38px!important;margin-right:-38px!important;padding-inline:38px!important}
  .choice-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .order-form-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:18px!important}
  .configurator-showcase{grid-template-columns:minmax(190px,30%) minmax(0,1fr)!important}
  .phone-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ---------- Mobile ---------- */
@media (max-width:760px){
  .inquiry-dialog{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border:0!important;
    border-radius:0!important;
  }
  .inquiry-dialog::backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .dialog-close{
    top:12px!important;
    margin:12px 12px -52px 0!important;
    width:42px!important;
    height:42px!important;
  }
  .order-step{padding:0 16px 28px!important}
  .order-progress{
    min-height:66px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    margin:0 -16px!important;
    padding:10px 62px 10px 16px!important;
  }
  .order-progress-brand>small{display:none}
  .order-progress ol{grid-column:2;gap:6px!important}
  .order-progress li{gap:0!important}
  .order-progress li span{display:none}
  .order-progress li:not(:last-child)::after{width:20px!important;margin:0 5px!important}
  .order-progress li i{width:28px!important;height:28px!important}
  .order-step .dialog-copy{padding:44px 0 0!important}
  .order-step .dialog-copy h2{
    max-width:12ch!important;
    font-size:36px!important;
    line-height:1.02!important;
  }
  .order-step .dialog-copy>p:last-child{
    margin-top:18px!important;
    font-size:18px!important;
    line-height:1.55!important;
  }
  .choice-section{margin-top:42px!important}
  .choice-section-heading h3{font-size:28px!important}
  .choice-products{grid-template-columns:1fr!important;gap:12px!important}
  .choice-product{
    min-height:0!important;
    grid-template-columns:92px minmax(0,1fr) auto!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:13px!important;
    padding:10px!important;
  }
  .choice-media{
    grid-column:1!important;
    width:92px!important;
    height:92px!important;
    border-radius:13px!important;
  }
  .choice-copy{padding:0!important}
  .choice-copy strong{font-size:22px!important}
  .choice-copy small{display:block!important;font-size:14px!important}
  .choice-arrow{width:34px!important;height:34px!important;font-size:14px!important}
  .choice-service{
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:22px!important;
  }
  .service-copy>strong{font-size:36px!important}
  .service-copy>small{font-size:18px!important}
  .service-visual{min-height:160px!important}
  .choice-service>.choice-arrow{position:absolute!important;right:16px!important;top:16px!important}
  .choice-actions{
    margin:34px -16px -28px!important;
    padding:14px 16px calc(14px + env(safe-area-inset-bottom))!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .choice-status{justify-content:space-between!important;gap:12px!important}
  .choice-actions p{text-align:left!important}
  .choice-actions .button{
    width:100%!important;
    min-height:54px!important;
    font-size:18px!important;
  }
  .order-form-layout{grid-template-columns:1fr!important;margin-top:36px!important}
  .order-summary-panel{grid-row:1!important}
  .order-summary-sticky{
    position:static!important;
    display:grid!important;
    grid-template-columns:110px minmax(0,1fr)!important;
    gap:14px!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  .order-summary-kicker{grid-column:1/-1;margin-bottom:0!important}
  .order-summary-media{width:110px!important;height:110px!important;border-radius:13px!important}
  .selected-order{padding:0!important;align-self:center!important}
  .selected-order-actions{margin-top:12px!important;padding-top:12px!important}
  .order-summary-divider,
  .order-summary-benefits{display:none!important}
  .product-configurator,
  .form-section{padding:14px!important;border-radius:18px!important}
  .configurator-showcase{grid-template-columns:1fr!important;gap:12px!important}
  .configurator-product-media{min-height:230px!important}
  .configurator-intro{min-height:0!important;padding:20px!important}
  .configurator-intro h3{font-size:36px!important}
  .configurator-summary{font-size:18px!important}
  .configurator-fields-heading,
  .form-section-head{grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important}
  .form-step-number{width:40px!important;height:40px!important}
  .configurator-fields-heading h4,
  .form-section-head h3{font-size:28px!important}
  .config-field{padding:14px!important;border-radius:15px!important}
  .config-field-top{display:block!important}
  .config-field-top>span:first-child{display:block!important;margin-top:4px!important}
  .modern-options,
  .modern-options.is-cards,
  .modern-options.is-pills,
  .modern-options[class*="options-count-"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .modern-options.is-colors{grid-template-columns:repeat(auto-fit,minmax(64px,80px))!important}
  .modern-option{min-height:58px!important;padding:11px!important}
  .phone-model-grid{grid-template-columns:1fr!important}
  .occasion-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .occasion-pill{font-size:18px!important}
  .contact-grid{grid-template-columns:1fr!important;gap:16px!important}
  .field-wide{grid-column:1!important}
  .upload-card{
    grid-template-columns:50px minmax(0,1fr)!important;
    min-height:0!important;
    padding:16px!important;
  }
  .upload-icon{width:50px!important;height:50px!important;font-size:28px!important}
  .upload-action{grid-column:2!important;justify-self:start!important;font-size:18px!important}
  .submit-panel{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:18px!important;
  }
  .submit-panel-action{width:100%!important;justify-content:stretch!important}
  .submit-price{flex:0 0 auto!important;align-items:flex-start!important}
  .submit-panel .button{flex:1 1 auto!important;min-width:0!important;font-size:18px!important}
}

@media (max-width:430px){
  .choice-product{grid-template-columns:78px minmax(0,1fr) auto!important}
  .choice-media{width:78px!important;height:78px!important}
  .choice-copy small{display:none!important}
  .order-summary-sticky{grid-template-columns:86px minmax(0,1fr)!important}
  .order-summary-media{width:86px!important;height:86px!important}
  .modern-options,
  .modern-options.is-cards,
  .modern-options.is-pills,
  .modern-options[class*="options-count-"],
  .occasion-options{grid-template-columns:1fr!important}
  .submit-panel-action{display:grid!important;grid-template-columns:1fr!important}
  .submit-price{width:100%!important;align-items:center!important}
  .submit-panel .button{width:100%!important}
}

@media (prefers-reduced-motion:reduce){
  .inquiry-dialog[open],.choice-card,.choice-media img{animation:none!important;transition:none!important}
}

/* ---------- Final conflict guards against legacy modal rules ---------- */
.order-step .dialog-copy{
  min-height:0!important;
  display:block!important;
  justify-content:initial!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.order-step .dialog-copy::before{display:none!important}
.order-step-choice .choice-section{
  position:relative!important;
  overflow:visible!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.order-step-choice .choice-section::before{display:none!important}
.dialog-close span{
  position:relative!important;
  width:18px!important;
  height:18px!important;
  display:block!important;
  background:transparent!important;
  transform:none!important;
}
.dialog-close span::before,
.dialog-close span::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:18px!important;
  height:1px!important;
  border-radius:999px!important;
  background:#eee9f3!important;
  transform-origin:center!important;
}
.dialog-close span::before{transform:translate(-50%,-50%) rotate(45deg)!important}
.dialog-close span::after{transform:translate(-50%,-50%) rotate(-45deg)!important}
.dialog-close:hover{transform:rotate(5deg)!important}
.order-form-layout{margin-top:58px!important}
@media (max-width:760px){
  .order-form-layout{margin-top:38px!important}
}

/* Keep the order summary visible beside the form on long desktop checkouts. */
@media (min-width:761px){
  .order-summary-panel{align-self:stretch!important}
}


/* =========================================================
   Order progress — same visual language as the main menu
   ========================================================= */
.order-progress,
.order-progress.order-progress-form{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  min-height:auto!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin:0 -64px!important;
  padding:22px 76px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:rgba(8,7,12,.88)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
}

.order-progress-brand{display:none!important}

.order-progress ol{
  grid-column:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:5px!important;
  list-style:none!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.18)!important;
}

.order-progress li{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:6px 16px 6px 8px!important;
  border-radius:999px!important;
  color:#8f8999!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:color .2s ease,background .2s ease,box-shadow .2s ease!important;
}

.order-progress li:not(:last-child)::after{display:none!important}

.order-progress li i{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:inherit!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:400!important;
  box-shadow:none!important;
}

.order-progress li.is-active{
  color:#f4f0f8!important;
  background:rgba(255,255,255,.06)!important;
}
.order-progress li.is-active i{
  border-color:rgba(170,139,255,.62)!important;
  background:rgba(139,92,246,.16)!important;
  color:#d9ceff!important;
  box-shadow:0 0 24px rgba(139,92,246,.18)!important;
}
.order-progress li.is-complete{color:#b9b2c3!important}
.order-progress li.is-complete i{
  border-color:rgba(170,139,255,.34)!important;
  background:rgba(139,92,246,.09)!important;
  color:#c9baff!important;
  box-shadow:none!important;
}

@media (max-width:860px){
  .order-progress,
  .order-progress.order-progress-form{
    margin:0 -16px!important;
    padding:14px 48px 14px 16px!important;
  }
  .order-progress ol{
    width:100%!important;
    justify-content:space-between!important;
    gap:2px!important;
  }
  .order-progress li{
    flex:1 1 0!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:0!important;
    padding:5px 8px!important;
    font-size:14px!important;
  }
  .order-progress li span{display:inline!important}
  .order-progress li i{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
}

@media (max-width:620px){
  .order-progress,
  .order-progress.order-progress-form{
    padding:12px 44px 12px 12px!important;
  }
  .order-progress ol{padding:4px!important}
  .order-progress li{
    min-height:38px!important;
    padding:4px 7px!important;
  }
  .order-progress li span{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media (max-width:440px){
  .order-progress li{gap:0!important;padding:4px!important}
  .order-progress li span{display:none!important}
  .order-progress li i{
    width:30px!important;
    height:30px!important;
    flex-basis:30px!important;
  }
}

/* =========================================================
   Order progress — remove the full-width dark backing panel
   Keep only the menu-style progress capsule.
   ========================================================= */
.order-progress,
.order-progress.order-progress-form{
  min-height:0!important;
  margin:0!important;
  padding:20px 0 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.order-progress ol{
  margin-inline:auto!important;
}

@media (max-width:860px){
  .order-progress,
  .order-progress.order-progress-form{
    margin:0!important;
    padding:14px 48px 0 0!important;
  }
}

@media (max-width:620px){
  .order-progress,
  .order-progress.order-progress-form{
    padding:12px 44px 0 0!important;
  }
}

/* =========================================================
   VISUAL QA FIXES — spacing and choice footer
   ========================================================= */

/* Give every choice group a clear editorial break from the copy above. */
.order-step-choice .order-choice-heading + .choice-section{
  margin-top:88px!important;
}
.order-step-choice .choice-section + .choice-section{
  margin-top:72px!important;
}

/* Keep section labels visually attached to their own content, not to the
   preceding card row or paragraph. */
.order-step-choice .choice-section-heading{
  margin-bottom:28px!important;
  padding-bottom:18px!important;
}
.order-step-choice .choice-section-heading h3{
  line-height:1.12!important;
}

/* Replace the heavy full-width footer slab with a compact floating action bar. */
.order-step-choice .choice-actions{
  position:sticky!important;
  z-index:40!important;
  bottom:18px!important;
  width:min(100%,1160px)!important;
  margin:64px auto 20px!important;
  padding:16px 18px 16px 22px!important;
  border:1px solid rgba(198,180,255,.18)!important;
  border-radius:24px!important;
  background:rgba(12,10,18,.88)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.035)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.order-step-choice .choice-status{
  flex-wrap:wrap!important;
  row-gap:8px!important;
}
.order-step-choice .choice-actions .button{
  flex:0 0 auto!important;
}

/* Prevent the dialog's last content block from looking clipped by the edge. */
.order-step-choice{
  padding-bottom:36px!important;
}

@media (max-width:1180px){
  .order-step-choice .choice-actions{
    width:100%!important;
    margin:54px 0 18px!important;
  }
}

@media (max-width:760px){
  .order-step-choice .order-choice-heading + .choice-section{
    margin-top:56px!important;
  }
  .order-step-choice .choice-section + .choice-section{
    margin-top:52px!important;
  }
  .order-step-choice .choice-section-heading{
    margin-bottom:20px!important;
    padding-bottom:14px!important;
  }
  .order-step-choice .choice-actions{
    bottom:10px!important;
    width:100%!important;
    margin:44px 0 10px!important;
    padding:14px!important;
    border-radius:20px!important;
  }
  .order-step-choice{
    padding-bottom:18px!important;
  }
}

/* =========================================================
   FINAL STATUS / PRICE COMPOSITION FIX
   ========================================================= */
.order-step-choice .choice-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:32px!important;
}
.order-step-choice .choice-status{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:24px!important;
}
.order-step-choice .choice-status>p{
  flex:0 1 auto!important;
  min-width:0!important;
  padding:0!important;
  white-space:normal!important;
}
.order-step-choice .choice-status>p::after{
  display:none!important;
  content:none!important;
}
.order-step-choice .choice-price{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}
.order-step-choice .choice-price small,
.order-step-choice .choice-price strong{
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}
.order-step-choice .choice-price strong{
  font-size:22px!important;
}

@media (max-width:820px){
  .order-step-choice .choice-actions{
    grid-template-columns:1fr!important;
    row-gap:18px!important;
  }
  .order-step-choice .choice-actions .button{
    width:100%!important;
  }
}

@media (max-width:560px){
  .order-step-choice .choice-status{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:8px!important;
  }
  .order-step-choice .choice-price{
    justify-self:start!important;
  }
}

/* Final correction: restore divider and vertically center status, label and price. */
.order-step-choice .choice-status{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  min-height:32px!important;
}
.order-step-choice .choice-status>p{
  display:flex!important;
  align-items:center!important;
  min-height:32px!important;
  margin:0!important;
  padding:0 24px 0 0!important;
  line-height:22px!important;
  white-space:nowrap!important;
}
.order-step-choice .choice-status>p::after{
  display:block!important;
  content:""!important;
  width:1px!important;
  height:22px!important;
  margin-left:24px!important;
  flex:0 0 1px!important;
  background:rgba(255,255,255,.12)!important;
}
.order-step-choice .choice-price{
  display:flex!important;
  align-items:center!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  gap:10px!important;
  white-space:nowrap!important;
}
.order-step-choice .choice-price small,
.order-step-choice .choice-price strong{
  display:flex!important;
  align-items:center!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  line-height:22px!important;
  transform:none!important;
}
.order-step-choice .choice-price strong{
  font-size:22px!important;
}

@media (max-width:560px){
  .order-step-choice .choice-status{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:8px!important;
  }
  .order-step-choice .choice-status>p{
    min-height:auto!important;
    padding-right:0!important;
    white-space:normal!important;
  }
  .order-step-choice .choice-status>p::after{
    display:none!important;
  }
  .order-step-choice .choice-price,
  .order-step-choice .choice-price small,
  .order-step-choice .choice-price strong{
    min-height:auto!important;
  }
}

/* Spacing correction: keep clear space after the vertical divider. */
.order-step-choice .choice-price{
  margin-left:24px!important;
}

@media (max-width:560px){
  .order-step-choice .choice-price{
    margin-left:0!important;
  }
}


/* Cloudflare Turnstile — order form */
.turnstile-wrap[hidden] { display: none !important; }
.turnstile-wrap {
  width: 100%;
  min-height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.turnstile-wrap .cf-turnstile {
  width: 100%;
  max-width: 320px;
}
@media (max-width: 767px) {
  .submit-panel-action { align-items: stretch; }
  .turnstile-wrap { justify-content: stretch; }
  .turnstile-wrap .cf-turnstile { max-width: none; }
}

/* Consent-triggered human verification */
.form-consent + .turnstile-wrap {
  width: 100%;
  margin: 16px 0 4px;
  justify-content: flex-start;
  animation: turnstile-reveal 320ms cubic-bezier(.2,.8,.2,1) both;
}
@keyframes turnstile-reveal {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 767px) {
  .form-consent + .turnstile-wrap { margin-top: 14px; justify-content: stretch; }
}

/* Consent and anti-bot verification: keep verification directly below checkbox */
.consent-security-group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin: 4px 0 20px;
}
.consent-security-group .form-consent {
  margin: 0;
}
.consent-security-group .turnstile-wrap {
  display: flex !important;
  width: 100%;
  margin: 14px 0 0;
  justify-content: flex-start;
  align-self: stretch;
}
@media (max-width: 640px) {
  .consent-security-group .turnstile-wrap {
    justify-content: stretch;
  }
  .consent-security-group .turnstile-wrap > div {
    width: 100%;
  }
}


/* Print style selector */
.print-style-section{display:grid;gap:18px}
.print-style-heading p{margin:6px 0 0;color:var(--muted,#a9a2b8);font-size:15px;line-height:1.55}
.print-style-guide{margin:0;border:1px solid rgba(186,156,255,.22);border-radius:22px;overflow:hidden;background:#0d0b13;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.print-style-guide img{display:block;width:100%;height:auto;aspect-ratio:1756/674;object-fit:contain}
.print-style-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.print-style-card{position:relative;display:block;cursor:pointer}
.print-style-card input{position:absolute;opacity:0;pointer-events:none}
.print-style-card span{display:flex;min-height:92px;flex-direction:column;justify-content:center;gap:7px;padding:17px 18px;border:1px solid rgba(180,159,218,.26);border-radius:18px;background:linear-gradient(145deg,rgba(31,22,48,.92),rgba(13,11,19,.94));transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,background .2s ease}
.print-style-card strong{color:#fff;font-size:16px;font-weight:500;line-height:1.25}
.print-style-card small{color:#a9a2b8;font-size:13px;line-height:1.4}
.print-style-card:hover span{transform:translateY(-2px);border-color:rgba(190,156,255,.5)}
.print-style-card input:focus-visible+span{outline:2px solid #b690ff;outline-offset:3px}
.print-style-card input:checked+span{border-color:#a977ff;background:linear-gradient(145deg,rgba(79,43,132,.86),rgba(27,18,47,.98));box-shadow:0 0 0 1px rgba(192,154,255,.18),0 14px 34px rgba(91,47,165,.24)}
.print-style-card input:checked+span::after{content:'Selected';position:absolute;top:10px;right:12px;color:#d9c6ff;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.custom-style-field{margin-top:2px}
.custom-style-field[hidden]{display:none!important}
@media(max-width:767px){.print-style-options{grid-template-columns:1fr 1fr}.print-style-card span{min-height:88px;padding:15px}.print-style-guide{border-radius:16px}.print-style-guide img{aspect-ratio:1756/674;object-position:center;object-fit:contain}}
@media(max-width:420px){.print-style-options{grid-template-columns:1fr}.print-style-card span{min-height:76px}}
