@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap";.nsn-coupon *,.nsn-coupon *::before,.nsn-coupon *::after,.nsn-coupon-table *,.nsn-coupon-table *::before,.nsn-coupon-table *::after,.nsn-coupon-list *,.nsn-coupon-list *::before,.nsn-coupon-list *::after,.nsn-coupon-sticky *,.nsn-coupon-sticky *::before,.nsn-coupon-sticky *::after,.nsn-coupon-modal *,.nsn-coupon-modal *::before,.nsn-coupon-modal *::after{box-sizing:border-box}.nsn-coupon,.nsn-coupon-table,.nsn-coupon-list,.nsn-coupon-sticky,.nsn-coupon-modal{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1f2937;line-height:1.5}
@keyframes nsn-coupon-cta-shine{0%{left:-120%}60%,100%{left:220%}}@keyframes nsn-coupon-cta-pulse{0%,100%{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 0 0 color-mix(in srgb, var(--nsn-coupon-cta-bg) 70%, transparent)}50%{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 0 12px color-mix(in srgb, var(--nsn-coupon-cta-bg) 0%, transparent)}}@keyframes nsn-coupon-cta-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes nsn-coupon-cta-heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.06)}28%{transform:scale(1)}42%{transform:scale(1.06)}70%{transform:scale(1)}}@keyframes nsn-coupon-cta-glow{0%,100%{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 18px color-mix(in srgb, var(--nsn-coupon-cta-bg) 35%, transparent)}50%{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 40px color-mix(in srgb, var(--nsn-coupon-cta-bg) 75%, transparent)}}.nsn-coupon{--nsn-coupon-bg: #ffffff;--nsn-coupon-border: #e5e7eb;--nsn-coupon-shadow: rgba(0, 0, 0, 0.05);--nsn-coupon-shadow-hover: rgba(0, 0, 0, 0.1);--nsn-coupon-text: #1f2937;--nsn-coupon-text-muted: #6b7280;--nsn-coupon-primary: #001d3d;--nsn-coupon-cta-bg: #d4ff00;--nsn-coupon-cta-text: #000000;--nsn-coupon-cta-hover-bg: #b0d500;--nsn-coupon-code-bg: #f3f4f6;--nsn-coupon-code-border: #c4c6cf;--nsn-coupon-code-text: #001d3d;--nsn-coupon-tag-bg: #001d3d;--nsn-coupon-tag-text: #ffffff;--nsn-coupon-star: #ffc107;--nsn-coupon-star-empty: #e5e7eb;--nsn-coupon-check: #16a34a;--nsn-coupon-error: #dc2626;--nsn-coupon-divider: #e5e2e1;--nsn-coupon-radius: 8px;--nsn-coupon-font: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;position:relative;background:var(--nsn-coupon-bg);color:var(--nsn-coupon-text);border:1px solid var(--nsn-coupon-border);border-radius:var(--nsn-coupon-radius);font-family:var(--nsn-coupon-font);box-shadow:0 4px 12px var(--nsn-coupon-shadow);transition:box-shadow .2s ease,transform .1s ease}.nsn-coupon:hover{box-shadow:0 6px 18px var(--nsn-coupon-shadow-hover)}.nsn-coupon__inner{display:flex;flex-direction:column;gap:12px;padding:16px}@media(min-width: 769px){.nsn-coupon__inner{flex-direction:row;align-items:center;gap:16px}}.nsn-coupon__col{width:100%}@media(min-width: 769px){.nsn-coupon__col{width:25%}}.nsn-coupon__col--brand{display:flex;align-items:center;gap:12px}.nsn-coupon__col--offer{text-align:left}.nsn-coupon__col--usps{text-align:left}.nsn-coupon__col--cta{display:flex;flex-direction:column;align-items:stretch;gap:8px}.nsn-coupon__logo{flex-shrink:0;width:80px;height:80px;border-radius:8px;overflow:hidden;background:var(--nsn-coupon-border);cursor:pointer;transition:transform .15s ease;display:flex;align-items:center;justify-content:center}.nsn-coupon__logo:hover{transform:scale(1.02)}.nsn-coupon__logo img{width:100%;height:100%;object-fit:cover}.nsn-coupon__logo-fallback{color:#fff;font-weight:800;font-size:24px;background:var(--nsn-coupon-primary);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.nsn-coupon__brand{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.nsn-coupon__tag{display:inline-block;padding:3px 8px;background:var(--nsn-coupon-tag-bg);color:var(--nsn-coupon-tag-text);font-family:var(--nsn-coupon-font);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1;border-radius:4px;margin-bottom:4px}.nsn-coupon__tag--corner{position:absolute;top:0;left:0;margin:0;padding:4px 10px;border-top-left-radius:var(--nsn-coupon-radius);border-bottom-right-radius:var(--nsn-coupon-radius);z-index:2}.nsn-coupon--tag-corner .nsn-coupon__inner{padding-top:32px}.nsn-coupon--light{background:rgba(0,0,0,0);border:0;box-shadow:none;overflow:visible;transition:none}.nsn-coupon--light:hover{box-shadow:none}.nsn-coupon--light .nsn-coupon__inner{padding:0;gap:0}@media(min-width: 769px){.nsn-coupon--light .nsn-coupon__inner{padding:0}}.nsn-coupon--light .nsn-coupon__tag--corner,.nsn-coupon--light .nsn-coupon__col--brand,.nsn-coupon--light .nsn-coupon__col--offer,.nsn-coupon--light .nsn-coupon__col--usps,.nsn-coupon--light .nsn-coupon__trust-row,.nsn-coupon--light .nsn-coupon__terms,.nsn-coupon--light .nsn-coupon__feedback,.nsn-coupon--light .nsn-coupon__feedback.is-revealed{display:none}.nsn-coupon--light .nsn-coupon__col--cta{width:100%}.nsn-coupon--light.nsn-coupon--code-referral .nsn-coupon__cta,.nsn-coupon--light.nsn-coupon--code-non-referral .nsn-coupon__cta{display:none}.nsn-coupon--light.nsn-coupon--tag-corner .nsn-coupon__inner{padding-top:0}@media(min-width: 769px){.nsn-coupon--no-cta .nsn-coupon__col{width:33.333%}}.nsn-coupon--no-cta .nsn-coupon__logo{cursor:default}.nsn-coupon--no-cta .nsn-coupon__logo:hover{transform:none}.nsn-coupon__operator{margin:0;color:var(--nsn-coupon-primary);font-size:18px;font-weight:700;line-height:1.3}.nsn-coupon__rating{--rating: 0;--star-size: 16px;display:inline-block;position:relative;width:calc(var(--star-size)*5);height:var(--star-size);margin-top:4px;background-color:var(--nsn-coupon-star-empty);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 22 12 18.27 5.82 22 7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 22 12 18.27 5.82 22 7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>");-webkit-mask-size:var(--star-size) var(--star-size);mask-size:var(--star-size) var(--star-size);-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x}.nsn-coupon__rating::after{content:"";position:absolute;top:0;left:0;height:100%;width:calc(var(--rating)/5*100%);background-color:var(--nsn-coupon-star);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 22 12 18.27 5.82 22 7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 22 12 18.27 5.82 22 7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>");-webkit-mask-size:var(--star-size) var(--star-size);mask-size:var(--star-size) var(--star-size);-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x}.nsn-coupon__offer{margin:0;color:var(--nsn-coupon-primary);font-size:16px;font-weight:700;line-height:1.3}.nsn-coupon__offer-highlight{font-size:24px}.nsn-coupon__usps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.nsn-coupon__usp{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--nsn-coupon-text-muted)}.nsn-coupon__usp strong{color:var(--nsn-coupon-text)}.nsn-coupon__usp-icon{flex-shrink:0;display:inline-block;width:16px;height:16px;margin-top:2px;background-color:var(--nsn-coupon-check);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z' fill-rule='evenodd'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z' fill-rule='evenodd'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.nsn-coupon__cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:12px 12px;background:var(--nsn-coupon-cta-bg);color:var(--nsn-coupon-cta-text);font-family:var(--nsn-coupon-font);font-size:14px;font-weight:800;text-transform:uppercase;text-decoration:none;letter-spacing:.05em;border:0;border-radius:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 24px color-mix(in srgb, var(--nsn-coupon-cta-bg) 45%, transparent)}.nsn-coupon__cta:hover,.nsn-coupon__cta:focus-visible{background:var(--nsn-coupon-cta-hover-bg);transform:translateY(-1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),inset 0 -3px 0 rgba(0,0,0,.18),0 4px 8px rgba(0,0,0,.14),0 12px 24px rgba(0,0,0,.2),0 0 32px color-mix(in srgb, var(--nsn-coupon-cta-bg) 60%, transparent)}.nsn-coupon__cta:active{transform:translateY(1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25),inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.15),0 0 14px color-mix(in srgb, var(--nsn-coupon-cta-bg) 35%, transparent)}.nsn-coupon__cta{width:100%}.nsn-coupon__cta.is-copied{background:var(--nsn-coupon-check);color:#fff}.nsn-coupon__cta.is-visit{background:var(--nsn-coupon-primary);color:#fff}.nsn-coupon__cta-subtitle{display:block;margin-top:2px;text-align:center;font-size:11px;color:var(--nsn-coupon-text-muted);line-height:1.3}.nsn-coupon__cta-icon{display:inline-block;flex-shrink:0;width:1.6em;height:1.6em;margin-left:10px;vertical-align:middle;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M11.71 17.99C8.53 17.84 6 15.22 6 12c0-3.31 2.69-6 6-6 3.22 0 5.84 2.53 5.99 5.71l-2.1-.63C15.48 9.31 13.89 8 12 8c-2.21 0-4 1.79-4 4 0 1.89 1.31 3.48 3.07 3.89l.64 2.1zM22 12c0-5.52-4.48-10-10-10S2 6.48 2 12s4.48 10 10 10v-2c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8h2zM18.23 16.26L22 15l-10-3 3 10 1.26-3.77 4.27 4.27 1.98-1.98-4.28-4.26z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M11.71 17.99C8.53 17.84 6 15.22 6 12c0-3.31 2.69-6 6-6 3.22 0 5.84 2.53 5.99 5.71l-2.1-.63C15.48 9.31 13.89 8 12 8c-2.21 0-4 1.79-4 4 0 1.89 1.31 3.48 3.07 3.89l.64 2.1zM22 12c0-5.52-4.48-10-10-10S2 6.48 2 12s4.48 10 10 10v-2c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8h2zM18.23 16.26L22 15l-10-3 3 10 1.26-3.77 4.27 4.27 1.98-1.98-4.28-4.26z'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.nsn-coupon__cta--no-shadow{box-shadow:none}.nsn-coupon__cta--no-shadow:hover,.nsn-coupon__cta--no-shadow:focus-visible{box-shadow:none}.nsn-coupon__cta--no-shadow:active{box-shadow:none}@media(prefers-reduced-motion: reduce){.nsn-coupon__cta[class*="--anim-"]{animation:none !important}.nsn-coupon__cta[class*="--anim-"]::before{animation:none !important}}.nsn-coupon__cta--anim-shine{position:relative;overflow:hidden;isolation:isolate}.nsn-coupon__cta--anim-shine::before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(115deg, transparent 20%, rgba(255, 255, 255, 0.55) 50%, transparent 80%);transform:skewX(-20deg);animation:nsn-coupon-cta-shine 3s ease-in-out infinite;pointer-events:none}.nsn-coupon__cta--anim-pulse{animation:nsn-coupon-cta-pulse 1.8s ease-in-out infinite}.nsn-coupon__cta--anim-bounce{animation:nsn-coupon-cta-bounce 1.6s ease-in-out infinite}.nsn-coupon__cta--anim-heartbeat{animation:nsn-coupon-cta-heartbeat 1.4s ease-in-out infinite}.nsn-coupon__cta--anim-glow{animation:nsn-coupon-cta-glow 2s ease-in-out infinite}.nsn-coupon__code{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--nsn-coupon-code-bg);color:var(--nsn-coupon-code-text);border:1px dashed var(--nsn-coupon-code-border);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:.08em;user-select:none;width:100%;transition:border-color .2s ease}.nsn-coupon__code.is-copied,.nsn-coupon__code.is-visit{border-color:var(--nsn-coupon-check);background:color-mix(in srgb, var(--nsn-coupon-check) 10%, var(--nsn-coupon-bg))}.nsn-coupon__code.is-visit{cursor:pointer}.nsn-coupon__code--blurred{background:var(--nsn-coupon-code-bg);border-style:dashed;cursor:pointer;appearance:none}.nsn-coupon__code--blurred .nsn-coupon__code-value{filter:blur(5px);transition:filter .2s ease;cursor:pointer}.nsn-coupon__code-value{flex:1;text-align:center;user-select:text;cursor:text}.nsn-coupon__code-icon{width:16px;height:16px;color:var(--nsn-coupon-text-muted);display:inline-flex}.nsn-coupon__code-icon svg{width:100%;height:100%}.nsn-coupon__code-copy{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--nsn-coupon-border);color:var(--nsn-coupon-text);border:0;border-radius:999px;font-family:var(--nsn-coupon-font);font-size:11px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer;transition:background-color .2s ease,color .2s ease}.nsn-coupon__code-copy.is-copied{background:var(--nsn-coupon-check);color:#fff}.nsn-coupon__code-copy.is-visit{background:#fff;color:var(--nsn-coupon-check);box-shadow:inset 0 0 0 1px var(--nsn-coupon-check)}.nsn-coupon__code-copy-label{line-height:1}.nsn-coupon__code-copy-icon{display:inline-block;width:12px;height:12px;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.nsn-coupon__code-copy.is-copied .nsn-coupon__code-copy-icon,.nsn-coupon__code-copy.is-visit .nsn-coupon__code-copy-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/></svg>")}.nsn-coupon__trust-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--nsn-coupon-divider);font-size:12px;color:var(--nsn-coupon-text-muted)}@media(min-width: 769px){.nsn-coupon__trust-row{justify-content:space-between}}.nsn-coupon__trust-info{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:1;min-width:0}.nsn-coupon__endorsements{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.nsn-coupon__endorsement{padding:2px 8px;border-radius:999px;background:var(--nsn-coupon-code-bg);color:var(--nsn-coupon-primary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.nsn-coupon__trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.nsn-coupon__trust-item{display:inline-flex;align-items:center;gap:4px}.nsn-coupon__trust-item strong{color:var(--nsn-coupon-text);font-weight:600}.nsn-coupon__flag{width:18px;height:12px;object-fit:cover;border-radius:2px}.nsn-coupon__feedback{display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--nsn-coupon-divider);font-size:12px;color:var(--nsn-coupon-text)}.nsn-coupon__feedback[hidden]{display:none}.nsn-coupon__feedback.is-revealed{display:flex}.nsn-coupon__feedback-question{font-weight:600;flex:1;min-width:0}.nsn-coupon__feedback-buttons{display:flex;gap:4px}.nsn-coupon__feedback-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--nsn-coupon-code-bg);color:var(--nsn-coupon-text);border:0;border-radius:4px;cursor:pointer;transition:background-color .15s ease,transform .1s ease,color .15s ease}.nsn-coupon__feedback-btn:hover:not(:disabled){background:var(--nsn-coupon-border);transform:scale(1.05)}.nsn-coupon__feedback-btn.is-selected{color:#fff}.nsn-coupon__feedback-btn--up.is-selected{background:var(--nsn-coupon-check)}.nsn-coupon__feedback-btn--down.is-selected{background:var(--nsn-coupon-error)}.nsn-coupon__feedback-btn:disabled{opacity:.4;cursor:not-allowed}.nsn-coupon__feedback-icon{display:inline-block;width:20px;height:20px;background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.nsn-coupon__feedback-icon--up{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91z'/></svg>")}.nsn-coupon__feedback-icon--down{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z'/></svg>")}.nsn-coupon__feedback-thanks{color:var(--nsn-coupon-check);font-weight:600}.nsn-coupon__terms{padding:12px 16px;border-top:1px solid var(--nsn-coupon-divider);font-size:11px;color:var(--nsn-coupon-text-muted);line-height:1.5}.nsn-coupon__terms strong{color:var(--nsn-coupon-text);font-weight:600;margin-right:4px}.nsn-coupon__terms--tooltip{position:relative;display:inline-flex;padding:0;border:0;margin:0;margin-left:auto}.nsn-coupon__terms-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:0;border-radius:999px;background:var(--nsn-coupon-code-bg);color:var(--nsn-coupon-text);font-family:var(--nsn-coupon-font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background-color .15s ease}.nsn-coupon__terms-toggle:hover,.nsn-coupon__terms-toggle[aria-expanded=true]{background:var(--nsn-coupon-border)}.nsn-coupon__terms-toggle[aria-expanded=true]+.nsn-coupon__terms-tooltip{display:block}.nsn-coupon__terms-toggle-icon{display:inline-block;width:14px;height:14px;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-6h2v6zm0-8h-2V7h2v4z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-6h2v6zm0-8h-2V7h2v4z'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.nsn-coupon__terms-tooltip{display:none;position:absolute;top:calc(100% + 8px);right:0;width:280px;max-height:60vh;overflow-y:auto;padding:12px;background:var(--nsn-coupon-bg);border:1px solid var(--nsn-coupon-border);border-radius:8px;box-shadow:0 6px 18px var(--nsn-coupon-shadow-hover);z-index:10;color:var(--nsn-coupon-text-muted);text-transform:none;letter-spacing:0;font-weight:400}.nsn-coupon__terms-tooltip strong{display:block;margin-bottom:4px;color:var(--nsn-coupon-text);font-size:12px}.nsn-coupon__terms-tooltip p{margin:0;font-size:11px;color:var(--nsn-coupon-text-muted);line-height:1.5}.nsn-coupon-modal{--nsn-coupon-bg: #ffffff;--nsn-coupon-border: #e5e7eb;--nsn-coupon-shadow: rgba(0, 0, 0, 0.05);--nsn-coupon-shadow-hover: rgba(0, 0, 0, 0.1);--nsn-coupon-text: #1f2937;--nsn-coupon-text-muted: #6b7280;--nsn-coupon-primary: #001d3d;--nsn-coupon-cta-bg: #d4ff00;--nsn-coupon-cta-text: #000000;--nsn-coupon-cta-hover-bg: #b0d500;--nsn-coupon-code-bg: #f3f4f6;--nsn-coupon-code-border: #c4c6cf;--nsn-coupon-code-text: #001d3d;--nsn-coupon-tag-bg: #001d3d;--nsn-coupon-tag-text: #ffffff;--nsn-coupon-star: #ffc107;--nsn-coupon-star-empty: #e5e7eb;--nsn-coupon-check: #16a34a;--nsn-coupon-error: #dc2626;--nsn-coupon-divider: #e5e2e1;--nsn-coupon-radius: 8px;--nsn-coupon-font: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:16px;font-family:var(--nsn-coupon-font)}.nsn-coupon-modal.is-open{display:flex}.nsn-coupon-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.nsn-coupon-modal__dialog{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;padding:32px 24px 24px;background:var(--nsn-coupon-bg);color:var(--nsn-coupon-text);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.nsn-coupon-modal__close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:rgba(0,0,0,0);border:0;color:var(--nsn-coupon-text-muted);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}.nsn-coupon-modal__close:hover{color:var(--nsn-coupon-text);background:var(--nsn-coupon-code-bg)}.nsn-coupon-modal__close svg{width:20px;height:20px}.nsn-coupon-modal__back{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px;padding:6px 10px;background:rgba(0,0,0,0);border:1px solid var(--nsn-coupon-border);border-radius:4px;color:var(--nsn-coupon-text);font-size:12px;font-weight:600;cursor:pointer}.nsn-coupon-modal__back svg{width:16px;height:16px}.nsn-coupon-modal__back:hover{background:var(--nsn-coupon-code-bg)}.nsn-coupon-modal__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.nsn-coupon-modal__logo{flex-shrink:0;width:80px;height:80px;border-radius:8px;overflow:hidden;background:var(--nsn-coupon-border);display:flex;align-items:center;justify-content:center}.nsn-coupon-modal__logo img{width:100%;height:100%;object-fit:cover}.nsn-coupon-modal__logo-fallback{color:#fff;font-weight:800;font-size:16px;background:var(--nsn-coupon-primary);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.nsn-coupon-modal__brand{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:4px}.nsn-coupon-modal__tag{margin:0}.nsn-coupon-modal__title{margin:0;font-size:18px;font-weight:700;color:var(--nsn-coupon-primary)}.nsn-coupon-modal__offer{margin:0 0 16px;font-size:24px;font-weight:700;text-align:center;color:var(--nsn-coupon-primary)}.nsn-coupon-modal__usps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:8px}.nsn-coupon-modal__usp{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--nsn-coupon-text-muted)}.nsn-coupon-modal__usp-icon{flex-shrink:0;display:inline-block;width:16px;height:16px;background-color:var(--nsn-coupon-check);-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z' fill-rule='evenodd'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z' fill-rule='evenodd'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.nsn-coupon-modal__state{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;margin-bottom:16px;border:2px dashed var(--nsn-coupon-check);border-radius:8px;background:rgba(22,163,74,.05)}.nsn-coupon-modal__state-label{font-weight:700;color:var(--nsn-coupon-primary);font-size:18px}.nsn-coupon-modal__state-icon{width:28px;height:28px;color:var(--nsn-coupon-check)}.nsn-coupon-modal__state-icon svg{width:100%;height:100%}.nsn-coupon-modal__codebox{margin-bottom:16px}.nsn-coupon-modal__cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:12px 24px;background:var(--nsn-coupon-cta-bg);color:var(--nsn-coupon-cta-text);font-family:var(--nsn-coupon-font);font-size:14px;font-weight:800;text-transform:uppercase;text-decoration:none;letter-spacing:.05em;border:0;border-radius:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 24px color-mix(in srgb, var(--nsn-coupon-cta-bg) 45%, transparent)}.nsn-coupon-modal__cta:hover,.nsn-coupon-modal__cta:focus-visible{background:var(--nsn-coupon-cta-hover-bg);transform:translateY(-1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),inset 0 -3px 0 rgba(0,0,0,.18),0 4px 8px rgba(0,0,0,.14),0 12px 24px rgba(0,0,0,.2),0 0 32px color-mix(in srgb, var(--nsn-coupon-cta-bg) 60%, transparent)}.nsn-coupon-modal__cta:active{transform:translateY(1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25),inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.15),0 0 14px color-mix(in srgb, var(--nsn-coupon-cta-bg) 35%, transparent)}.nsn-coupon-modal__cta{width:100%;padding:14px;font-size:16px}.nsn-coupon-modal__terms{margin-top:12px;padding-top:12px;border-top:1px solid var(--nsn-coupon-divider);font-size:11px;color:var(--nsn-coupon-text-muted)}.nsn-coupon-modal__terms strong{display:block;margin-bottom:4px;color:var(--nsn-coupon-text)}.nsn-coupon-modal__terms p{margin:0}.preview-wrapper:has(>.nsn-coupon--light){max-width:200px}.nsn-coupon-sticky{--nsn-coupon-bg: #ffffff;--nsn-coupon-border: #e5e7eb;--nsn-coupon-shadow: rgba(0, 0, 0, 0.05);--nsn-coupon-shadow-hover: rgba(0, 0, 0, 0.1);--nsn-coupon-text: #1f2937;--nsn-coupon-text-muted: #6b7280;--nsn-coupon-primary: #001d3d;--nsn-coupon-cta-bg: #d4ff00;--nsn-coupon-cta-text: #000000;--nsn-coupon-cta-hover-bg: #b0d500;--nsn-coupon-code-bg: #f3f4f6;--nsn-coupon-code-border: #c4c6cf;--nsn-coupon-code-text: #001d3d;--nsn-coupon-tag-bg: #001d3d;--nsn-coupon-tag-text: #ffffff;--nsn-coupon-star: #ffc107;--nsn-coupon-star-empty: #e5e7eb;--nsn-coupon-check: #16a34a;--nsn-coupon-error: #dc2626;--nsn-coupon-divider: #e5e2e1;--nsn-coupon-radius: 8px;--nsn-coupon-font: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--banner-h: 0px;position:fixed;bottom:var(--banner-h);left:0;right:0;z-index:900;background:var(--nsn-coupon-bg);color:var(--nsn-coupon-text);border-top:1px solid var(--nsn-coupon-border);box-shadow:0 -4px 14px rgba(0,0,0,.08);font-family:var(--nsn-coupon-font);transform:translateY(calc(100% + var(--banner-h)));transition:transform .3s ease}.nsn-coupon-sticky.is-initializing{transition:none}.nsn-coupon-sticky.is-visible{transform:translateY(0)}.nsn-coupon-sticky__inner{display:flex;align-items:center;gap:12px;padding:8px 12px;max-width:1280px;margin:0 auto}@media(max-width: 768px){.nsn-coupon-sticky__inner{flex-direction:column;align-items:stretch;gap:8px}}.nsn-coupon-sticky__logo{flex-shrink:0;width:40px;height:40px;border-radius:4px;overflow:hidden;background:var(--nsn-coupon-border);display:flex;align-items:center;justify-content:center}.nsn-coupon-sticky__logo img{width:100%;height:100%;object-fit:cover}@media(max-width: 768px){.nsn-coupon-sticky__logo{display:none}}.nsn-coupon-sticky__info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}@media(max-width: 768px){.nsn-coupon-sticky__info{display:none}}.nsn-coupon-sticky__brand{font-weight:700;color:var(--nsn-coupon-primary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nsn-coupon-sticky__offer{font-size:11px;color:var(--nsn-coupon-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nsn-coupon-sticky__offer strong,.nsn-coupon-sticky__offer .nsn-coupon__offer-highlight{color:var(--nsn-coupon-text);font-weight:700}.nsn-coupon-sticky__code{display:flex;flex-shrink:0;width:auto}@media(max-width: 768px){.nsn-coupon-sticky__code{width:100%}}.nsn-coupon-sticky__cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:12px 24px;background:var(--nsn-coupon-cta-bg);color:var(--nsn-coupon-cta-text);font-family:var(--nsn-coupon-font);font-size:14px;font-weight:800;text-transform:uppercase;text-decoration:none;letter-spacing:.05em;border:0;border-radius:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 24px color-mix(in srgb, var(--nsn-coupon-cta-bg) 45%, transparent)}.nsn-coupon-sticky__cta:hover,.nsn-coupon-sticky__cta:focus-visible{background:var(--nsn-coupon-cta-hover-bg);transform:translateY(-1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),inset 0 -3px 0 rgba(0,0,0,.18),0 4px 8px rgba(0,0,0,.14),0 12px 24px rgba(0,0,0,.2),0 0 32px color-mix(in srgb, var(--nsn-coupon-cta-bg) 60%, transparent)}.nsn-coupon-sticky__cta:active{transform:translateY(1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25),inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.15),0 0 14px color-mix(in srgb, var(--nsn-coupon-cta-bg) 35%, transparent)}.nsn-coupon-sticky__cta{flex-shrink:0;font-size:12px}@media(max-width: 768px){.nsn-coupon-sticky__cta{width:100%}}.nsn-coupon-sticky__cta--no-shadow{box-shadow:none}.nsn-coupon-sticky__cta--no-shadow:hover,.nsn-coupon-sticky__cta--no-shadow:focus-visible{box-shadow:none}.nsn-coupon-sticky__cta--no-shadow:active{box-shadow:none}
.nsn-coupon-list{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}.nsn-coupon-list__title{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e2e1;font-size:24px;font-weight:700;color:#001d3d}.nsn-coupon-list__items{display:flex;flex-direction:column;gap:12px}
.nsn-coupon-table{--nsn-coupon-bg: #ffffff;--nsn-coupon-border: #e5e7eb;--nsn-coupon-shadow: rgba(0, 0, 0, 0.05);--nsn-coupon-shadow-hover: rgba(0, 0, 0, 0.1);--nsn-coupon-text: #1f2937;--nsn-coupon-text-muted: #6b7280;--nsn-coupon-primary: #001d3d;--nsn-coupon-cta-bg: #d4ff00;--nsn-coupon-cta-text: #000000;--nsn-coupon-cta-hover-bg: #b0d500;--nsn-coupon-code-bg: #f3f4f6;--nsn-coupon-code-border: #c4c6cf;--nsn-coupon-code-text: #001d3d;--nsn-coupon-tag-bg: #001d3d;--nsn-coupon-tag-text: #ffffff;--nsn-coupon-star: #ffc107;--nsn-coupon-star-empty: #e5e7eb;--nsn-coupon-check: #16a34a;--nsn-coupon-error: #dc2626;--nsn-coupon-divider: #e5e2e1;--nsn-coupon-radius: 8px;--nsn-coupon-font: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;background:var(--nsn-coupon-bg);border:1px solid var(--nsn-coupon-border);border-radius:var(--nsn-coupon-radius);padding:16px;font-family:var(--nsn-coupon-font);color:var(--nsn-coupon-text)}.nsn-coupon-table__title{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--nsn-coupon-divider);font-size:24px;font-weight:700;color:var(--nsn-coupon-primary)}.nsn-coupon-table__list{list-style:none;margin:0;padding:0}.nsn-coupon-table__row{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--nsn-coupon-divider);cursor:pointer;transition:background-color .15s ease}.nsn-coupon-table__row:last-child{border-bottom:0}.nsn-coupon-table__row:hover{background:var(--nsn-coupon-code-bg)}.nsn-coupon-table__main{display:flex;flex-direction:column;align-items:stretch;gap:12px}@media(min-width: 769px){.nsn-coupon-table__main{flex-direction:row;align-items:center;justify-content:space-between}}.nsn-coupon-table__brand{display:flex;align-items:center;gap:8px;flex:1}@media(min-width: 769px){.nsn-coupon-table__brand{max-width:33%}}.nsn-coupon-table__rank{font-size:18px;font-weight:700;color:var(--nsn-coupon-text-muted);min-width:1.5rem;text-align:center}.nsn-coupon-table__logo{flex-shrink:0;width:40px;height:40px;border-radius:4px;overflow:hidden;background:var(--nsn-coupon-border);display:flex;align-items:center;justify-content:center}.nsn-coupon-table__logo img{width:100%;height:100%;object-fit:cover}.nsn-coupon-table__logo-fallback{color:#fff;background:var(--nsn-coupon-primary);width:100%;height:100%;font-weight:700;display:flex;align-items:center;justify-content:center}.nsn-coupon-table__brand-info{min-width:0}.nsn-coupon-table__operator{font-weight:700;color:var(--nsn-coupon-primary);font-size:14px}.nsn-coupon-table .nsn-coupon__rating{--star-size: 14px;margin-top:2px}.nsn-coupon-table__offer{color:var(--nsn-coupon-text);font-size:14px}@media(min-width: 769px){.nsn-coupon-table__offer{flex:1;max-width:33%;text-align:left}}.nsn-coupon-table__offer strong{color:var(--nsn-coupon-primary);font-weight:700}.nsn-coupon-table__actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}@media(min-width: 769px){.nsn-coupon-table__actions{align-items:flex-end;max-width:33%}}.nsn-coupon-table__cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:12px 24px;background:var(--nsn-coupon-cta-bg);color:var(--nsn-coupon-cta-text);font-family:var(--nsn-coupon-font);font-size:14px;font-weight:800;text-transform:uppercase;text-decoration:none;letter-spacing:.05em;border:0;border-radius:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -3px 0 rgba(0,0,0,.18),0 2px 4px rgba(0,0,0,.1),0 8px 18px rgba(0,0,0,.15),0 0 24px color-mix(in srgb, var(--nsn-coupon-cta-bg) 45%, transparent)}.nsn-coupon-table__cta:hover,.nsn-coupon-table__cta:focus-visible{background:var(--nsn-coupon-cta-hover-bg);transform:translateY(-1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),inset 0 -3px 0 rgba(0,0,0,.18),0 4px 8px rgba(0,0,0,.14),0 12px 24px rgba(0,0,0,.2),0 0 32px color-mix(in srgb, var(--nsn-coupon-cta-bg) 60%, transparent)}.nsn-coupon-table__cta:active{transform:translateY(1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25),inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.15),0 0 14px color-mix(in srgb, var(--nsn-coupon-cta-bg) 35%, transparent)}.nsn-coupon-table__cta{padding:8px 16px;font-size:12px}.nsn-coupon-table__review{color:var(--nsn-coupon-primary);font-size:11px;text-decoration:none}.nsn-coupon-table__review:hover{text-decoration:underline}.nsn-coupon-table__terms{font-size:11px;color:var(--nsn-coupon-text-muted);line-height:1.4}.nsn-coupon-table__terms strong{color:var(--nsn-coupon-text);margin-right:4px}

/* Block-level vertical spacing — applied via Blocks\Coupon::wrap_spacing when
   the editor opts in. Keep the rules close to the markup since the CSS bundle
   ships compiled from the Fractal library and doesn't have a build step. */
.nsn-coupon-block--spacing-small{margin:20px 0}
.nsn-coupon-block--spacing-medium{margin:30px 0}
.nsn-coupon-block--spacing-big{margin:50px 0}

/* Logo frame shape — driven by the `_nsn_operator_logo_variant` meta which
   the admin JS sets when the user clicks a variant button in the Operator
   panel. Circle forces a perfect disc, square drops the radius; other variants
   (or an empty variant = logo set from the media library / legacy coupon) keep
   the base 8px radius. The grey background chip on `.nsn-coupon__logo` comes
   from the base rule and stays unchanged across all variants — it acts as a
   soft frame behind every operator logo, transparent asset or not. */
.nsn-coupon__logo--variant-circle,
.nsn-coupon-modal__logo--variant-circle{border-radius:50%}
.nsn-coupon__logo--variant-square,
.nsn-coupon-modal__logo--variant-square{border-radius:0}

/* code-non-referral revealed state — applied by JS in closeModal() after the
   modal has been viewed at least once. The blurred dashed box is replaced by a
   solid-looking inline code chip: no more cursor pointer, no more eye icon, no
   blur on the value. The element stays a <button> (cheaper than swapping the
   tag at runtime), so we reset the default browser styling to keep it visually
   identical to a regular code-referral inline box. */
.nsn-coupon__code--revealed{appearance:none;cursor:default;background:var(--nsn-coupon-code-bg);border:1px dashed var(--nsn-coupon-code-border)}
.nsn-coupon__code--revealed .nsn-coupon__code-value{filter:none}
.nsn-coupon__code--revealed .nsn-coupon__code-icon{display:none}

/* Hide USP bullet icons — opt-in via meta `_nsn_hide_usp_icons=1`. Removes
   the leading check chip and reclaims its slot so the text aligns flush left. */
.nsn-coupon--no-usp-icons .nsn-coupon__usp-icon{display:none}
.nsn-coupon--no-usp-icons .nsn-coupon__usp{gap:0}

/* Column vertical alignment — opt-in via meta `_nsn_layout_valign=top`. Default
   (center) is set in the base SCSS at the `@media (min-width: 769px)` breakpoint;
   this override flips it to top-aligned when the catchphrase or USPs spill onto
   multiple lines and the center alignment becomes visually unbalanced. */
@media(min-width: 769px){
  .nsn-coupon--valign-top .nsn-coupon__inner{align-items:flex-start}
  .nsn-coupon--valign-top .nsn-coupon__col--brand{align-items:flex-start}
}

/* Middle-columns mode — opt-in via meta `_nsn_layout_middle=merged`. Switches
   the desktop row from 4 flex columns (brand / offer / usps / cta) to a 3-column
   grid where the middle column stacks offer on top of USPs. Brand and CTA span
   both rows so the visual mass on the sides stays anchored. */
@media(min-width: 769px){
  .nsn-coupon--middle-merged .nsn-coupon__inner{
    display:grid;
    grid-template-columns:1fr 2fr 1fr;
    grid-template-rows:auto auto;
    column-gap:16px;
    row-gap:8px;
  }
  .nsn-coupon--middle-merged .nsn-coupon__col{width:auto}
  .nsn-coupon--middle-merged .nsn-coupon__col--brand{grid-column:1;grid-row:1 / span 2;align-self:center}
  .nsn-coupon--middle-merged .nsn-coupon__col--offer{grid-column:2;grid-row:1}
  .nsn-coupon--middle-merged .nsn-coupon__col--usps{grid-column:2;grid-row:2}
  .nsn-coupon--middle-merged .nsn-coupon__col--cta{grid-column:3;grid-row:1 / span 2;align-self:center}
  .nsn-coupon--middle-merged.nsn-coupon--valign-top .nsn-coupon__col--brand,
  .nsn-coupon--middle-merged.nsn-coupon--valign-top .nsn-coupon__col--cta{align-self:flex-start}
  /* No CTA column: drop the third grid track so the middle column spans wider. */
  .nsn-coupon--middle-merged.nsn-coupon--no-cta .nsn-coupon__inner{grid-template-columns:1fr 3fr}
  .nsn-coupon--middle-merged.nsn-coupon--no-cta .nsn-coupon__col--offer,
  .nsn-coupon--middle-merged.nsn-coupon--no-cta .nsn-coupon__col--usps{grid-column:2}
}

/* code-copy-newtab — the whole card is clickable (copies the code +
   opens the pretty link in a new tab), so signal the affordance with a
   pointer cursor on the root article AND on every non-interactive child
   so a theme's `article { cursor: default }` reset can't override us on
   text areas (catchphrase, usps, offer). `!important` is scoped to this
   modifier only — no bleed. */
.nsn-coupon--code-copy-newtab,
.nsn-coupon--code-copy-newtab *:not(.nsn-coupon__code-value):not(.nsn-coupon__terms-toggle):not(.nsn-coupon__terms-tooltip):not([data-nsn-coupon-feedback] *){cursor:pointer !important}

/* Light mode CTA sizing — desktop only. Cap the actionable control at 320px
   and center it horizontally inside its container so the coupon "chip" doesn't
   stretch across the full article width when the surrounding content is wide.
   Mobile keeps 100% width from the base `--light` rule for tap-target comfort. */
@media(min-width: 769px){
  .nsn-coupon--light .nsn-coupon__col--cta{
    max-width:320px;
    margin-inline:auto;
  }
  /* When `--middle-merged` is also active, its `display: grid` on __inner
     traps the CTA in the 3rd (~1fr) grid track and the auto-centering
     collapses to that narrow track. In light mode only the CTA is visible,
     so we don't need any grid at all — reset to `display: block` so the
     CTA gets the full container width and the max-width + margin-inline
     rule above centers it across the whole coupon. */
  .nsn-coupon--light.nsn-coupon--middle-merged .nsn-coupon__inner{
    display:block;
  }
}
/* Theme-override shield — lock the CTA text color against theme.json
   rules like `:root :where(a:where(:not(.wp-element-button)):visited) {
   color: … }` that ship at specificity (0,1,0) and would otherwise tie
   with `.nsn-coupon__cta` and win by cascade order (theme CSS enqueues
   after plugin CSS). `.class:link` / `.class:visited` scores (0,2,0) —
   enough to win without resorting to `!important`. Same treatment for
   the sticky bar / table / modal CTAs and for the two other interactive
   text elements the plugin owns the color of. Custom `--nsn-coupon-*`
   variables are still the legitimate way to restyle. */
.nsn-coupon__cta:not(.is-copied):not(.is-visit):link,
.nsn-coupon__cta:not(.is-copied):not(.is-visit):visited,
.nsn-coupon-sticky__cta:link,
.nsn-coupon-sticky__cta:visited,
.nsn-coupon-table__cta:link,
.nsn-coupon-table__cta:visited,
.nsn-coupon-modal__cta:link,
.nsn-coupon-modal__cta:visited{
  color:var(--nsn-coupon-cta-text);
}
.nsn-coupon__code-copy:link,
.nsn-coupon__code-copy:visited{
  color:var(--nsn-coupon-text);
}
.nsn-coupon__terms-toggle:link,
.nsn-coupon__terms-toggle:visited{
  color:var(--nsn-coupon-text);
}
/* Stacked mode — force the mobile-column layout at every viewport, no matter
   how much horizontal room the container gives the coupon. Used when the
   coupon lives inside a narrow parent (theme hero side-column, sidebar
   widget, drawer, …) that the plugin's viewport-based media queries can't
   see. Base rules (mobile-first) already do column + width:100%; these
   overrides beat the desktop @media (min-width: 769px) rules by matching
   double-modifier combos at specificity (0, 3, 0). */
@media (min-width: 769px) {
  .nsn-coupon--stacked .nsn-coupon__inner,
  .nsn-coupon--stacked.nsn-coupon--middle-merged .nsn-coupon__inner,
  .nsn-coupon--stacked.nsn-coupon--valign-top .nsn-coupon__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    grid-template-columns: none;
    grid-template-rows: none;
    gap: 12px;
  }
  .nsn-coupon--stacked .nsn-coupon__col,
  .nsn-coupon--stacked.nsn-coupon--middle-merged .nsn-coupon__col,
  .nsn-coupon--stacked.nsn-coupon--no-cta .nsn-coupon__col {
    width: 100%;
    grid-column: auto;
    grid-row: auto;
  }
  /* Middle-merged in stacked leaves the columns wrap in their natural DOM
     order (brand → offer → USPs → CTA). Reset the explicit grid placements
     set by --middle-merged so they don't fight the flex-column above. */
  .nsn-coupon--stacked.nsn-coupon--middle-merged .nsn-coupon__col--brand,
  .nsn-coupon--stacked.nsn-coupon--middle-merged .nsn-coupon__col--offer,
  .nsn-coupon--stacked.nsn-coupon--middle-merged .nsn-coupon__col--usps,
  .nsn-coupon--stacked.nsn-coupon--middle-merged .nsn-coupon__col--cta {
    align-self: stretch;
  }
}
