/* ==========================================================================
   Novogradnje — Pop up box (rezervacija) front-end
   Premium black/brown liquid-glass reservation popup. Brand copper for accents;
   the configurable yellow (--rz-btn) is used ONLY on the buttons. No coloured glows.
   Scoped under .nm-rez-root / .nm-rez-inline so it can't leak into the theme.
   ========================================================================== */

.nm-rez-root{
	--rz-btn:#f4e64e;         /* button colour ONLY (configurable) */
	--rz-ink:#14110a;         /* text on the button */
	--rz-brand:#b08968;       /* site copper accent — selection, links, icons */
	--rz-panel:#14100c;
	--rz-panel-2:#241a12;
	--rz-glass:rgba(255,255,255,.05);
	--rz-glass-brd:rgba(255,255,255,.10);
	--rz-txt:#f3ede4;
	--rz-txt-soft:rgba(243,237,228,.58);
	--rz-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
}
.nm-rez-root *,
.nm-rez-inline *{box-sizing:border-box;}

/* ---------------- Buttons (code-block + inline) ---------------- */
.nm-rez-inline{display:flex;width:100%;--rz-btn:#f4e64e;--rz-ink:#14110a;}
.nm-rez-inline--center{justify-content:center;text-align:center;}
.nm-rez-inline--left{justify-content:flex-start;}
.nm-rez-inline--right{justify-content:flex-end;}
.nm-rez-inline--bg-dark{background:#14100c;padding:34px 20px;}
.nm-rez-inline--bg-brand{background:var(--rz-brand);padding:34px 20px;}
.nm-rez-inline--bg-light{background:#f4f1ec;padding:34px 20px;}
/* button sitting atop the projekti grid */
.nm-rez-inline--projekti{margin:0 auto 30px;max-width:1180px;padding:0 20px;}
@media(max-width:600px){
	.nm-rez-inline--projekti{margin-bottom:22px;}
	.nm-rez-inline--bg-dark,.nm-rez-inline--bg-brand,.nm-rez-inline--bg-light{padding:26px 16px;}
}
.nm-rez-btn{
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif !important;
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	background:var(--rz-btn);color:var(--rz-ink)!important;
	border:0;border-radius:999px;cursor:pointer;
	font-weight:800;letter-spacing:.3px;text-transform:uppercase;
	font-size:15px;line-height:1.1;padding:16px 28px;
	box-shadow:0 8px 22px -10px rgba(0,0,0,.45);
	transition:transform .3s cubic-bezier(.16,1,.3,1),filter .2s;
	-webkit-tap-highlight-color:transparent;text-decoration:none!important;
}
.nm-rez-btn:hover{transform:translateY(-2px);filter:brightness(1.04);}
.nm-rez-btn:active{transform:translateY(0);}
.nm-rez-btn--big{width:100%;padding:19px 28px;font-size:17px;}
@media(max-width:768px){.nm-rez-btn--big{font-size:18px;padding:20px 22px;letter-spacing:.2px;}}

/* ---------------- Floating desktop button (always shown on desktop) ---------------- */
.nm-rez-fab{
	position:fixed;right:30px;bottom:90px;z-index:99990;
	display:inline-flex;align-items:center;gap:11px;
	font-family:var(--rz-font);font-weight:800;text-transform:uppercase;letter-spacing:.4px;font-size:13.5px;
	color:var(--rz-ink);background:var(--rz-btn);border:0;border-radius:999px;cursor:pointer;
	padding:15px 26px;
	box-shadow:0 12px 30px -12px rgba(0,0,0,.5);
	transition:transform .35s cubic-bezier(.16,1,.3,1),filter .2s;
	animation:nm-rez-fab-in .8s 3s both cubic-bezier(.16,1,.3,1);
}
.nm-rez-fab__ico{display:inline-flex;width:22px;height:22px;}
.nm-rez-fab__ico svg{width:22px;height:22px;}
.nm-rez-fab:hover{transform:translateY(-3px);filter:brightness(1.04);}
.nm-rez-fab:active{transform:translateY(0);}
@keyframes nm-rez-fab-in{
	0%{opacity:0;transform:translateY(26px) scale(.82);}
	60%{opacity:1;}
	100%{opacity:1;transform:translateY(0) scale(1);}
}
@media(max-width:992px){.nm-rez-fab{display:none;}}
/* Hide the floating button while the popup is open (it would otherwise glow through the blurred overlay). */
.nm-rez-root.is-open .nm-rez-fab{opacity:0;transform:translateY(10px) scale(.9);pointer-events:none;transition:opacity .25s ease,transform .25s ease;}

/* ---------------- Button size (yellow FAB + inline button): s | m | l ---------------- */
.nm-rez-sz-s .nm-rez-fab{padding:12px 22px;font-size:12.5px;}
.nm-rez-sz-m .nm-rez-fab{padding:15px 26px;font-size:13.5px;}
.nm-rez-sz-l .nm-rez-fab{padding:18px 32px;font-size:15px;}
.nm-rez-sz-xl .nm-rez-fab{padding:21px 38px;font-size:17px;}
.nm-rez-sz-xxl .nm-rez-fab{padding:24px 44px;font-size:19px;}
.nm-rez-sz-xxxl .nm-rez-fab{padding:28px 52px;font-size:22px;}
.nm-rez-sz-xxxxl .nm-rez-fab{padding:34px 62px;font-size:26px;}
.nm-rez-inline.nm-rez-sz-s .nm-rez-btn{padding:13px 24px;font-size:14px;}
.nm-rez-inline.nm-rez-sz-m .nm-rez-btn{padding:16px 28px;font-size:15px;}
.nm-rez-inline.nm-rez-sz-l .nm-rez-btn{padding:20px 36px;font-size:17px;}
.nm-rez-inline.nm-rez-sz-xl .nm-rez-btn{padding:23px 42px;font-size:19px;}
.nm-rez-inline.nm-rez-sz-xxl .nm-rez-btn{padding:27px 50px;font-size:22px;}
.nm-rez-inline.nm-rez-sz-xxxl .nm-rez-btn{padding:32px 60px;font-size:26px;}
.nm-rez-inline.nm-rez-sz-xxxxl .nm-rez-btn{padding:38px 72px;font-size:31px;}
/* On phones the very large sizes are capped so they never overflow. */
@media(max-width:600px){
	.nm-rez-inline.nm-rez-sz-xl .nm-rez-btn{padding:18px 26px;font-size:17px;}
	.nm-rez-inline.nm-rez-sz-xxl .nm-rez-btn{padding:19px 24px;font-size:18px;}
	.nm-rez-inline.nm-rez-sz-xxxl .nm-rez-btn{padding:21px 22px;font-size:19px;}
	.nm-rez-inline.nm-rez-sz-xxxxl .nm-rez-btn{padding:22px 20px;font-size:20px;}
}

/* ---------------- Premium desktop FAB motion (slide in from the side → bounce to LARGE → bounce to COMPACT) ----------------
   JS-driven: it adds .is-in (enter) then toggles .is-compact after a few seconds / on fast scroll-down.
   All movement runs off CSS custom props on a single transform so the transition can bounce smoothly. */
.nm-rez-fab--anim{
	animation:none!important;
	transform:translateX(175%) scale(.5);transform-origin:right center;
	opacity:0;pointer-events:none;
}
/* enter: slide in from the side + fade + bounce up to large (keyframe = reliable) */
.nm-rez-fab--anim.is-entering{animation:nm-rez-fab-enter .95s cubic-bezier(.34,1.56,.64,1) forwards!important;pointer-events:none;}
@keyframes nm-rez-fab-enter{
	0%{opacity:0;transform:translateX(175%) scale(.5);}
	55%{opacity:1;}
	100%{opacity:1;transform:translateX(0) scale(1);}
}
/* resting LARGE state; compact/hover are pure transform transitions (these work reliably) */
.nm-rez-fab--anim.is-in{opacity:1;pointer-events:auto;transform:translateX(0) scale(1);transition:transform .6s cubic-bezier(.34,1.56,.64,1),filter .2s;}
.nm-rez-fab--anim.is-in.is-compact{transform:translateX(0) scale(.8);}
.nm-rez-fab--anim.is-in:hover{transform:translateX(0) scale(1.05);filter:brightness(1.05);}
.nm-rez-fab--anim.is-in.is-compact:hover{transform:translateX(0) scale(.86);}
/* calmer entrance for a visitor who already came to the site earlier the same day:
   fade in a bit larger then settle — no slide-from-side, no bounce. */
.nm-rez-fab--anim.is-entering-soft{animation:nm-rez-fab-soft .9s ease forwards!important;pointer-events:none;}
@keyframes nm-rez-fab-soft{
	0%{opacity:0;transform:translateX(0) scale(1.15);}
	100%{opacity:1;transform:translateX(0) scale(1);}
}

/* ---------------- Overlay + panel ---------------- */
.nm-rez-overlay{
	position:fixed;inset:0;z-index:99991;
	display:flex;align-items:center;justify-content:center;padding:22px;
	background:rgba(6,4,3,.66);
	-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
	opacity:0;transition:opacity .4s ease;
}
.nm-rez-overlay[hidden]{display:none;}
.nm-rez-root.is-open .nm-rez-overlay{opacity:1;}

.nm-rez-panel{
	position:relative;width:min(600px,94vw);max-height:92svh;max-height:92vh;overflow:auto;overscroll-behavior:contain;
	font-family:var(--rz-font);color:var(--rz-txt);
	background:
		radial-gradient(130% 100% at 50% -12%, var(--rz-panel-2) 0%, transparent 58%),
		linear-gradient(180deg,#1a140f 0%, var(--rz-panel) 100%);
	border:1px solid var(--rz-glass-brd);
	border-radius:30px;
	padding:44px 40px 36px;
	box-shadow:0 44px 100px -34px rgba(0,0,0,.8);
	transform:translateY(28px) scale(.95);opacity:0;
	transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .45s ease;
	contain:layout paint;
}
.nm-rez-root.is-open .nm-rez-panel{transform:translateY(0) scale(1);opacity:1;}
.nm-rez-panel::-webkit-scrollbar{width:0;}

/* Close X */
.nm-rez-x{
	position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;
	border:1px solid var(--rz-glass-brd);background:var(--rz-glass);
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;
	transition:transform .35s cubic-bezier(.16,1,.3,1),background .2s;
}
.nm-rez-x::before{content:"\00d7";color:var(--rz-txt);font-size:23px;line-height:1;transform-origin:50% 50%;}
.nm-rez-x:hover{background:rgba(255,255,255,.12);transform:rotate(90deg);}

/* ---------------- Title / text ---------------- */
/* Centered title + small subtitle at the top of the form. */
.nm-rez-title{
	margin:2px 30px 6px;text-align:center;font-size:clamp(20px,3.6vw,27px);font-weight:800;letter-spacing:.5px;
	text-transform:uppercase;line-height:1.15;color:var(--rz-txt);
}
.nm-rez-subtop{margin:0 24px 20px;text-align:center;font-size:14px;line-height:1.5;color:var(--rz-txt-soft);}
.nm-rez-intro{color:var(--rz-txt-soft);font-size:14px;line-height:1.55;margin:0 0 18px;text-align:center;}
.nm-rez-intro p{margin:0 0 6px;}

/* ---------------- Project circles ---------------- */
.nm-rez-boxes{
	display:grid;grid-template-columns:repeat(4,1fr);gap:13px 10px;margin:6px 0 2px;
}
.nm-rez-box{
	appearance:none;border:0;background:none;cursor:pointer;padding:4px 2px;
	display:flex;flex-direction:column;align-items:center;gap:11px;
	color:var(--rz-txt);font-family:var(--rz-font);
	-webkit-tap-highlight-color:transparent;
	transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.nm-rez-box__circle{
	position:relative;width:100%;max-width:74px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;
	background:rgba(255,255,255,.045);
	border:1px solid var(--rz-glass-brd);
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 6px 18px -10px rgba(0,0,0,.5);
	transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .25s;
}
.nm-rez-box__circle img{width:100%;height:100%;object-fit:cover;display:block;}
.nm-rez-box__ico{display:flex;width:34px;height:34px;color:var(--rz-txt-soft);transition:color .25s,transform .35s cubic-bezier(.16,1,.3,1);}
.nm-rez-box__ico svg{width:34px;height:34px;}
/* selection ring drawn as a separate element so it never clips the image */
.nm-rez-box__ring{
	position:absolute;inset:-4px;border-radius:50%;border:2px solid transparent;
	transition:border-color .25s,inset .25s;pointer-events:none;
}
.nm-rez-box__check{
	position:absolute;bottom:2px;left:50%;transform:translate(-50%,6px) scale(.5);
	width:24px;height:24px;border-radius:50%;
	background:var(--rz-brand);color:#fff;border:2px solid var(--rz-panel);
	opacity:0;transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1);
	display:flex;align-items:center;justify-content:center;
}
.nm-rez-box__check::before{content:"\2713";font-size:12px;font-weight:900;line-height:1;}
.nm-rez-box__name{
	font-size:12.5px;font-weight:600;line-height:1.2;text-align:center;color:var(--rz-txt);
	max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	transition:color .25s;
}
.nm-rez-box:hover .nm-rez-box__circle{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rz-brand) 45%,transparent);}
/* selected */
.nm-rez-box.is-selected .nm-rez-box__circle{border-color:var(--rz-brand);}
.nm-rez-box.is-selected .nm-rez-box__ring{border-color:var(--rz-brand);inset:-5px;}
.nm-rez-box.is-selected .nm-rez-box__ico{color:var(--rz-brand);transform:scale(1.08);}
.nm-rez-box.is-selected .nm-rez-box__check{opacity:1;transform:translate(-50%,0) scale(1);}
.nm-rez-box.is-selected .nm-rez-box__name{color:var(--rz-brand);}

/* "pick a project" hint + teaching demo */
.nm-rez-boxhint{
	margin:14px 8px 0;text-align:center;font-size:13px;line-height:1.45;font-weight:600;
	color:var(--rz-brand);
	opacity:0;transform:translateY(-6px);max-height:0;overflow:hidden;
	transition:opacity .4s ease,transform .45s cubic-bezier(.16,1,.3,1),max-height .45s ease;
}
.nm-rez-boxhint.is-show{opacity:1;transform:translateY(0);max-height:90px;}
.nm-rez-boxes--nudge{animation:nm-rez-nudge .6s ease;}
@keyframes nm-rez-nudge{0%{transform:scale(1);}50%{transform:scale(1.015);}100%{transform:scale(1);}}
.nm-rez-box.nm-rez-demo .nm-rez-box__circle{animation:nm-rez-demoring 1.2s ease-out infinite;}
@keyframes nm-rez-demoring{
	0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--rz-brand) 45%,transparent);}
	100%{box-shadow:0 0 0 13px transparent;}
}
/* attention "pop" + ring when a project is auto-selected from a project-card popup */
.nm-rez-box.nm-rez-autopick{animation:nm-rez-autopop .6s cubic-bezier(.16,1,.3,1);}
.nm-rez-box.nm-rez-autopick .nm-rez-box__circle{animation:nm-rez-demoring 1.1s ease-out infinite;}
@keyframes nm-rez-autopop{0%{transform:scale(1);}45%{transform:scale(1.13);}100%{transform:scale(1);}}

