.nwo-bubble{box-sizing:border-box;position:fixed;z-index:99990;bottom:calc(18px + env(safe-area-inset-bottom,0px));right:18px;width:min(344px,calc(100vw - 36px));padding:18px 20px;background:#fff;color:#17202b;border:1px solid #f3e1d2;box-shadow:0 12px 46px rgba(35,27,20,.2);border-radius:18px;font:inherit;line-height:1.45;animation:nwo-in .35s ease both}.nwo-bubble *{box-sizing:border-box}.nwo-badge{color:#a54f21;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:5px}.nwo-title{font-weight:800;font-size:19px;line-height:1.25;padding-right:24px}.nwo-bubble p{margin:8px 0 10px;font-size:14px;color:#444}.nwo-bubble ul{padding:0;margin:0 0 14px;list-style:none}.nwo-bubble li{margin:5px 0;font-size:13px}.nwo-bubble .woocommerce-Price-amount{font-weight:700;color:#ad4a20}.nwo-go{display:block;text-align:center;background:#b5512a;color:#fff!important;border-radius:10px;padding:12px;text-decoration:none!important;font-weight:700;font-size:14px;transition:background .2s}.nwo-go:hover,.nwo-go:focus{background:#853716;color:#fff!important}.nwo-close{position:absolute!important;top:10px;right:10px;border:0!important;background:transparent!important;color:#555!important;box-shadow:none!important;font-size:24px!important;line-height:1!important;padding:3px 6px!important;cursor:pointer!important}.nwo-bubble[hidden]{display:none!important}@keyframes nwo-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.nwo-bubble{right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));width:min(350px,calc(100vw - 20px));padding:14px 16px;border-radius:14px}.nwo-title{font-size:17px}.nwo-bubble p{font-size:13px}.nwo-bubble li{font-size:12px}}@media(prefers-reduced-motion:reduce){.nwo-bubble{animation:none}} 

/* v1.1 - mini-cart next-tier upsell (supports RTL & mobile) */
.nwo-mini-progress{box-sizing:border-box;width:100%;margin:10px 0 12px;clear:both;display:grid;gap:10px;font:inherit;color:#252525}
.nwo-mini-progress *, .nwo-mini-progress *::before,.nwo-mini-progress *::after{box-sizing:border-box}
.nwo-mini-progress__offer{padding:12px;border:1px solid #f0d3be;background:#fff8f1;border-radius:12px;min-width:0}
.nwo-mini-progress__message{margin:0 0 9px!important;font-size:13px!important;font-weight:600;line-height:1.55;overflow-wrap:anywhere;color:#573618}
.nwo-mini-progress__track{height:7px;background:#ead9c8;border-radius:99px;overflow:hidden;margin:0 0 9px}
.nwo-mini-progress__track span{display:block;height:100%;border-radius:99px;background:#c7772c;transition:width .2s ease}
.nwo-mini-progress__link{display:inline-flex;gap:6px;align-items:center;color:#9a491c!important;text-decoration:underline!important;font-size:12px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.nwo-mini-progress[dir=rtl]{text-align:right}.nwo-mini-progress[dir=rtl] .nwo-mini-progress__link span{transform:rotate(180deg)}
.nwo-bubble[dir=rtl]{text-align:right}.nwo-bubble[dir=rtl] .nwo-title{padding-right:0;padding-left:24px}.nwo-bubble[dir=rtl] .nwo-close{right:auto;left:10px}
@media(max-width:480px){.nwo-mini-progress__offer{padding:10px}.nwo-mini-progress__message{font-size:12px!important}}

/* v1.2.0: product offer below the photo on mobile, no blocking overlay.
   The Napoleon product template runs the gallery hook in .product-img-gallery. */
@media (max-width: 767px) {
  .nwo-bubble {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    display: block;
    z-index: 1;
    width: 100% !important;
    max-width: 100%;
    margin: 12px 0 20px;
    padding: 13px 15px;
    box-shadow: 0 3px 14px rgba(35,27,20,.08);
    border-radius: 12px;
    animation: none;
    clear: both;
    text-align: start;
  }
  .nwo-bubble[dir=rtl] { text-align: right; }
  .nwo-bubble .nwo-badge { font-size: 11px; margin-bottom: 3px; }
  .nwo-bubble .nwo-title { font-size: 16px; line-height: 1.35; }
  .nwo-bubble p { font-size: 13px; line-height: 1.55; margin: 6px 0; }
  .nwo-bubble ul { margin: 7px 0 11px; }
  .nwo-bubble li { font-size: 13px; line-height: 1.5; margin: 4px 0; }
  .nwo-bubble .nwo-go { padding: 10px 12px; font-size: 13px; }
  /* Mini cart can be very narrow in the mobile header: prevent any clipped text. */
  .nwo-mini-progress { width: 100%; max-width: 100%; min-width: 0; margin: 8px 0; }
  .nwo-mini-progress__offer { padding: 10px; min-width: 0; overflow-wrap: anywhere; }
  .nwo-mini-progress__message { font-size: 12px !important; line-height: 1.55; white-space: normal !important; }
  .nwo-mini-progress__link { display: inline-flex; white-space: normal; font-size: 12px; }
}

/* v1.3: French and Arabic displayed simultaneously, only when configured. */
.nwo-bilingual{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
.nwo-lang{display:block;min-width:0;max-width:100%;unicode-bidi:isolate;line-height:1.5}
.nwo-lang-fr{text-align:left}
.nwo-lang-ar{text-align:right}
.nwo-title .nwo-lang + .nwo-lang,.nwo-bubble p .nwo-lang + .nwo-lang,.nwo-go .nwo-lang + .nwo-lang,.nwo-mini-progress__message .nwo-lang + .nwo-lang,.nwo-mini-progress__link .nwo-lang + .nwo-lang{margin-top:3px}
.nwo-mini-progress__link{display:block;max-width:100%;text-align:initial}
.nwo-go .nwo-lang-fr,.nwo-go .nwo-lang-ar{text-align:center}

/* v1.4: browser-language mode; simultaneous bilingual mode is unchanged.
   By default show French until the early document-head language detector runs. */
.nwo-mode-auto .nwo-lang-ar{display:none}
html[data-nwo-browser-lang="ar"] .nwo-mode-auto .nwo-lang-ar{display:block}
html[data-nwo-browser-lang="ar"] .nwo-mode-auto .nwo-lang-fr{display:none}
