/* Single shared row layout: departure-domain and platform catalogues. */
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 94px 98px!important;
  grid-template-rows:32px!important;
  align-items:center!important;
  gap:8px!important;
  min-height:36px!important;
  padding:2px 0!important;
  border-top:0!important;
  border-bottom:1px solid var(--tev-border,#ddd6cb)!important;
  font-size:12px!important;
  line-height:1.2!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row)>div:first-child{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  min-width:0!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-cuvee-name,.tev-platform-cuvee-name){
  display:inline-flex!important;
  align-items:center!important;
  flex:0 1 auto!important;
  gap:6px!important;
  min-width:0!important;
  white-space:nowrap!important;
  font:400 12px/1.2 Inter,Arial,sans-serif!important;
  letter-spacing:0!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-cuvee-name>span:not(.tev-wine-color-dot):not(.tev-stock-marker),.tev-platform-cuvee-label){
  flex:0 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body #app .shell .main .tev-order-composer :is(.product-meta,.tev-platform-row-name>small){
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  max-width:40%;
  min-width:0;
  margin:0 0 0 auto!important;
  padding:0!important;
  overflow:hidden;
  white-space:nowrap!important;
  font:400 10px/1.2 Inter,Arial,sans-serif!important;
  color:var(--tev-text-muted,#77736f)!important;
}
body #app .shell .main .tev-order-composer .product-meta>span{flex:none}
body #app .shell .main .tev-order-composer :is(.tev-wine-color-dot,.tev-platform-wine-dot){
  flex:0 0 8px!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  border-radius:50%;
}
body #app .shell .main .tev-order-composer :is(.tev-stock-marker,.tev-platform-stock-marker){
  flex:0 0 11px!important;
  width:11px!important;
  height:9px!important;
  min-width:11px!important;
  margin:0!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product>.price,.tev-platform-row-price){
  display:flex!important;
  grid-column:2!important;
  grid-row:1!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  gap:3px!important;
  min-width:0;
  white-space:nowrap;
  font:400 12px/1.2 Inter,Arial,sans-serif!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product>.price,.tev-platform-row-price)>b{font:500 12px/1.2 Inter,Arial,sans-serif!important}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product>.price,.tev-platform-row-price)>small{
  display:inline!important;
  margin:0!important;
  font:400 9px/1.2 Inter,Arial,sans-serif!important;
  color:var(--tev-text-muted,#77736f);
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row)>.qty{
  display:flex!important;
  grid-column:3!important;
  grid-row:1!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0;
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row)>.qty>button{
  display:grid!important;
  place-items:center;
  flex:0 0 27px;
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  min-height:27px!important;
  padding:0!important;
  border:1px solid var(--tev-border,#ddd6cb);
  border-radius:50%;
  background:#fff;
  font:400 12px/1 Inter,Arial,sans-serif!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row)>.qty>b{
  min-width:22px;
  text-align:center;
  font:500 11px/1.2 Inter,Arial,sans-serif!important;
  font-variant-numeric:tabular-nums;
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row)>.qty>button:disabled{opacity:.35;cursor:not-allowed}
/* Shared domain cards and headers: one presentation for both delivery modes. */
body #app .shell .main .tev-order-composer>div:first-child{min-width:0}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-domain,.tev-platform-domain){
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 1px!important;
  padding:10px 12px!important;
  border:1px solid var(--tev-border,#ddd6cb)!important;
  border-radius:var(--tev-radius-card,14px)!important;
  background:var(--tev-surface,#fff)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-domain-toggle,.tev-platform-domain-head){
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:28px!important;
  margin:0!important;
  padding:0!important;
  cursor:pointer;
}
body #app .shell .main .tev-order-composer :is(.tev-order-domain-toggle,.tev-platform-domain-head)>div:first-child{
  display:flex!important;
  align-items:baseline!important;
  flex:1 1 auto!important;
  gap:9px!important;
  min-width:0!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-domain-toggle,.tev-platform-domain-head) h2{
  flex:0 1 auto;
  min-width:0;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:700 17px/1.2 Inter,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:var(--tev-text,#171616)!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-domain-toggle,.tev-platform-domain-head)>div:first-child>:is(.muted,small){
  display:block!important;
  flex:0 1 auto;
  min-width:0;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:400 11.5px/1.2 Inter,Arial,sans-serif!important;
  color:var(--tev-text-muted,#77736f)!important;
}
body #app .shell .main .tev-order-composer .tev-order-domain-head-right{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  gap:7px!important;
}
body #app .shell .main .tev-order-composer :is(.tev-order-domain-chevron,.tev-platform-domain-head>.chev){
  display:block!important;
  flex:0 0 12px!important;
  width:12px!important;
  height:14px!important;
  text-align:center!important;
  font:400 14px/1 Inter,Arial,sans-serif!important;
  color:var(--tev-primary,#493494)!important;
  transition:transform .14s ease;
}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-domain,.tev-platform-domain).is-collapsed :is(.tev-order-domain-chevron,.chev){transform:rotate(0deg)!important}
body #app .shell .main .tev-order-composer :is(.tev-order-composer-domain,.tev-platform-domain).is-open :is(.tev-order-domain-chevron,.chev){transform:rotate(180deg)!important}
@media(max-width:700px){
  body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row){
    grid-template-columns:minmax(0,1fr) 82px 92px!important;
    grid-template-rows:minmax(44px,auto)!important;
    gap:7px!important;
    min-height:48px!important;
    padding:4px 0!important;
  }
  body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row)>div:first-child{
    gap:5px!important;
    min-width:0!important;
    align-items:center!important;
  }
  body #app .shell .main .tev-order-composer :is(.product-meta,.tev-platform-row-name>small){display:none!important}
  body #app .shell .main .tev-order-composer :is(.tev-order-cuvee-name,.tev-platform-cuvee-name){
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    align-items:flex-start!important;
  }
  body #app .shell .main .tev-order-composer :is(.tev-order-cuvee-name>span:not(.tev-wine-color-dot):not(.tev-stock-marker),.tev-platform-cuvee-label){
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    line-clamp:2!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.22!important;
    max-height:2.44em!important;
  }
  body #app .shell .main .tev-order-composer :is(.tev-order-composer-product>.price,.tev-platform-row-price){
    width:82px!important;
    min-width:82px!important;
    justify-self:end!important;
  }
  body #app .shell .main .tev-order-composer :is(.tev-order-composer-product,.tev-platform-row)>.qty{
    width:92px!important;
    min-width:92px!important;
    justify-self:end!important;
    gap:3px!important;
  }
}