@media(max-width:600px){
	.nm-rez-boxes{grid-template-columns:repeat(4,1fr);gap:11px 7px;}
	.nm-rez-box__circle{max-width:62px;}
	.nm-rez-box__name{font-size:11px;}
	.nm-rez-boxhint{font-size:12px;}
}
@media(max-width:380px){.nm-rez-boxes{grid-template-columns:repeat(3,1fr);}}

/* ---------------- Apartment size selector (1–4 sobno) ----------------
   Three switchable designs share the same markup: cards | segment | circles. */
.nm-rez-sizewrap{margin:24px 0 2px;}
.nm-rez-sizes-title{text-align:center;font-size:14px;font-weight:700;color:var(--rz-txt);margin:0 0 14px;letter-spacing:.2px;}

/* shared button base */
.nm-rez-size{
	appearance:none;border:0;background:none;cursor:pointer;color:var(--rz-txt);font-family:var(--rz-font);
	-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;
	transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s,box-shadow .25s;
}
.nm-rez-size__ico{display:flex;color:var(--rz-txt-soft);transition:color .25s,transform .35s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s;}
.nm-rez-size__ico svg{width:44px;height:33px;display:block;}
.nm-rez-size__label{font-size:13px;font-weight:600;color:var(--rz-txt);transition:color .25s;}

