/* Final QA layer: contrast, overlap and form-field fixes found in the full-site QA pass.
   Loaded last on every page. Lives in the first-declared layer so its !important rules
   win over the sitewide burgundy text rule (layered !important: earlier layer wins). */
@layer libseh-storefront {

/* Filled burgundy controls that inherited burgundy text (text was invisible). */
html:root body.luxury-ui[data-lang][data-dir][class] :is(.dash-lang-row a.active,.pm-filters a.is-on,.mdash-bottom a > b,.mdash-more-panel a > b,.adash-bottom a > b,.libseh-toast a):not(#_):not(#_):not(#_){
  --brand-text:#f3eadd!important;color:#f3eadd!important;
}
.libseh-toast a{text-decoration:underline;text-underline-offset:3px}

/* Merchant "view store" button: light text on a light button. */
html:root body.luxury-ui[data-lang][data-dir][class] :is(.mdash-preview-btn,.mdash-preview-btn *):not(#_):not(#_):not(#_){
  --brand-text:#66001f!important;color:#66001f!important;
}

/* Merchant stock badges: soft tint + dark readable text per status. */
html:root body.luxury-ui[data-lang][data-dir][class] .mdash-badge:not(#_):not(#_):not(#_){--brand-text:#3f3027!important;color:#3f3027!important;font-size:12px!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mdash-badge.is-ok:not(#_):not(#_):not(#_){--brand-text:#4a5230!important;color:#4a5230!important;background:rgba(89,99,58,.16)!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mdash-badge.is-low:not(#_):not(#_):not(#_){--brand-text:#7a4b1c!important;color:#7a4b1c!important;background:rgba(138,90,40,.16)!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mdash-badge.is-out:not(#_):not(#_):not(#_){--brand-text:#8a1f16!important;color:#8a1f16!important;background:rgba(180,35,24,.12)!important}

/* First-visit welcome: only the small card is visible, the full-width holder stays see-through
   (it was painted beige by the generic [role=dialog] surface rule and hid the content behind it). */
html:root body.luxury-ui[data-lang][data-dir][class] .welcome-modal.welcome-modal--banner:not(#_):not(#_):not(#_){
  background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:0!important;
}

/* Form fields: 16px on phones so iOS does not zoom the page on focus. */
@media (max-width:767px){
  html:root body.luxury-ui[data-lang][data-dir][class] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=file]),select,textarea):not(#_):not(#_):not(#_){
    font-size:16px!important;
  }
}

/* Admin KPI tiles: the value spans the full tile width and never breaks inside a number. */
html body.admin-view.aya-admin .adash .ad-kpis .aya-kpi:not(#_) > .ui-ico{grid-row:1!important}
html body.admin-view.aya-admin .adash .ad-kpis .aya-kpi:not(#_) > strong{
  grid-column:1 / -1!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
}

/* Store page action row: one radius, no beige box behind "Contact", labels never cut. */
html:root body.luxury-ui[data-lang][data-dir][class] .lsx-actions > .lsx-menu:not(#_):not(#_):not(#_){background:transparent!important}
html:root body.luxury-ui[data-lang][data-dir][class] .lsx-actions .lsx-act:not(#_):not(#_):not(#_){border-radius:12px!important}
@media (max-width:599px){
  html:root body.luxury-ui[data-lang][data-dir][class] .lsx-actions > .lsx-act-icon:not(#_):not(#_):not(#_){flex:0 0 44px!important;width:44px!important;min-width:44px!important;padding:0!important}
  html:root body.luxury-ui[data-lang][data-dir][class] .lsx-actions > :is(.lsx-menu,a.lsx-act:not(.lsx-act-icon)):not(#_):not(#_):not(#_){flex:1 1 0!important;min-width:0!important}
  html:root body.luxury-ui[data-lang][data-dir][class] .lsx-actions .lsx-act:not(#_):not(#_):not(#_){gap:5px!important;font-size:.86rem!important}
  html:root body.luxury-ui[data-lang][data-dir][class] .lsx-actions > .lsx-menu > .lsx-act:not(#_):not(#_):not(#_){width:100%!important;padding-inline:10px!important}
}

/* Product card store name: wrap to a second line instead of being clipped. */
html:root body.luxury-ui[data-lang][data-dir][class] .ls-pc .ls-pc-store:not(#_):not(#_):not(#_){white-space:normal!important;overflow:visible!important;text-overflow:clip!important;align-items:flex-start!important;line-height:1.5!important;overflow-wrap:anywhere}
html:root body.luxury-ui[data-lang][data-dir][class] .ls-pc .ls-pc-store:not(#_):not(#_):not(#_)::before{margin-top:.55em!important}

}
