:root {
  --ubdp-orange: #e85d18;
  --ubdp-orange-2: #ff7a32;
  --ubdp-green: #769f67;
  --ubdp-dark: #2d2925;
  --ubdp-muted: #766f69;
  --ubdp-line: rgba(69, 58, 48, .10);
  --ubdp-surface: rgba(255, 255, 255, .88);
  --ubdp-radius: 28px;
}

/* La raíz no ocupa la pantalla. Solo los elementos visibles reciben clics. */
.ubdp-root {
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
  z-index: auto;
  pointer-events: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--ubdp-dark);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.ubdp-root *, .ubdp-root *::before, .ubdp-root *::after { box-sizing: border-box; }
.ubdp-root button, .ubdp-root input, .ubdp-root select, .ubdp-root textarea { font: inherit; }

/* Protección automática contra el menú remoto anterior. */
body.ubdmp-active #ubd-main-nav,
body.ubdmp-active #ubd-menu-global-container { display: none !important; pointer-events: none !important; }

.ubdp-nav {
  pointer-events: auto;
  position: fixed;
  z-index: 820;
  left: 50%;
  bottom: calc(var(--ubdp-menu-bottom, 14px) + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(680px, calc(100vw - 24px));
  height: var(--ubdp-menu-height, 66px);
  padding: 7px 10px;
  display: grid;
  grid-template-columns: 1fr 1fr 72px 1fr 1fr;
  align-items: center;
  gap: 2px;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: var(--ubdp-menu-radius, 34px);
  background: radial-gradient(circle at 50% 130%, rgba(181, 229, 149, .46), transparent 38%), linear-gradient(135deg, rgba(var(--ubdp-menu-rgb,255,255,255),var(--ubdp-menu-alpha,.92)), rgba(var(--ubdp-menu-rgb,255,255,255),calc(var(--ubdp-menu-alpha,.92) - .08)));
  box-shadow: 0 16px 45px rgba(38, 35, 31, .16), 0 2px 8px rgba(38, 35, 31, .07);
  backdrop-filter: blur(24px) saturate(170%);
  -webkit-backdrop-filter: blur(24px) saturate(170%);
  transition: height .28s cubic-bezier(.2,.8,.2,1), transform .24s cubic-bezier(.22,.8,.3,1), opacity .18s ease, visibility .18s;
  isolation: isolate;
}

.ubdp-nav::before { content:""; position:absolute; inset:5px; border-radius:inherit; border:1px solid rgba(255,255,255,.45); pointer-events:none; z-index:-1; }
.ubdp-nav.ubdp-nav--compact { height:52px; transform:translateX(-50%) translateY(2px); }

/* Se oculta al instante para liberar el carrito; la animación es solo visual. */
.ubdp-root.ubdp-is-hidden .ubdp-nav,
.ubdp-root.ubdp-cart-pending .ubdp-nav,
.ubdp-root.ubdp-keyboard-open .ubdp-nav,
body.modal-open .ubdp-nav {
  pointer-events: none !important;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(calc(100% + 42px));
}
.ubdp-root.ubdp-no-motion .ubdp-nav { transition: none !important; }

.ubdp-nav-btn { appearance:none; border:0; background:transparent; min-width:0; height:100%; padding:4px 2px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#716d67; border-radius:18px; cursor:pointer; transition:color .2s ease, background .2s ease, transform .14s ease; -webkit-tap-highlight-color:transparent; }
.ubdp-nav-btn:hover, .ubdp-nav-btn:focus-visible { color:var(--ubdp-green); background:rgba(118,159,103,.09); outline:none; }
.ubdp-nav-btn:active { transform:scale(.91); }
.ubdp-nav-btn.ubdp-active { color:var(--ubdp-green); background:rgba(118,159,103,.11); }
.ubdp-nav-btn svg { width:21px; height:21px; fill:currentColor; transition:width .25s,height .25s; }
.ubdp-nav-btn span { max-height:14px; opacity:1; overflow:hidden; font-size:9px; line-height:1; font-weight:800; letter-spacing:.32px; text-transform:uppercase; transition:max-height .25s,opacity .2s,transform .25s; }
.ubdp-nav--compact .ubdp-nav-btn svg { width:18px; height:18px; }
.ubdp-nav--compact .ubdp-nav-btn span { max-height:0; opacity:0; transform:translateY(4px); }

.ubdp-center { position:relative; align-self:stretch; display:flex; align-items:center; justify-content:center; text-decoration:none !important; -webkit-tap-highlight-color:transparent; }
.ubdp-center:active .ubdp-fire { transform:scale(.91); }
.ubdp-fire { width:50px; height:50px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:22px; line-height:1; background:linear-gradient(145deg,var(--ubdp-orange-2),#ff3d00); border:3px solid rgba(255,255,255,.96); box-shadow:0 8px 22px rgba(232,93,24,.34),inset 0 1px 0 rgba(255,255,255,.36); transition:transform .2s,width .25s,height .25s,font-size .25s; }
.ubdp-nav--compact .ubdp-fire { width:38px; height:38px; font-size:17px; border-width:2px; }
.ubdp-bubble { position:absolute; left:50%; bottom:calc(100% + 13px); transform:translateX(-50%); min-width:144px; padding:7px 11px; border-radius:11px; color:#fff; background:rgba(45,41,37,.90); box-shadow:0 8px 22px rgba(0,0,0,.16); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); font-size:10px; font-weight:800; text-align:center; white-space:nowrap; transition:opacity .35s,transform .35s; }
.ubdp-bubble::after { content:""; position:absolute; left:50%; bottom:-5px; transform:translateX(-50%); border-left:6px solid transparent; border-right:6px solid transparent; border-top:6px solid rgba(45,41,37,.90); }
.ubdp-bubble.ubdp-bubble--gone { opacity:0; transform:translateX(-50%) translateY(8px); pointer-events:none; }

.ubdp-backdrop { pointer-events:none; position:fixed; z-index:810; inset:0; opacity:0; visibility:hidden; background:rgba(31,28,25,.36); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); transition:opacity .28s ease,visibility .28s; }
.ubdp-panel { pointer-events:none; position:fixed; z-index:840; left:50%; bottom:0; width:min(620px,100vw); max-height:min(88dvh,820px); padding:0 18px calc(96px + env(safe-area-inset-bottom)); overflow:hidden; border:1px solid rgba(255,255,255,.9); border-bottom:0; border-radius:32px 32px 0 0; background:rgba(255,255,255,.95); box-shadow:0 -22px 70px rgba(34,30,27,.22); backdrop-filter:blur(30px) saturate(155%); -webkit-backdrop-filter:blur(30px) saturate(155%); transform:translate(-50%,calc(100% + 50px)); opacity:.5; visibility:hidden; transition:transform .38s cubic-bezier(.22,.9,.24,1),opacity .25s,visibility .38s; overscroll-behavior:contain; }
.ubdp-root.ubdp-panel-open .ubdp-backdrop { pointer-events:auto; opacity:1; visibility:visible; }
.ubdp-root.ubdp-panel-open .ubdp-panel { pointer-events:auto; transform:translate(-50%,0); opacity:1; visibility:visible; }
.ubdp-root.ubdp-is-hidden .ubdp-backdrop,.ubdp-root.ubdp-is-hidden .ubdp-panel,.ubdp-root.ubdp-cart-pending .ubdp-backdrop,.ubdp-root.ubdp-cart-pending .ubdp-panel { pointer-events:none !important; visibility:hidden !important; }

.ubdp-drag-handle { appearance:none; display:block; width:76px; height:28px; margin:0 auto; border:0; background:transparent; cursor:grab; touch-action:none; }
.ubdp-drag-handle span { display:block; width:42px; height:5px; margin:11px auto 0; border-radius:8px; background:#d9d6d2; }
.ubdp-drag-handle:active { cursor:grabbing; }
.ubdp-panel-header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 2px 14px; border-bottom:1px solid var(--ubdp-line); }
.ubdp-panel-title { margin:0; color:var(--ubdp-dark); font-size:19px; line-height:1.2; font-weight:850; letter-spacing:-.3px; }
.ubdp-close { appearance:none; border:0; width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:50%; background:#f4f2ef; color:#817a73; font-size:26px; line-height:1; cursor:pointer; transition:background .2s,transform .15s; }
.ubdp-close:hover,.ubdp-close:focus-visible { background:#ece8e3; color:var(--ubdp-dark); outline:none; }
.ubdp-close:active { transform:scale(.9); }
.ubdp-panel-content { max-height:calc(min(88dvh,820px) - 150px); padding:18px 2px 10px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#d7d2cc transparent; }
.ubdp-panel-content::-webkit-scrollbar { width:5px; }.ubdp-panel-content::-webkit-scrollbar-thumb { background:#d7d2cc; border-radius:10px; }

.ubdp-grid { display:grid; gap:12px; }.ubdp-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }.ubdp-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }.ubdp-stack { display:flex; flex-direction:column; gap:9px; }
.ubdp-section-label { margin:4px 5px 10px; color:var(--ubdp-muted); font-size:10px; font-weight:850; letter-spacing:.6px; text-transform:uppercase; }.ubdp-section-gap { margin-top:24px; }
.ubdp-card,.ubdp-list-item,.ubdp-tile,.ubdp-hero,.ubdp-button,.ubdp-back,.ubdp-search-result { -webkit-tap-highlight-color:transparent; }
.ubdp-card { display:flex; align-items:center; gap:14px; padding:17px; border:1px solid var(--ubdp-line); border-radius:20px; color:var(--ubdp-dark)!important; background:rgba(255,255,255,.76); text-decoration:none!important; cursor:pointer; box-shadow:0 5px 16px rgba(52,44,38,.035); transition:transform .18s,box-shadow .2s,border-color .2s; }
.ubdp-card:hover,.ubdp-card:focus-visible { transform:translateY(-2px); box-shadow:0 11px 26px rgba(52,44,38,.08); border-color:rgba(118,159,103,.30); outline:none; }
.ubdp-card--orange { background:#fff8f1; border-color:#ffe0c6; }.ubdp-card--purple { background:#fdf7ff; border-color:#eadcf0; }.ubdp-card--blue { background:#f3f8ff; border-color:#d9e9fa; }
.ubdp-card-icon { width:45px; height:45px; flex:0 0 45px; display:grid; place-items:center; border-radius:15px; font-size:27px; background:rgba(255,255,255,.72); box-shadow:inset 0 0 0 1px rgba(255,255,255,.7); }
.ubdp-card-copy { min-width:0; text-align:left; }.ubdp-eyebrow { display:block; margin-bottom:2px; color:var(--ubdp-orange); font-size:10px; font-weight:850; letter-spacing:.45px; text-transform:uppercase; }.ubdp-card--purple .ubdp-eyebrow { color:#8c55a0; }.ubdp-card--blue .ubdp-eyebrow { color:#3976ad; }.ubdp-card-title { display:block; color:var(--ubdp-dark); font-size:14px; line-height:1.25; font-weight:800; }
.ubdp-support-status { display:flex; align-items:center; gap:8px; margin:0 2px 15px; }.ubdp-led { width:10px; height:10px; border-radius:50%; background:#25d366; }.ubdp-status-text { font-size:10px; font-weight:850; text-transform:uppercase; color:#25d366; }
.ubdp-tile { appearance:none; border:0; padding:14px 8px; border-radius:18px; background:#f8f6f3; color:var(--ubdp-dark); cursor:pointer; transition:transform .16s,background .2s; }.ubdp-tile:hover,.ubdp-tile:focus-visible { background:#f1eee9; transform:translateY(-2px); outline:none; }.ubdp-tile-icon { display:block; margin-bottom:5px; font-size:24px; }.ubdp-tile-label { display:block; font-size:9px; font-weight:850; letter-spacing:.25px; text-transform:uppercase; }
.ubdp-list-item { appearance:none; width:100%; border:1px solid var(--ubdp-line); padding:13px 14px; display:flex; align-items:center; gap:11px; border-radius:16px; background:rgba(255,255,255,.82); color:#4a433d!important; font-size:13px; font-weight:750; text-align:left; text-decoration:none!important; cursor:pointer; transition:background .2s,transform .16s,border-color .2s; }.ubdp-list-item:hover,.ubdp-list-item:focus-visible { background:#fff; border-color:rgba(118,159,103,.28); transform:translateX(2px); outline:none; }.ubdp-list-icon { font-size:18px; }.ubdp-arrow { margin-left:auto; color:#b3ada6; font-size:18px; }
.ubdp-button { appearance:none; display:block; width:100%; border:0; padding:15px 17px; border-radius:18px; text-align:center; text-decoration:none!important; font-size:13px; font-weight:820; cursor:pointer; transition:transform .16s,filter .2s; }.ubdp-button:hover,.ubdp-button:focus-visible { filter:brightness(.98); transform:translateY(-1px); outline:none; }.ubdp-button--green { color:#fff!important; background:#25d366; }.ubdp-button--soft { margin-top:9px; color:var(--ubdp-dark)!important; background:#f5f3f0; border:1px solid var(--ubdp-line); }
.ubdp-back { appearance:none; border:0; width:100%; padding:13px; color:var(--ubdp-muted); background:transparent; font-size:12px; font-weight:750; cursor:pointer; }
.ubdp-hero { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:20px; padding:17px 18px; border-radius:20px; color:#fff!important; text-decoration:none!important; background:linear-gradient(135deg,var(--ubdp-orange),#ff3d00); box-shadow:0 10px 24px rgba(232,93,24,.22); transition:transform .18s; }.ubdp-hero:hover,.ubdp-hero:focus-visible { transform:translateY(-2px); outline:none; }.ubdp-hero-title { display:block; font-size:14px; font-weight:850; }.ubdp-hero-sub { display:block; margin-top:2px; font-size:11px; font-weight:550; opacity:.9; }.ubdp-hero-arrow { font-size:22px; }
.ubdp-category { display:block; padding:13px 5px; border:1px solid var(--ubdp-line); border-radius:17px; background:#fff; color:var(--ubdp-dark)!important; text-align:center; text-decoration:none!important; font-size:10px; font-weight:750; cursor:pointer; transition:transform .16s,box-shadow .2s; }.ubdp-category:hover,.ubdp-category:focus-visible { transform:translateY(-2px); box-shadow:0 8px 18px rgba(45,41,37,.07); outline:none; }.ubdp-category-icon { display:block; margin-bottom:4px; font-size:23px; }.ubdp-category--purple { color:#725283!important; background:#faf5ff; }.ubdp-category--red { color:#b64d4a!important; background:#fff5f4; }
.ubdp-collection { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px; border:1px solid var(--ubdp-line); border-radius:18px; background:#fff; cursor:pointer; transition:transform .16s,box-shadow .2s; }.ubdp-collection:hover,.ubdp-collection:focus-visible { transform:translateX(2px); box-shadow:0 8px 18px rgba(45,41,37,.055); outline:none; }.ubdp-collection-main { display:flex; align-items:center; gap:11px; min-width:0; }.ubdp-collection-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:12px; background:#fdf2ff; font-size:18px; }.ubdp-collection-icon--blue { background:#edf8fa; }.ubdp-collection-title { display:block; font-size:13px; font-weight:820; }.ubdp-collection-sub { display:block; margin-top:1px; color:var(--ubdp-muted); font-size:10px; }
.ubdp-frame { width:100%; height:min(68dvh,650px); border:0; border-radius:17px; background:#fff; }.ubdp-frame-loading { min-height:220px; display:grid; place-items:center; color:var(--ubdp-muted); font-size:12px; }

/* Buscador premium dentro del panel Menú. */
.ubdp-search-wrap { position:relative; margin-bottom:16px; }.ubdp-search-wrap>svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); width:20px; height:20px; fill:#8c857e; pointer-events:none; }.ubdp-search { width:100%; height:48px; padding:0 43px 0 43px; border:1px solid #e7e3de; border-radius:16px; background:#f8f7f5; color:var(--ubdp-dark); font-size:13px; font-weight:650; outline:none; transition:border-color .2s,box-shadow .2s,background .2s; }.ubdp-search:focus { border-color:rgba(118,159,103,.58); background:#fff; box-shadow:0 0 0 4px rgba(118,159,103,.11); }.ubdp-search-clear { position:absolute; right:8px; top:50%; transform:translateY(-50%); width:33px; height:33px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:#9a938c; font-size:21px; cursor:pointer; }.ubdp-search-clear:hover { background:#ece9e5; }.ubdp-search-results { margin-bottom:6px; }.ubdp-search-result { appearance:none; width:100%; display:flex; align-items:center; gap:11px; padding:12px; border:1px solid var(--ubdp-line); border-radius:16px; background:#fff; color:var(--ubdp-dark)!important; text-align:left; text-decoration:none!important; cursor:pointer; transition:transform .15s,border-color .2s,box-shadow .2s; }.ubdp-search-result:hover,.ubdp-search-result:focus-visible { transform:translateX(2px); border-color:rgba(118,159,103,.34); box-shadow:0 6px 16px rgba(45,41,37,.06); outline:none; }.ubdp-search-result-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:12px; background:#f7f4f0; font-size:20px; }.ubdp-search-result-copy { min-width:0; }.ubdp-search-result-copy strong { display:block; font-size:13px; font-weight:820; }.ubdp-search-result-copy small { display:block; margin-top:2px; color:var(--ubdp-muted); font-size:10px; }.ubdp-search-empty { padding:22px 14px; border:1px dashed #dcd7d1; border-radius:16px; color:var(--ubdp-muted); background:#faf9f7; text-align:center; font-size:12px; line-height:1.45; }

.ubdp-body-locked { overflow:hidden!important; }
@media (min-width:720px) { .ubdp-panel { bottom:92px; border-bottom:1px solid rgba(255,255,255,.9); border-radius:32px; padding-bottom:22px; }.ubdp-panel-content { max-height:calc(min(78dvh,760px) - 100px); } }
@media (max-width:420px) { .ubdp-nav { width:calc(100vw - 20px); bottom:calc(10px + env(safe-area-inset-bottom)); grid-template-columns:1fr 1fr 64px 1fr 1fr; padding-inline:7px; }.ubdp-panel { padding-inline:15px; }.ubdp-grid-3 { gap:8px; }.ubdp-category { padding-inline:3px; } }
@media (prefers-reduced-motion:reduce) { .ubdp-root *,.ubdp-root *::before,.ubdp-root *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }

/* =========================================================
   NOTIFICACIÓN TIPO IPHONE + BOTÓN FLOTANTE
   Solo las superficies visibles reciben clics.
   ========================================================= */
.ubdp-ios-popup {
  pointer-events: none;
  position: fixed;
  z-index: 830;
  top: calc(var(--ubdp-popup-top, 16px) + env(safe-area-inset-top));
  left: 50%;
  width: min(var(--ubdp-popup-width, 420px), calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  display: flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--ubdp-popup-radius, 24px);
  background: rgba(var(--ubdp-popup-rgb,255,255,255), var(--ubdp-popup-alpha,.78));
  box-shadow: 0 18px 48px rgba(30,27,24,.16), inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  transform: translate(-50%, calc(-100% - 80px));
  opacity: 0;
  visibility: hidden;
  transition: transform .55s cubic-bezier(.22,.95,.28,1.06), opacity .22s ease, visibility .55s;
  isolation: isolate;
  user-select: none;
  -webkit-user-select: none;
}
.ubdp-root.ubdp-popup-visible .ubdp-ios-popup {
  pointer-events: auto;
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}
.ubdp-ios-popup.ubdp-popup-dragging { transition: none !important; }
.ubdp-popup-link {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding: 14px 38px 14px 14px;
  color: inherit !important;
  text-decoration: none !important;
  border-radius: inherit;
  -webkit-tap-highlight-color: transparent;
}
.ubdp-popup-link:focus-visible { outline: 3px solid color-mix(in srgb, var(--ubdp-popup-accent) 28%, transparent); outline-offset: 2px; }
.ubdp-popup-close {
  pointer-events: auto;
  appearance: none;
  position: absolute;
  z-index: 2;
  top: 9px;
  right: 9px;
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(30,28,26,.055);
  color: rgba(30,28,26,.52);
  font-size: 12px;
  cursor: pointer;
  transition: transform .15s ease, background .2s ease, color .2s ease;
}
.ubdp-popup-close:hover,.ubdp-popup-close:focus-visible { background: rgba(30,28,26,.11); color:#222; outline:none; }
.ubdp-popup-close:active { transform: scale(.9); }
.ubdp-popup-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: var(--ubdp-popup-accent, #ff9500);
  box-shadow: 0 7px 18px color-mix(in srgb, var(--ubdp-popup-accent) 28%, transparent);
}
.ubdp-popup-icon svg { width: 25px; height: 25px; fill: currentColor; }
.ubdp-popup-content { min-width: 0; flex: 1; display: flex; flex-direction: column; text-align: left; }
.ubdp-popup-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:2px; }
.ubdp-popup-app { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:rgba(20,20,20,.52); font-size:10px; line-height:1.2; font-weight:800; letter-spacing:.75px; text-transform:uppercase; }
.ubdp-popup-meta { flex:0 0 auto; margin-right:4px; color:rgba(20,20,20,.42); font-size:10px; line-height:1.2; }
.ubdp-popup-title { display:block; margin:0 0 2px; color:#1d1d1f; font-size:14.5px; line-height:1.22; font-weight:800; }
.ubdp-popup-body { display:block; color:rgba(20,20,20,.78); font-size:12.5px; line-height:1.34; }
.ubdp-popup-action { display:flex; align-items:center; gap:4px; margin-top:4px; color:var(--ubdp-popup-accent,#ff9500); font-size:12.5px; line-height:1.2; font-weight:800; }
.ubdp-popup-countdown { display:inline-block; padding:1px 6px; border-radius:6px; color:#fff; background:var(--ubdp-popup-alert,#ff3b30); font-size:11.5px; font-weight:850; animation:ubdp-popup-pulse 1.5s infinite; }
@keyframes ubdp-popup-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.04)} }

.ubdp-popup-reopen {
  pointer-events: none;
  appearance: none;
  position: fixed;
  z-index: 825;
  top: calc(18px + env(safe-area-inset-top));
  right: 18px;
  width: auto;
  max-width: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transform: translateY(-120px);
  opacity: 0;
  visibility: hidden;
  transition: transform .45s cubic-bezier(.22,.95,.3,1.08), opacity .2s, visibility .45s;
  -webkit-tap-highlight-color: transparent;
}
.ubdp-root.ubdp-popup-reopen-visible .ubdp-popup-reopen {
  pointer-events: auto;
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.ubdp-reopen-circle {
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(30,28,26,.10);
  border-radius:50%;
  color:var(--ubdp-popup-accent,#ff9500);
  background:rgba(var(--ubdp-popup-rgb,255,255,255),.9);
  box-shadow:0 6px 18px rgba(30,27,24,.14);
  backdrop-filter:blur(12px) saturate(170%);
  -webkit-backdrop-filter:blur(12px) saturate(170%);
  transition:transform .15s ease;
}
.ubdp-popup-reopen:active .ubdp-reopen-circle { transform:scale(.9); }
.ubdp-reopen-circle svg { width:21px; height:21px; }
.ubdp-reopen-label {
  display:block;
  max-width:145px;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:3px 8px;
  border-radius:999px;
  color:#fff;
  background:var(--ubdp-popup-alert,#ff3b30);
  box-shadow:0 5px 14px color-mix(in srgb, var(--ubdp-popup-alert) 22%, transparent);
  font-size:10px;
  line-height:1.2;
  font-weight:850;
  white-space:nowrap;
}
.ubdp-reopen-label:empty { display:none; }

/* Ocultamiento total durante carrito, checkout, teclado o modales. */
.ubdp-root.ubdp-is-hidden .ubdp-ios-popup,
.ubdp-root.ubdp-is-hidden .ubdp-popup-reopen,
.ubdp-root.ubdp-cart-pending .ubdp-ios-popup,
.ubdp-root.ubdp-cart-pending .ubdp-popup-reopen,
body.modal-open .ubdp-ios-popup,
body.modal-open .ubdp-popup-reopen {
  pointer-events:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}
.ubdp-root.ubdp-is-hidden .ubdp-ios-popup,
.ubdp-root.ubdp-cart-pending .ubdp-ios-popup,
body.modal-open .ubdp-ios-popup { transform:translate(-50%,calc(-100% - 80px)) !important; }
.ubdp-root.ubdp-is-hidden .ubdp-popup-reopen,
.ubdp-root.ubdp-cart-pending .ubdp-popup-reopen,
body.modal-open .ubdp-popup-reopen { transform:translateY(-120px) !important; }

/* El carrito siempre queda arriba y totalmente clicable.
   La clase del body solo existe mientras el popup del carrito está abierto. */
body.ubdp-cart-modal-active #ubd-premium-root,
body.ubdp-cart-modal-active #ubd-premium-root * {
  pointer-events: none !important;
}
body.ubdp-cart-modal-active #ubd-premium-root .ubdp-nav,
body.ubdp-cart-modal-active #ubd-premium-root .ubdp-backdrop,
body.ubdp-cart-modal-active #ubd-premium-root .ubdp-panel,
body.ubdp-cart-modal-active #ubd-premium-root .ubdp-ios-popup,
body.ubdp-cart-modal-active #ubd-premium-root .ubdp-popup-reopen {
  display: none !important;
  visibility: hidden !important;
}
body.ubdp-cart-modal-active #blockcart-modal {
  position: fixed !important;
  z-index: 2147483000 !important;
  pointer-events: auto !important;
  isolation: isolate;
}
body.ubdp-cart-modal-active #blockcart-modal .modal-dialog,
body.ubdp-cart-modal-active #blockcart-modal .modal-content,
body.ubdp-cart-modal-active #blockcart-modal .modal-body,
body.ubdp-cart-modal-active #blockcart-modal .cart-content,
body.ubdp-cart-modal-active #blockcart-modal .cart-content-btn,
body.ubdp-cart-modal-active #blockcart-modal a,
body.ubdp-cart-modal-active #blockcart-modal button {
  pointer-events: auto !important;
}
body.ubdp-cart-modal-active .modal-backdrop,
body.ubdp-cart-modal-active .modal-backdrop.js-modal-backdrop,
body.ubdp-cart-modal-active #blockcart-modal + .modal-backdrop {
  z-index: 2147482000 !important;
  pointer-events: none !important;
}

/* Respaldo fuera de la clase dinámica. */
#blockcart-modal { z-index: 1100 !important; }
.modal-backdrop.js-modal-backdrop,
#blockcart-modal + .modal-backdrop { z-index: 1090 !important; }

@media (max-width: 480px) {
  .ubdp-ios-popup { width:calc(100vw - 20px); }
  .ubdp-popup-link { padding:12px 35px 12px 12px; gap:10px; }
  .ubdp-popup-icon { width:41px; height:41px; flex-basis:41px; border-radius:12px; }
  .ubdp-popup-body { font-size:12px; }
  .ubdp-popup-reopen { right:12px; }
}

@media (prefers-reduced-motion: reduce) {
  .ubdp-popup-countdown { animation:none; }
  .ubdp-ios-popup,.ubdp-popup-reopen { transition:none !important; }
}