/* --- design A: cards (default) --- */
.nm-rez-sizes--cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.nm-rez-sizes--cards .nm-rez-size{padding:16px 6px 13px;border-radius:18px;border:1px solid var(--rz-glass-brd);background:rgba(255,255,255,.04);box-shadow:0 6px 18px -12px rgba(0,0,0,.5);}
.nm-rez-sizes--cards .nm-rez-size:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--rz-brand) 45%,transparent);}
.nm-rez-sizes--cards .nm-rez-size.is-selected{border-color:var(--rz-brand);background:color-mix(in srgb,var(--rz-brand) 14%,transparent);box-shadow:0 12px 26px -14px color-mix(in srgb,var(--rz-brand) 65%,transparent);}
.nm-rez-sizes--cards .nm-rez-size.is-selected .nm-rez-size__ico{color:var(--rz-brand);transform:translateY(-1px) scale(1.06);}
.nm-rez-sizes--cards .nm-rez-size.is-selected .nm-rez-size__label{color:var(--rz-brand);}
.nm-rez-sizes--cards .nm-rez-sizes__glow{display:none;}

/* --- design B: segment (connected control with a sliding copper highlight) --- */
.nm-rez-sizes--segment{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:6px;border-radius:20px;border:1px solid var(--rz-glass-brd);background:rgba(255,255,255,.04);}
.nm-rez-sizes--segment .nm-rez-size{padding:13px 4px;border-radius:15px;position:relative;z-index:2;gap:6px;}
.nm-rez-sizes--segment .nm-rez-size__ico svg{width:34px;height:26px;}
.nm-rez-sizes--segment .nm-rez-size.is-selected .nm-rez-size__ico,
.nm-rez-sizes--segment .nm-rez-size.is-selected .nm-rez-size__label{color:#fff;}
.nm-rez-sizes--segment .nm-rez-sizes__glow{
	position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px)/var(--n,4));
	border-radius:15px;background:var(--rz-brand);z-index:1;
	box-shadow:0 8px 20px -10px color-mix(in srgb,var(--rz-brand) 70%,transparent);
	opacity:0;transform:translateX(0);
	transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;
}
.nm-rez-sizes--segment.has-sel .nm-rez-sizes__glow{opacity:1;transform:translateX(calc(var(--i,0)*100%));}

