/* Plus Jakarta Sans (variable) — локальні woff2, без Google CDN (політика проєкту).
   Дві підмножини: latin + latin-ext (latin-ext покриває польські ł ą ę ś ć ż ź ó ń). */
@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("fonts/jakarta-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("fonts/jakarta-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/**
 * Request a Quote — попап запиту ціни під дизайн PIUROPRINT.
 *
 * Плагінна розмітка попапа неперекривна (include_once замість locate_template),
 * тож перебиваємо її стилями. Специфічність місцями завищена свідомо: базовий
 * quote.css плагіна б'є по тих самих класах і вантажиться після теми.
 */

#nbdq-form-popup {
	--pp-quote-line: var(--pp-ui-line, #e2e8f0);
	--pp-quote-ink: var(--pp-text, #1a1a1a);
	--pp-quote-muted: var(--pp-ui-muted, #64748b);
	--pp-quote-orange: var(--pp-orange, #f97316);
	--pp-quote-orange-soft: var(--pp-ui-orange-soft, #fff4e9);
	font-family: var(--pp-font);
}

#nbdq-form-popup .overlay-popup {
	background: rgba(15, 23, 42, .72);
	backdrop-filter: blur(5px);
}

#nbdq-form-popup .main-popup {
	max-width: 560px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: var(--pp-card-radius, 16px);
	background: var(--pp-ui-surface, #fff);
	box-shadow: 0 28px 80px rgba(15, 23, 42, .3);
}

/* --- Шапка ------------------------------------------------------------- */

#nbdq-form-popup .nbdq-popup-head {
	/* Праворуч лишаємо місце під хрестик — інакше підзаголовок лізе під нього. */
	padding: 18px 52px 18px 20px;
	border-bottom: 1px solid var(--pp-quote-line);
	background: linear-gradient(180deg, var(--pp-quote-orange-soft), #fff);
}

#nbdq-form-popup .nbdq-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	color: var(--pp-quote-ink);
}

.pp-quote-head__icon {
	display: inline-grid;
	width: 40px;
	height: 40px;
	flex: 0 0 auto;
	border-radius: 11px;
	background: var(--pp-quote-orange);
	color: #fff;
	place-items: center;
}

.pp-quote-head__icon svg { width: 21px; height: 21px; }

.pp-quote-head__text { display: grid; gap: 2px; min-width: 0; }
.pp-quote-head__text b { font-size: var(--pp-fs-2xl, 18px); font-weight: 800; line-height: 1.2; }
.pp-quote-head__text i {
	color: var(--pp-quote-muted);
	font-size: var(--pp-fs-xs, 12px);
	font-style: normal;
	font-weight: 500;
}

#nbdq-form-popup .close-popup { top: 20px; right: 18px; color: var(--pp-quote-muted); }
#nbdq-form-popup .close-popup:hover { color: var(--pp-quote-ink); }

#nbdq-form-popup .nbdq-popup-body { padding: 20px; }

/* --- Поля -------------------------------------------------------------- */

.pp-quote-form .form-row { margin: 0 0 14px; padding: 0; }
.pp-quote-form label {
	display: block;
	margin-bottom: 6px;
	color: var(--pp-quote-ink);
	font-size: var(--pp-fs-sm, 13px);
	font-weight: 700;
}
.pp-quote-form label .optional { color: var(--pp-quote-muted); font-weight: 500; }
.pp-quote-form label .required,
.pp-quote-form label abbr.required { border: 0; color: var(--pp-quote-orange); text-decoration: none; }

.pp-quote-input { position: relative; display: block; }

.pp-quote-input__icon {
	position: absolute;
	top: 14px;
	left: 13px;
	display: inline-grid;
	color: var(--pp-quote-muted);
	place-items: center;
	pointer-events: none;
}
.pp-quote-input__icon svg { width: 18px; height: 18px; }

.pp-quote-form .pp-quote-input .input-text {
	width: 100%;
	min-height: var(--pp-control-height, 48px);
	padding: 12px 14px 12px 40px !important;
	border: 1px solid var(--pp-quote-line) !important;
	border-radius: var(--pp-control-radius, 10px) !important;
	/* Сірий спокій полів — той самий, що в кошику й чекауті теми (--pp-bg),
	   щоб форма запиту не виглядала чужою. Білим підсвічуємо активне поле. */
	background: var(--pp-bg, #f5f5f6) !important;
	color: var(--pp-quote-ink);
	font-family: inherit;
	font-size: var(--pp-fs-md, 14px);
	transition: border-color var(--pp-ui-transition, .18s ease), box-shadow var(--pp-ui-transition, .18s ease);
}
.pp-quote-form .pp-quote-input textarea.input-text { min-height: 104px; padding-top: 13px !important; resize: vertical; }
.pp-quote-form .pp-quote-input .input-text:focus {
	border-color: var(--pp-quote-orange) !important;
	background: var(--pp-ui-surface, #fff) !important;
	box-shadow: var(--pp-ui-focus, 0 0 0 3px rgba(249, 115, 22, .14));
	outline: none;
}
.pp-quote-form .pp-quote-input .input-text:focus + .pp-quote-input__icon,
.pp-quote-form .pp-quote-input:focus-within .pp-quote-input__icon { color: var(--pp-quote-orange); }

/* Дві колонки як у чекауті теми. */
.pp-quote-form .form-row-first,
.pp-quote-form .form-row-last { width: calc(50% - 6px); float: none; display: inline-block; vertical-align: top; }
.pp-quote-form .form-row-first { margin-right: 8px; }

/* --- Спосіб контакту --------------------------------------------------- */

.pp-quote-methods__label { margin-bottom: 8px; }

.pp-quote-methods__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.pp-quote-method { display: block; margin: 0; cursor: pointer; }
.pp-quote-method__input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	clip: rect(0 0 0 0);
	overflow: hidden;
}

.pp-quote-method__chip {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 8px;
	border: 1px solid var(--pp-quote-line);
	border-radius: var(--pp-control-radius, 10px);
	background: var(--pp-ui-surface, #fff);
	color: var(--pp-quote-muted);
	font-size: var(--pp-fs-sm, 13px);
	font-weight: 700;
	text-align: center;
	transition: border-color var(--pp-ui-transition, .18s ease), background var(--pp-ui-transition, .18s ease), color var(--pp-ui-transition, .18s ease);
}
.pp-quote-method__chip svg { width: 17px; height: 17px; }

.pp-quote-method:hover .pp-quote-method__chip { border-color: var(--pp-quote-orange); color: var(--pp-quote-ink); }

.pp-quote-method__input:checked + .pp-quote-method__chip {
	border-color: var(--pp-quote-orange);
	background: var(--pp-quote-orange-soft);
	color: var(--pp-quote-orange);
	box-shadow: 0 0 0 2px rgba(249, 115, 22, .12);
}

.pp-quote-method__input:focus-visible + .pp-quote-method__chip {
	box-shadow: var(--pp-ui-focus, 0 0 0 3px rgba(249, 115, 22, .14));
}

.pp-quote-methods__hint {
	display: block;
	margin-top: 6px;
	color: var(--pp-quote-muted);
	font-size: var(--pp-fs-xs, 12px);
}

/* --- Помилки ----------------------------------------------------------- */

.pp-quote-error,
.pp-quote-form .nbdq_error {
	display: block;
	margin-top: 5px;
	color: #d92d20;
	font-size: var(--pp-fs-xs, 12px);
	font-weight: 600;
}

.pp-quote-row--invalid .input-text { border-color: #d92d20 !important; }
.pp-quote-row--invalid .pp-quote-input__icon { color: #d92d20; }
.pp-quote-row--invalid .pp-quote-method__chip { border-color: #f3b1ab; }

#nbdq-form-popup .woocommerce-error,
#nbdq-form-popup .woocommerce-message {
	margin: 0 0 14px;
	padding: 11px 13px;
	border: 1px solid #f3b1ab;
	border-radius: var(--pp-control-radius, 10px);
	background: #fef3f2;
	color: #b42318;
	font-size: var(--pp-fs-sm, 13px);
	list-style: none;
}

/* --- Кнопка ------------------------------------------------------------ */

.pp-quote-actions {
	display: grid;
	gap: 8px;
	margin: 4px 0 0;
	text-align: center;
}

#nbdq-form-popup .pp-quote-submit {
	width: 100%;
	margin-top: 4px;
}
#nbdq-form-popup .pp-quote-submit.nbdq-disabled { opacity: .55; cursor: not-allowed; }

.pp-quote-note { color: var(--pp-quote-muted); font-size: var(--pp-fs-xs, 12px); }

/* --- Адаптив ----------------------------------------------------------- */

@media (max-width: 680px) {
	/* Плагін центрує попап інлайновим left, порахованим під свою фіксовану
	   ширину 525px — на телефоні це виносить картку за екран у мінус. Ширину і
	   зсув задаємо самі; !important тут єдиний спосіб перебити інлайн-стиль. */
	#nbdq-form-popup .main-popup {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		left: 12px !important;
	}
	#nbdq-form-popup .nbdq-popup-body { padding: 16px; }
	.pp-quote-form .form-row-first,
	.pp-quote-form .form-row-last { width: 100%; margin-right: 0; }
	.pp-quote-methods__list { grid-template-columns: 1fr; }
	.pp-quote-method__chip { justify-content: flex-start; }
}

/* Scoped PIUROPRINT design tokens; the WAY26 storefront keeps its own theme. */
#nbdq-form-popup, #nbdq-alert-popup, .nbdq-add-a-quote {
  --pp-font:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --pp-orange:#f97316; --pp-orange-hover:#ea580c; --pp-orange-light:#fff7ed;
  --pp-bg:#f8fafc; --pp-text:#111827; --pp-ui-line:#e5e7eb;
  --pp-ui-muted:#64748b; --pp-ui-surface:#fff; --pp-ui-orange-soft:#fff4e9;
  --pp-control-height:48px; --pp-control-radius:10px; --pp-card-radius:16px;
  --pp-fs-xs:12px; --pp-fs-sm:13px; --pp-fs-md:14px; --pp-fs-2xl:18px;
  font-family:var(--pp-font);font-size:16px;line-height:1.6;
}
#nbdq-form-popup *,#nbdq-form-popup *::before,#nbdq-form-popup *::after {box-sizing:border-box;}
#nbdq-form-popup .main-popup {width:525px;max-width:calc(100vw - 24px);}
#nbdq-form-popup .nbdq-popup-body {line-height:1.6;}
#nbdq-form-popup .pp-quote-submit {
  display:inline-flex;min-height:48px;align-items:center;justify-content:center;
  padding:0 22px;border:1px solid #f97316;border-radius:10px;
  background:#f97316;color:#fff;font-family:var(--pp-font);font-size:15px;font-weight:800;
  line-height:1.1;letter-spacing:0;text-transform:none;box-shadow:none;
}
#nbdq-form-popup .pp-quote-submit:hover {background:#ea580c;border-color:#ea580c;}
#nbdq-form-popup .nbdq-head .pp-quote-head__text {text-transform:none;letter-spacing:0;}
#nbdq-form-popup .nbdq-popup-body label {text-transform:none;letter-spacing:0;}
#nbdq-form-popup .pp-quote-form .form-row {margin:0 0 6px;padding:3px;}
#nbdq-form-popup .pp-quote-form .form-row-first {margin-right:0;}
#nbdq-form-popup .pp-quote-form label {line-height:2;}
#nbdq-form-popup .pp-quote-head__text i {line-height:1.6;}
#nbdq-form-popup .pp-quote-actions {display:block;text-align:center;}
#nbdq-form-popup .pp-quote-note {display:inline;}
#nbdq-form-popup .nbdq-website-field {display:none;}
#nbdq-form-popup,#nbdq-alert-popup {position:fixed!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden;z-index:999999;}
#nbdq-form-popup.nb-show,#nbdq-alert-popup.nb-show {display:flex;align-items:center;justify-content:center;}
#nbdq-form-popup,#nbdq-alert-popup {transition:opacity .15s;}
#nbdq-form-popup .overlay-popup,#nbdq-alert-popup .overlay-popup {position:absolute;inset:0;width:100%;height:100%;}
#nbdq-form-popup .main-popup,#nbdq-alert-popup .main-popup {
 position:relative!important;top:auto!important;left:auto!important;margin:16px!important;
 max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);transform:none!important;
 display:flex;flex-direction:column;transition:none!important;
}
#nbdq-form-popup .nbdq-popup-head {flex:none;padding:22px 58px 22px 24px;}
#nbdq-form-popup .nbdq-head {border:0!important;}
#nbdq-form-popup .nbdq-head::before,#nbdq-form-popup .nbdq-head::after {display:none;}
#nbdq-form-popup .nbdq-popup-body {overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:20px 24px 24px;}
#nbdq-form-popup .close-popup {display:grid;place-items:center;width:36px;height:36px;top:14px;right:14px;border-radius:8px;}
#nbdq-form-popup .close-popup:hover {background:#fff0e2;}
#nbdq-form-popup .close-popup:focus-visible {outline:2px solid #f97316;outline-offset:2px;}
#nbdq-form-popup .pp-quote-form .form-row {display:block;width:100%;float:none;padding:0;margin:0 0 16px;}
#nbdq-form-popup .pp-quote-form label {margin:0 0 7px;line-height:1.5;}
#nbdq-form-popup .pp-quote-input .input-text {font-size:16px;}
#nbdq-form-popup .pp-quote-input textarea.input-text {min-height:88px;}
#nbdq-alert-popup .w26-contact-icons {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0;}
#nbdq-alert-popup .w26-contact-icon {display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 6px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#64748b;font-size:13px;font-weight:700;line-height:1.4;}
#nbdq-alert-popup .w26-contact-icon>span {display:flex;color:#f97316;}
#nbdq-alert-popup .w26-contact-icon svg {width:18px;height:18px;}
#nbdq-alert-popup .main-popup {width:525px;max-width:calc(100vw - 32px);border-radius:16px;overflow:hidden;}
#nbdq-alert-popup *,#nbdq-alert-popup *::before,#nbdq-alert-popup *::after {box-sizing:border-box;}
#nbdq-alert-popup .overlay-popup {background:rgba(15,23,42,.72);backdrop-filter:blur(5px);}
#nbdq-alert-popup .nbd-alert-head {flex:none;background:linear-gradient(180deg,#fff4e9,#fff);padding:24px 58px 24px 24px;border-bottom:1px solid #e5e7eb;text-align:left;}
#nbdq-alert-popup .nbd-alert-head h3 {margin:0;padding:0;border:0;font:800 20px/1.4 var(--pp-font);color:#111827;letter-spacing:0;text-transform:none;}
#nbdq-alert-popup .nbd-alert-head h3::before,#nbdq-alert-popup .nbd-alert-head h3::after {display:none;}
#nbdq-alert-popup .close-popup {display:grid;place-items:center;top:16px;right:16px;width:36px;height:36px;border-radius:8px;color:#64748b;}
#nbdq-alert-popup .nbd-alert-body {overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:24px;text-align:left;color:#64748b;font-size:15px;line-height:1.7;}
#nbdq-alert-popup .nbd-alert-wrapper>p {margin:0;}
#nbdq-alert-popup .nbd-alert-action {display:flex;flex-wrap:wrap;gap:10px;}
#nbdq-alert-popup .nbd-alert-action .button {display:flex;flex:1 1 130px;align-items:center;justify-content:center;min-height:46px;margin:0;padding:12px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#334155;font:700 14px/1.4 var(--pp-font);letter-spacing:0;text-transform:none;box-shadow:none;}
#nbdq-alert-popup .nbd-alert-action .w26-success-close {background:#f97316;border-color:#f97316;color:#fff;}
#nbdq-alert-popup .nbd-alert-action .w26-success-close:hover {background:#ea580c;border-color:#ea580c;}
#nbdq-form-popup .pp-quote-submit:disabled {opacity:.7;cursor:wait;}
#nbdq-form-popup .pp-quote-submit:focus-visible,#nbdq-alert-popup .button:focus-visible,#nbdq-alert-popup .close-popup:focus-visible {outline:2px solid #f97316;outline-offset:3px;}
#nbdq-form-popup .pp-quote-note {display:block;margin-top:10px;line-height:1.6;}
#nbdq-form-popup .pp-quote-form .pp-quote-actions {margin-bottom:0;}
.single-product .nbdq-add-a-quote {width:100%;clear:both;margin:10px 0 0;}
.single-product .nbdq-add-a-quote-button.button {
  display:flex;width:100%;min-height:60px;align-items:center;justify-content:center;gap:10px;
  margin:0;padding:0 24px;border:1px solid #f97316;border-radius:10px;background:transparent;color:#f97316;
  font:800 16px/1.1 var(--pp-font);letter-spacing:0;text-transform:none;float:none;
}
.single-product .nbdq-add-a-quote-button.button:hover {background:#fff7ed;color:#ea580c;border-color:#f97316;}
.single-product .nbdq-add-a-quote-button svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;flex:none;}
.single-product .w26-quote-actions {display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;align-items:stretch;}
.single-product .w26-quote-actions>.quantity {width:90px;margin:0;min-height:60px;}
.single-product .w26-quote-actions>.single_add_to_cart_button {width:100%;min-width:0;margin:0;min-height:60px;}
.single-product .w26-quote-actions>.nbdq-add-a-quote {display:flex;min-width:0;width:100%;margin:0;clear:none;}
.single-product .w26-quote-actions .nbdq-add-a-quote-button.button {height:100%;}
@media(max-width:680px) {
  #nbdq-form-popup .pp-quote-form .form-row-first,#nbdq-form-popup .pp-quote-form .form-row-last {width:100%;margin-right:0;}
  .single-product .w26-quote-actions {grid-template-columns:72px minmax(0,1fr);}
  .single-product .w26-quote-actions>.quantity {width:72px;}
  .single-product .w26-quote-actions>.nbdq-add-a-quote {grid-column:1 / -1;}
}
