/* Rusznikarstwo ADDONS — front (nota, guziki, modal zapytania). Używa zmiennych motywu. */

.rza-licensed { margin: 20px 0; }

.rza-legal {
	border: 1px solid var(--color-border, #e5e0d8);
	background: color-mix(in oklab, var(--color-muted, #f4f1ea) 70%, transparent);
	padding: 16px 18px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--color-muted-foreground, #6b6459);
	margin-bottom: 18px;
}
.rza-legal strong { color: #dc2626; }

.rza-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.rza-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 15px 26px; font-size: 13px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .12em; cursor: pointer;
	border: 1px solid transparent; text-decoration: none; line-height: 1;
	transition: opacity .2s;
}
.rza-btn:hover { opacity: .9; }
.rza-btn-primary { flex: 1; min-width: 220px; background: var(--color-primary, #a9812e); color: var(--color-primary-foreground, #fff); }
.rza-btn-outline { border-color: var(--color-border, #ccc); color: var(--color-foreground, #222); background: transparent; }
.rza-btn-dark { background: #1f2430; color: #fff; }

.rza-availability { margin-top: 16px; font-size: 13px; color: var(--color-muted-foreground, #6b6459); }
.rza-availability a { color: var(--color-primary, #a9812e); text-decoration: none; }

/* Modal */
.rza-modal-overlay {
	position: fixed; inset: 0; z-index: 100000;
	background: rgba(0,0,0,.45);
	display: flex; align-items: flex-start; justify-content: center;
	padding: 5vh 16px; overflow: auto;
}
.rza-modal-overlay[hidden] { display: none; }
.rza-modal {
	position: relative; width: 100%; max-width: 640px;
	background: #fff; color: #222; padding: 32px 34px;
	box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.rza-modal-close {
	position: absolute; top: 18px; right: 18px;
	background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: #333;
}
.rza-modal-title {
	margin: 0 0 6px; font-size: 20px; font-weight: 600;
	border-bottom: 1px solid #eee; padding-bottom: 16px;
}
.rza-form label { display: block; margin-top: 16px; font-size: 15px; color: #333; }
.rza-form input[type=text], .rza-form input[type=email], .rza-form input[type=tel], .rza-form textarea {
	width: 100%; margin-top: 6px; padding: 11px 13px;
	border: 1px solid #ccc; font-size: 15px; box-sizing: border-box;
}
.rza-form input:focus, .rza-form textarea:focus { outline: none; border-color: var(--color-primary, #a9812e); }
.rza-req { color: #dc2626; }
.rza-note { font-size: 13px; color: #666; margin: 10px 0 0; }
.rza-hp { position: absolute !important; left: -9999px !important; }
.rza-form .rza-btn-dark { margin-top: 18px; }
.rza-msg { margin-top: 14px; padding: 12px 14px; font-size: 14px; }
.rza-msg.ok { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.rza-msg.err { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }

/* Badge'y na karcie (dokładane przez motyw) */
.rza-badge { display: inline-block; padding: 2px 8px; font-size: 10px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .1em; }
.rza-badge.used { background: #1f2430; color: #fff; }
.rza-badge.inquiry { border: 1px solid var(--color-primary, #a9812e); color: var(--color-primary, #a9812e); }

/* ── Zakładka „Specyfikacja" (tabela HTML wklejona przez klienta) ──────────── */
.rza-spec { max-width: 100%; overflow-x: auto; margin: 0 0 1rem; }
.rza-spec table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.5; margin: 0; }
.rza-spec caption { caption-side: top; text-align: left; font-weight: 600; margin-bottom: .6rem; }
.rza-spec th, .rza-spec td {
	padding: .7rem 1rem; text-align: left; vertical-align: top;
	border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}
.rza-spec th { background: color-mix(in srgb, currentColor 7%, transparent); font-weight: 600; }
.rza-spec tbody tr:nth-child(odd) td { background: color-mix(in srgb, currentColor 3.5%, transparent); }
.rza-spec table :is(td, th) > :first-child { margin-top: 0; }
.rza-spec table :is(td, th) > :last-child { margin-bottom: 0; }

/* „Zadzwoń i negocjuj cenę" (pod ceną: karta + strona produktu) */
.rza-negotiate { display:inline-flex; align-items:center; gap:8px; margin-top:12px;
	padding:9px 14px; border:1px solid var(--color-primary,#a9812e); color:var(--color-primary,#a9812e);
	font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.12em;
	text-decoration:none; line-height:1; transition:background-color .15s, color .15s; }
.rza-negotiate:hover { background:var(--color-primary,#a9812e); color:#fff; }
.rza-negotiate svg { width:15px; height:15px; flex-shrink:0; }
/* Na stronie produktu: zwykły link (telefonik + napis) pod ceną, bez ramki/tła. */
.rza-negotiate.single { display:flex; width:fit-content; clear:both; margin-top:12px; margin-bottom:20px;
	border:0; padding:0; background:none; font-size:13px; font-weight:600;
	letter-spacing:.02em; text-transform:none; }
.rza-negotiate.single:hover { background:none; color:var(--color-primary,#a9812e); text-decoration:underline; }
.rza-negotiate.single svg { width:16px; height:16px; }

/* Badge dostępności koncesji (2 opcje jak Łuska) */
.rza-badge.instock { background:#1c7c46; color:#fff; }
.rza-badge.ask { border:1px solid #c68a2e; color:#c68a2e; background:transparent; }

/* Linia dostępności koncesji (na stanie / zapytaj) */
.rza-avail { display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; font-size:14px; }
.rza-avail-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.rza-avail-in .rza-avail-dot { background:#1c7c46; }
.rza-avail-ask .rza-avail-dot { background:#c68a2e; }
.rza-var-actions { margin-top:14px; }