/* --- design C: circles (like the project circles) --- */
.nm-rez-sizes--circles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 10px;}
.nm-rez-sizes--circles .nm-rez-size{gap:10px;}
.nm-rez-sizes--circles .nm-rez-size__ico{width:100%;max-width:74px;aspect-ratio:1/1;border-radius:50%;border:1px solid var(--rz-glass-brd);background:rgba(255,255,255,.045);align-items:center;justify-content:center;box-shadow:0 6px 18px -10px rgba(0,0,0,.5);}
.nm-rez-sizes--circles .nm-rez-size__ico svg{width:40px;height:30px;}
.nm-rez-sizes--circles .nm-rez-size:hover .nm-rez-size__ico{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rz-brand) 45%,transparent);}
.nm-rez-sizes--circles .nm-rez-size.is-selected .nm-rez-size__ico{border-color:var(--rz-brand);color:var(--rz-brand);box-shadow:0 0 0 2px var(--rz-brand),0 10px 24px -12px color-mix(in srgb,var(--rz-brand) 60%,transparent);}
.nm-rez-sizes--circles .nm-rez-size.is-selected .nm-rez-size__label{color:var(--rz-brand);}
.nm-rez-sizes--circles .nm-rez-sizes__glow{display:none;}

/* hint + nudge when required and none picked */
.nm-rez-sizehint{
	margin:12px 8px 0;text-align:center;font-size:13px;line-height:1.45;font-weight:600;color:var(--rz-brand);
	opacity:0;transform:translateY(-6px);max-height:0;overflow:hidden;
	transition:opacity .4s ease,transform .45s cubic-bezier(.16,1,.3,1),max-height .45s ease;
}
.nm-rez-sizehint.is-show{opacity:1;transform:translateY(0);max-height:90px;}
.nm-rez-sizes--nudge{animation:nm-rez-nudge .6s ease;}
/* teaching demo: a size auto-selects/deselects so users learn it's clickable (mirrors the project-box demo) */
.nm-rez-sizes--circles .nm-rez-size.nm-rez-demo .nm-rez-size__ico{animation:nm-rez-demoring 1.2s ease-out infinite;}
.nm-rez-sizes--cards .nm-rez-size.nm-rez-demo{animation:nm-rez-demoring 1.2s ease-out infinite;}

