/* =========================================================
   MICRORETAILX CMP — exact isolated visual layer
   Values mirror microRetailX landing.css.
   ========================================================= */

body.mx-consent-locked{
  overflow:hidden;
  touch-action:none;
}

body.mx-consent-locked #app-root{
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
}

.mx-cmp{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right))
          max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.mx-cmp.is-open{ display:flex; }

.mx-cmp.is-banner::before{
  content:"";
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  top:var(--mx-hdr-h,64px);
  background:rgba(0,0,0,.28);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  pointer-events:none;
}

body.mx-cmp-open #mx-header nav{
  opacity:.32 !important;
  filter:blur(1px) !important;
  pointer-events:none !important;
  user-select:none !important;
  transition:none !important;
  animation:none !important;
  transform:none !important;
}

body.mx-cmp-open #mx-header nav *,
body.mx-cmp-open #mx-header .lang-switch,
body.mx-cmp-open #mx-header .lang-trigger,
body.mx-cmp-open #mx-header .globe{
  transition:none !important;
  animation:none !important;
  transform:none !important;
}

.mx-cmp.is-banner{
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  pointer-events:none;
}

.mx-cmp.is-banner .mx-cmp-panel{
  pointer-events:auto;
  animation:mxCmpIn 420ms cubic-bezier(.22,1,.36,1) both;
}

@keyframes mxCmpIn{
  from{ opacity:0; transform:translateY(8px) scale(.985); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

@media (prefers-reduced-motion:reduce){
  .mx-cmp.is-banner .mx-cmp-panel{ animation:none; }
}

.mx-cmp-row.is-empty{ opacity:.72; }

.mx-cmp-empty-note{
  display:block;
  margin-top:3px;
  font-size:10px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
}

.mx-cmp-panel{
  width:min(560px,100%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(0,0,0,.88);
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  overflow:hidden;
}

.mx-cmp-head{
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.mx-cmp-title{
  margin:0;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.92;
  line-height:1.25;
}

.mx-cmp-sub{
  margin:10px 0 0;
  font-size:11px;
  letter-spacing:.02em;
  line-height:1.35;
  color:rgba(255,255,255,.70);
}

.mx-cmp-body{
  padding:12px 16px 14px;
  display:grid;
  gap:10px;
}

.mx-cmp-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.03);
}

.mx-cmp-row strong{
  display:block;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.90);
}

.mx-cmp-row p{
  margin:6px 0 0;
  font-size:11px;
  color:rgba(255,255,255,.65);
  line-height:1.35;
}

.mx-switch{
  width:44px;
  height:24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.35);
  position:relative;
  cursor:pointer;
  flex:0 0 auto;
  padding:0;
}

.mx-switch::after{
  content:"";
  position:absolute;
  top:50%;
  left:3px;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  transition:left 150ms ease,opacity 150ms ease;
  opacity:.92;
}

.mx-switch[data-on="1"]{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.22);
}

.mx-switch[data-on="1"]::after{ left:23px; }

.mx-switch[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.55;
}

.mx-cmp-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  padding:12px 16px 14px;
  border-top:1px solid rgba(255,255,255,.10);
  flex-wrap:wrap;
}

.mx-btn{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.88);
  border-radius:999px;
  padding:10px 14px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  line-height:1;
  -webkit-tap-highlight-color:transparent;
}

.mx-btn:hover{
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.07);
  color:#fff;
}

.mx-btn.primary{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.22);
}

.mx-btn.primary:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.28);
}

.cookie-gear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin-left:6px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.25);
  cursor:pointer;
  position:relative;
  vertical-align:middle;
}

.cookie-gear:hover{
  border-color:rgba(255,255,255,.20);
  background:rgba(255,255,255,.05);
}

.cookie-gear svg{
  width:14px;
  height:14px;
  display:block;
  color:rgba(255,255,255,.88);
}

.cookie-gear::after{
  content:attr(data-tip);
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  background:rgba(0,0,0,.90);
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  padding:6px 8px;
  font-size:10px;
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.92);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.cookie-gear:hover::after{ opacity:1; }

.footer-cookie-wrap{
  display:inline-flex;
  align-items:center;
}

@media (max-width:560px){
  .mx-cmp-actions{ justify-content:stretch; }
  .mx-btn{ flex:1 1 auto; text-align:center; }
  .mx-cmp-row{ flex-direction:column; align-items:flex-start; }
}
