/* v5: offers banner, coupon box, bigger endless category circles. Loads after everything else. */

/* ---------- Promo banner (home) ---------- */
.nd-offers{padding:6px 0 4px}
.nd-offers .wrap{display:grid;gap:12px}
.nd-offer{position:relative;display:flex;align-items:center;gap:14px;min-height:118px;padding:12px 44px 12px 12px;border-radius:14px;overflow:hidden;
	background:
		radial-gradient(120% 140% at 12% 0%,rgba(255,255,255,.95) 0%,rgba(255,255,255,0) 55%),
		linear-gradient(115deg,#f6ecdf 0%,#efdfca 48%,#f7eee2 100%);
	border:1px solid rgba(184,146,90,.35);box-shadow:0 8px 22px -14px rgba(60,40,20,.45);color:#1f1512;-webkit-tap-highlight-color:transparent}
.nd-offer::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
	background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 62%);transform:translateX(-120%);animation:ndSheen 6s ease-in-out 1.5s infinite}
@keyframes ndSheen{0%,70%,100%{transform:translateX(-120%)}85%{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){.nd-offer::after{animation:none}}
.nd-offer .cover{position:absolute;inset:0;z-index:1;border-radius:inherit}
.nd-offer .pic{position:relative;flex:0 0 34%;max-width:150px;aspect-ratio:1;display:grid;place-items:center}
.nd-offer .pic img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(40,24,10,.28));border-radius:10px}
.nd-offer .txt{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.nd-offer.nopic .txt{align-items:flex-start;text-align:left;padding-left:6px}
.nd-offer .t{font:500 clamp(15px,4.4vw,22px)/1.2 var(--serif,'Playfair Display',serif);color:#1f1512}
.nd-offer .hl{display:inline-flex;align-items:center;gap:8px;font:700 clamp(30px,10vw,48px)/1 var(--serif,'Playfair Display',serif);letter-spacing:.02em;
	background:linear-gradient(180deg,#d9b26a 0%,#b8862f 55%,#9a6d1f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nd-offer .hl svg{width:.5em;height:.5em;color:#b8862f;-webkit-text-fill-color:initial;flex:none}
.nd-offer .s{font:400 clamp(12.5px,3.5vw,16px)/1.3 var(--sans,'Inter',sans-serif);color:#2c211c}
.nd-offer .go{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:26px;height:26px;color:#1f1512}
.nd-offer .go svg{width:20px;height:20px}

/* coupon chip: tap to copy */
.nd-code{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;margin-top:7px;padding:5px 5px 5px 12px;border:1.5px dashed #b8862f;border-radius:999px;background:rgba(255,255,255,.75);
	color:#1f1512;cursor:pointer;font:inherit;max-width:100%;-webkit-appearance:none;appearance:none}
.nd-code .lbl{display:none;font:500 12px var(--sans,'Inter',sans-serif);color:#6f5f55}
.nd-code i{font:700 15px/1 'Inter',ui-monospace,monospace;font-style:normal;letter-spacing:.12em;color:#1f1512;white-space:nowrap}
.nd-code u{text-decoration:none;font:600 12px/1 var(--sans,'Inter',sans-serif);padding:7px 11px;border-radius:999px;background:#1f1512;color:#fff;transition:background .25s}
.nd-code:hover u,.nd-code:focus-visible u{background:#b8862f}
.nd-code.done u{background:#2f6b3a}
@media(min-width:480px){.nd-code .lbl{display:inline}}
@media(min-width:860px){
	.nd-offers{padding:14px 0 8px}
	.nd-offer{min-height:150px;padding:16px 64px 16px 24px;gap:28px;justify-content:center}
	.nd-offer .pic{flex-basis:180px;max-width:180px}
	.nd-offer .txt{flex:0 1 auto}
	.nd-offer .go{right:22px}
}

/* ---------- Coupon box (customer information page) ---------- */
.ng-coupon{margin:14px 0 4px}
.ng-cpf{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border:1.5px dashed #c9a86b;border-radius:12px;background:#fffaf2}
.ng-cpf>svg{width:19px;height:19px;color:#b8862f;flex:none}
.ng-cpf input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:10px 4px!important;font:600 15px/1 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;outline:0}
.ng-cpf input::placeholder{text-transform:none;letter-spacing:0;font-weight:400;color:#8a7f76}
.ng-cpf button{flex:none;border:0;border-radius:9px;padding:11px 16px;background:#1f1512;color:#fff;font:600 13.5px/1 'Inter',sans-serif;cursor:pointer}
.ng-cpf button:disabled{opacity:.55;cursor:wait}
.ng-cpm{min-height:0;margin:7px 2px 0;font-size:13.5px;line-height:1.4}
.ng-cpm:empty{display:none}
.ng-cpm.ok{color:#2f6b3a}.ng-cpm.err{color:#a3322a}
.ng-totals tr[hidden]{display:none}
#ngTDisc{color:#2f6b3a;font-weight:600}
.ng-gift .pic{position:relative}
.ng-giftb{font-style:normal;font-weight:700;font-size:11px;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:#2f6b3a;color:#fff}
.ng-gift .meta b::after{content:none}

/* ---------- Categories: bigger circles, endless swipe ---------- */
.lm-cats{gap:14px;margin:0 -20px;padding:6px 20px 10px;scroll-behavior:auto;scroll-snap-type:none}
.lm-cat{flex:0 0 clamp(82px,23vw,104px);scroll-snap-align:none}
.lm-cat b{font-size:14.5px}
.lm-cats.is-loop{scroll-snap-type:none;justify-content:flex-start;cursor:grab}
.lm-cats.is-loop.drag{cursor:grabbing}
@media(min-width:560px){.lm-cats{gap:20px}.lm-cat{flex-basis:128px}.lm-cat b{font-size:17px}}
@media(min-width:860px){
	.lm-cats{margin:0;padding:8px 0 12px;justify-content:center;gap:34px}
	.lm-cats.is-loop{justify-content:flex-start;margin:0 -20px;padding:8px 20px 12px}
	.lm-cat{flex:0 0 180px}
	.lm-cat b{font-size:21px}
}