@media(max-width:600px){
	.nm-rez-sizes--cards{gap:7px;}
	.nm-rez-sizes--cards .nm-rez-size{padding:12px 3px 10px;border-radius:14px;}
	.nm-rez-size__ico svg{width:36px;height:27px;}
	.nm-rez-size__label{font-size:11.5px;}
	.nm-rez-sizes--segment .nm-rez-size{padding:11px 3px;}
	.nm-rez-sizes--segment .nm-rez-size__ico svg{width:28px;height:21px;}
	.nm-rez-sizes--circles .nm-rez-size__ico{max-width:60px;}
	.nm-rez-sizes--circles .nm-rez-size__ico svg{width:33px;height:25px;}
}

/* ---------------- Form ----------------
   Every property is forced (!important) so the theme (Avada/Fusion) can never restyle
   the popup inputs into cheap white default fields. */
.nm-rez-form{display:flex;flex-direction:column;gap:13px;margin-top:24px;}
.nm-rez-root .nm-rez-field input{
	width:100%!important;font-family:var(--rz-font)!important;font-size:15px!important;line-height:1.3!important;
	color:var(--rz-txt)!important;
	background:rgba(255,255,255,.05)!important;border:1px solid var(--rz-glass-brd)!important;
	border-radius:999px!important;padding:16px 22px!important;margin:0!important;height:auto!important;
	outline:none!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;
	-webkit-appearance:none!important;appearance:none!important;
	transition:border-color .2s,background .2s,box-shadow .2s!important;
}
.nm-rez-root .nm-rez-field input::placeholder{color:var(--rz-txt-soft)!important;opacity:1!important;}
.nm-rez-root .nm-rez-field input:focus{
	border-color:var(--rz-brand)!important;background:rgba(255,255,255,.08)!important;color:var(--rz-txt)!important;
	box-shadow:0 0 0 3px color-mix(in srgb,var(--rz-brand) 20%,transparent)!important;
}
/* neutralise the browser autofill white/blue box that also makes inputs look cheap */
.nm-rez-root .nm-rez-field input:-webkit-autofill,
.nm-rez-root .nm-rez-field input:-webkit-autofill:hover,
.nm-rez-root .nm-rez-field input:-webkit-autofill:focus{
	-webkit-text-fill-color:var(--rz-txt)!important;
	-webkit-box-shadow:0 0 0 1000px #1c1610 inset!important;
	caret-color:var(--rz-txt)!important;transition:background-color 9999s ease-out 0s!important;
}
.nm-rez-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none;}