/* Beta V488 — robust 2-line cuvee names on mobile Safari */
@media(max-width:700px){
  body #app .shell .main .tev-order-composer .tev-order-composer-product{
    grid-template-columns:minmax(0,1fr) 84px 94px!important;
    grid-template-rows:minmax(48px,auto)!important;
    min-height:52px!important;
    align-items:center!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>div:first-child{
    min-width:0!important;
    overflow:hidden!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-cuvee-name{
    display:grid!important;
    grid-template-columns:8px minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-cuvee-label{
    display:-webkit-box!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    line-clamp:2!important;
    font:400 12px/1.18 Inter,Arial,sans-serif!important;
    max-height:2.36em!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.price{
    width:84px!important;
    min-width:84px!important;
    grid-column:2!important;
    justify-self:end!important;
    text-align:right!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty{
    width:94px!important;
    min-width:94px!important;
    grid-column:3!important;
    justify-self:end!important;
  }
}


/* Beta V489 — fix legacy name block spanning all mobile columns */
@media(max-width:700px){
  body #app .shell .main .tev-order-composer .tev-order-composer-product>div:first-child{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-cuvee-name{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-cuvee-label{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.price{
    grid-column:2!important;
    grid-row:1!important;
    position:relative!important;
    z-index:2!important;
    background:var(--tev-surface,#fff)!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty{
    grid-column:3!important;
    grid-row:1!important;
    position:relative!important;
    z-index:2!important;
    background:var(--tev-surface,#fff)!important;
  }
}


/* Beta V490 — show real available stock alongside order quantity */
body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty{
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:3px!important;
}
body #app .shell .main .tev-order-composer .tev-stock-available{
  display:block;
  font:600 9px/1.1 Inter,Arial,sans-serif;
  color:var(--tev-text-muted,#77736f);
  white-space:nowrap;
}
body #app .shell .main .tev-order-composer .tev-order-qty-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
}
body #app .shell .main .tev-order-composer .tev-order-qty-controls>button{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  min-width:27px;
  min-height:27px;
  padding:0;
  border:1px solid var(--tev-border,#ddd6cb);
  border-radius:50%;
  background:#fff;
  font:400 12px/1 Inter,Arial,sans-serif;
}
body #app .shell .main .tev-order-composer .tev-order-qty-controls>b{
  min-width:22px;
  text-align:center;
  font:500 11px/1.2 Inter,Arial,sans-serif;
  font-variant-numeric:tabular-nums;
}
@media(max-width:700px){
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty{
    width:98px!important;
    min-width:98px!important;
  }
  body #app .shell .main .tev-order-composer .tev-stock-available{
    font-size:9px!important;
  }
}


/* Beta V495 — restore compact horizontal order controls */
@media(max-width:700px){
  body #app .shell .main .tev-order-composer .tev-order-composer-product{
    grid-template-columns:minmax(0,1fr) 84px 100px!important;
    grid-template-rows:minmax(48px,auto)!important;
    min-height:52px!important;
    align-items:center!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.price{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    width:84px!important;
    min-width:84px!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    align-self:center!important;
    gap:4px!important;
    width:100px!important;
    min-width:100px!important;
    margin:0!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty>button{
    display:grid!important;
    place-items:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    padding:0!important;
  }
  body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty>b{
    flex:0 0 20px!important;
    min-width:20px!important;
    text-align:center!important;
  }
  body #app .shell .main .tev-order-composer .tev-stock-available,
  body #app .shell .main .tev-order-composer .tev-order-qty-controls{
    display:none!important;
  }
}


/* Beta V497 — keep quantity controls horizontal on desktop too (Edge/Chromium parity) */
body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:center!important;
  gap:4px!important;
  min-width:98px!important;
  margin:0!important;
}
body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty>button{
  display:grid!important;
  place-items:center!important;
  flex:0 0 27px!important;
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  min-height:27px!important;
  padding:0!important;
}
body #app .shell .main .tev-order-composer .tev-order-composer-product>.qty>b{
  flex:0 0 22px!important;
  min-width:22px!important;
  text-align:center!important;
}