.nm-rez-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--rz-txt-soft);line-height:1.45;padding:4px 6px 2px;cursor:pointer;}
.nm-rez-consent input{margin-top:2px;accent-color:var(--rz-brand);flex:0 0 auto;}

.nm-rez-error{color:#ff9a8a;font-size:13px;margin:2px 6px 0;text-align:center;}

.nm-rez-submit{
	position:relative;margin-top:8px;border:0;border-radius:999px;cursor:pointer;
	background:var(--rz-brand);color:#fff;font-family:var(--rz-font);
	font-weight:900;text-transform:uppercase;letter-spacing:.5px;font-size:15.5px;
	padding:18px 24px;
	box-shadow:0 10px 26px -12px rgba(0,0,0,.5);
	transition:transform .3s cubic-bezier(.16,1,.3,1),filter .2s;
	overflow:hidden;
}
.nm-rez-submit:hover{transform:translateY(-2px);filter:brightness(1.08);}
.nm-rez-submit:active{transform:translateY(0);}
.nm-rez-submit[disabled]{filter:saturate(.55) opacity(.85);cursor:default;transform:none;}
.nm-rez-submit__t{transition:opacity .2s;}
.nm-rez-spinner{
	position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;
	border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;
	opacity:0;animation:nm-rez-spin .7s linear infinite;
}
.nm-rez-root.is-loading .nm-rez-submit__t{opacity:0;}
.nm-rez-root.is-loading .nm-rez-spinner{opacity:1;}
@keyframes nm-rez-spin{to{transform:rotate(360deg);}}

.nm-rez-help{margin:22px 0 2px;text-align:center;font-size:13px;color:var(--rz-txt-soft);}
.nm-rez-help a{color:var(--rz-brand)!important;font-weight:800;text-decoration:none!important;font-size:17px;display:inline-block;margin-left:8px;}

/* ---------------- Thank-you ---------------- */
.nm-rez-view--ty{text-align:center;padding:8px 6px 4px;}
.nm-rez-check{position:relative;width:92px;height:92px;margin:8px auto 26px;}
.nm-rez-check svg{position:relative;width:92px;height:92px;}
.nm-rez-check__pulse{
	position:absolute;inset:0;border-radius:50%;
	background:radial-gradient(circle,color-mix(in srgb,var(--rz-brand) 40%,transparent) 0%,transparent 62%);
	transform:scale(.4);opacity:0;animation:nm-rez-pulse 1.3s .15s ease-out forwards;
}
@keyframes nm-rez-pulse{0%{transform:scale(.4);opacity:.9;}70%{opacity:.25;}100%{transform:scale(1.7);opacity:0;}}
.nm-rez-check__c{stroke:var(--rz-brand);stroke-width:2.5;stroke-dasharray:151;stroke-dashoffset:151;animation:nm-rez-c .7s .1s cubic-bezier(.65,0,.45,1) forwards;}
.nm-rez-check__m{stroke:var(--rz-brand);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:nm-rez-m .4s .7s cubic-bezier(.65,0,.45,1) forwards;}
@keyframes nm-rez-c{to{stroke-dashoffset:0;}}
@keyframes nm-rez-m{to{stroke-dashoffset:0;}}

/* staggered reveal of each thank-you block */
.nm-rez-stagger{opacity:0;transform:translateY(16px);animation:nm-rez-up .6s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.5s + var(--i,0)*.12s);}
@keyframes nm-rez-up{to{opacity:1;transform:none;}}

.nm-rez-ty-title{font-size:clamp(20px,3.4vw,24px);font-weight:800;line-height:1.24;margin:0 0 12px;color:var(--rz-txt);}
.nm-rez-ty-text{font-size:14.5px;line-height:1.6;color:var(--rz-txt-soft);margin:0 auto 24px;max-width:440px;}
.nm-rez-ty-img{width:100%;border-radius:20px;overflow:hidden;margin:0 0 26px;aspect-ratio:16/9;background:rgba(255,255,255,.05);}
.nm-rez-ty-img img{width:100%;height:100%;object-fit:cover;display:block;}

.nm-rez-ty-call{
	display:flex;flex-direction:column;gap:5px;margin:0 0 28px;padding:20px 16px;
	border-radius:20px;border:1px solid var(--rz-glass-brd);background:rgba(255,255,255,.035);
}
.nm-rez-ty-call__l{font-size:13px;color:var(--rz-txt-soft);letter-spacing:.2px;}
.nm-rez-ty-call__p{font-size:29px;font-weight:900;color:var(--rz-brand)!important;text-decoration:none!important;letter-spacing:.6px;}

.nm-rez-ty-info{display:flex;flex-direction:column;gap:18px;margin:0 0 26px;text-align:left;}
.nm-rez-ty-block{border:1px solid var(--rz-glass-brd);border-radius:20px;padding:18px 20px;background:rgba(255,255,255,.03);}
.nm-rez-ty-head{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--rz-txt);margin-bottom:12px;}
.nm-rez-ty-hours{list-style:none;margin:0;padding:0;}
.nm-rez-ty-hours li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13.5px;}
.nm-rez-ty-hours li:last-child{border-bottom:0;}
.nm-rez-ty-hours .d{color:var(--rz-txt-soft);}
.nm-rez-ty-hours .t{color:var(--rz-txt);font-weight:600;font-variant-numeric:tabular-nums;}
.nm-rez-ty-hours li.is-closed .t{color:var(--rz-txt-soft);font-weight:500;}

.nm-rez-ty-contact{display:flex;flex-direction:column;gap:12px;}
.nm-rez-ty-line{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--rz-txt)!important;text-decoration:none!important;padding:6px 2px;transition:color .2s;}
.nm-rez-ty-line:hover{color:var(--rz-brand)!important;}
.nm-rez-ty-ico{display:inline-flex;width:20px;height:20px;color:var(--rz-brand);flex:0 0 auto;}
.nm-rez-ty-ico svg{width:20px;height:20px;}

.nm-rez-ty-close{
	border:1px solid var(--rz-glass-brd);background:var(--rz-glass);color:var(--rz-txt);
	border-radius:999px;padding:13px 34px;font-family:var(--rz-font);font-weight:700;font-size:14px;cursor:pointer;
	transition:background .2s,transform .25s;
}
.nm-rez-ty-close:hover{background:rgba(255,255,255,.1);transform:translateY(-1px);}

/* ---------------- Mobile refinements ---------------- */
@media(max-width:600px){
	.nm-rez-panel{padding:32px 18px 24px;border-radius:24px;}
	/* centered + bigger heading, clear of the X */
	.nm-rez-title{text-align:center!important;font-size:clamp(21px,6vw,28px)!important;margin:2px 0 6px!important;padding:0 34px!important;line-height:1.16!important;}
	.nm-rez-subtop{font-size:13px!important;margin:0 0 14px!important;padding:0 22px!important;}
	/* submit: less height, fits on one line */
	.nm-rez-root .nm-rez-submit{padding:15px 16px!important;font-size:14.5px!important;letter-spacing:.2px!important;margin-top:4px!important;}
	.nm-rez-help{margin-top:16px;}

	/* thank-you: compact, simpler opening-hours block (way less height) */
	.nm-rez-view--ty{padding:6px 2px 2px;}
	.nm-rez-check{width:64px;height:64px;margin:4px auto 16px;}
	.nm-rez-check svg{width:64px;height:64px;}
	.nm-rez-ty-title{font-size:clamp(18px,4.6vw,21px);margin-bottom:8px;}
	.nm-rez-ty-text{font-size:13.5px;margin-bottom:16px;}
	.nm-rez-ty-call{padding:13px 14px;margin-bottom:16px;gap:2px;}
	.nm-rez-ty-call__p{font-size:23px;}
	.nm-rez-ty-info{gap:12px;margin-bottom:18px;}
	.nm-rez-ty-block{padding:11px 13px;border-radius:14px;}
	.nm-rez-ty-head{margin-bottom:6px;font-size:12.5px;gap:8px;}
	.nm-rez-ty-head .nm-rez-ty-ico{width:15px;height:15px;}
	.nm-rez-ty-head .nm-rez-ty-ico svg{width:15px;height:15px;}
	.nm-rez-ty-hours li{padding:3px 0;font-size:11.5px;}
	.nm-rez-ty-contact{gap:8px;}
	.nm-rez-ty-line{font-size:12.5px;padding:3px 2px;gap:9px;}
	.nm-rez-ty-close{padding:11px 26px;font-size:13px;}
}

/* ---------------- Theme-proof forcing (beats Avada/Fusion) ---------------- */
.nm-rez-panel,.nm-rez-panel *{font-family:var(--rz-font)!important;box-sizing:border-box!important;}
.nm-rez-root .nm-rez-title{color:var(--rz-txt)!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.5px!important;}
.nm-rez-root .nm-rez-subtop{color:var(--rz-txt-soft)!important;text-align:center!important;}
.nm-rez-root .nm-rez-subtop,.nm-rez-root .nm-rez-intro{color:var(--rz-txt-soft)!important;}
.nm-rez-root .nm-rez-boxhint{color:var(--rz-brand)!important;}
.nm-rez-root .nm-rez-box__name{color:var(--rz-txt)!important;text-transform:none!important;}
.nm-rez-root .nm-rez-box.is-selected .nm-rez-box__name{color:var(--rz-brand)!important;}
.nm-rez-root .nm-rez-sizes-title{color:var(--rz-txt)!important;}
.nm-rez-root .nm-rez-size__label{color:var(--rz-txt)!important;text-transform:none!important;}
.nm-rez-root .nm-rez-size.is-selected .nm-rez-size__label{color:var(--rz-brand)!important;}
.nm-rez-root .nm-rez-sizes--segment .nm-rez-size.is-selected .nm-rez-size__label{color:#fff!important;}
.nm-rez-root .nm-rez-sizehint{color:var(--rz-brand)!important;}
.nm-rez-root .nm-rez-submit{background:var(--rz-brand)!important;color:#fff!important;border:0!important;text-transform:uppercase!important;text-decoration:none!important;}
.nm-rez-root .nm-rez-btn,.nm-rez-root .nm-rez-fab{background:var(--rz-btn)!important;color:var(--rz-ink)!important;border:0!important;text-decoration:none!important;}
.nm-rez-root .nm-rez-consent{color:var(--rz-txt-soft)!important;}
.nm-rez-root .nm-rez-help,.nm-rez-root .nm-rez-ty-text,.nm-rez-root .nm-rez-ty-call__l{color:var(--rz-txt-soft)!important;}
.nm-rez-root .nm-rez-ty-title{color:var(--rz-txt)!important;}
.nm-rez-root .nm-rez-help a,.nm-rez-root .nm-rez-ty-call__p{color:var(--rz-brand)!important;text-decoration:none!important;}

/* ---------------- Reduced motion ---------------- */
@media(prefers-reduced-motion:reduce){
	.nm-rez-panel,.nm-rez-overlay,.nm-rez-box,.nm-rez-box__circle,.nm-rez-fab,.nm-rez-btn,.nm-rez-submit,.nm-rez-box__ico,.nm-rez-box__check,.nm-rez-box__ring,.nm-rez-stagger,.nm-rez-size,.nm-rez-size__ico,.nm-rez-sizes__glow{transition:none!important;animation:none!important;}
	.nm-rez-stagger{opacity:1!important;transform:none!important;}
	.nm-rez-check__c,.nm-rez-check__m{animation:none!important;stroke-dashoffset:0!important;}
	.nm-rez-check__pulse{animation:none!important;opacity:0!important;}
	.nm-rez-fab{opacity:1!important;}
	.nm-rez-fab--anim{opacity:1!important;pointer-events:auto!important;transform:none!important;}
	.nm-rez-root.is-open .nm-rez-panel{transform:none;opacity:1;}
}
