/**
 * MedQR front-end styles.
 * Scoped under .medqr-wrap so it never fights the host theme (Astra/Elementor).
 * Brand + ink colours come from CSS variables injected per-site.
 */

.medqr-wrap{
	--medqr-brand:#0E9F8E;
	--medqr-ink:#0C2436;
	--medqr-critical:#E5342A;
	--medqr-mist:#F4F8F9;
	--medqr-line:#DCE6EA;
	--medqr-muted:#5A6B75;
	--medqr-radius:16px;
	max-width:860px;margin:0 auto;
	font-family:inherit;color:var(--medqr-ink);
}
.medqr-wrap *{box-sizing:border-box}
.medqr-wrap-narrow{max-width:460px}

.medqr-card{
	background:#fff;border:1px solid var(--medqr-line);
	border-radius:var(--medqr-radius);padding:26px;
	box-shadow:0 18px 40px -28px rgba(12,36,54,.35);
}
.medqr-form-card{padding:28px 30px}

.medqr-form-head{margin-bottom:20px}
.medqr-eyebrow{
	display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;
	text-transform:uppercase;color:var(--medqr-brand);margin-bottom:8px;
}
.medqr-form-head h2{font-size:25px;font-weight:800;margin:0 0 6px;letter-spacing:-.01em;color:var(--medqr-ink)}
.medqr-muted{color:var(--medqr-muted);font-size:14px}
.medqr-inline{font-weight:500;text-transform:none;letter-spacing:0}

.medqr-section-label{
	font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
	color:var(--medqr-ink);margin:26px 0 12px;padding-bottom:8px;
	border-bottom:1px solid var(--medqr-line);display:flex;align-items:baseline;gap:8px;
}

.medqr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}
.medqr-field{margin:0;display:flex;flex-direction:column}
.medqr-field-wide{grid-column:1 / -1}
.medqr-field label{font-size:13px;font-weight:600;margin-bottom:6px;color:var(--medqr-ink)}
.medqr-req{color:var(--medqr-critical);font-weight:700}

.medqr-wrap input[type=text],
.medqr-wrap input[type=email],
.medqr-wrap input[type=tel],
.medqr-wrap input[type=password],
.medqr-wrap input[type=date],
.medqr-wrap select,
.medqr-wrap textarea{
	width:100%;font:inherit;font-size:15px;color:var(--medqr-ink);
	background:#fff;border:1.5px solid var(--medqr-line);border-radius:11px;
	padding:11px 13px;transition:border-color .15s,box-shadow .15s;
}
.medqr-wrap textarea{resize:vertical;min-height:44px}
.medqr-wrap input:focus,.medqr-wrap select:focus,.medqr-wrap textarea:focus{
	outline:none;border-color:var(--medqr-brand);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--medqr-brand) 22%,transparent);
}
.medqr-field-critical label{color:var(--medqr-critical)}
.medqr-field-critical input:focus,.medqr-field-critical textarea:focus{
	border-color:var(--medqr-critical);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--medqr-critical) 18%,transparent);
}
.medqr-wrap input[type=color]{width:54px;height:40px;padding:3px;border-radius:10px;cursor:pointer}

/* Contacts repeater */
.medqr-contact-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center}
.medqr-contact-template{display:none}
.medqr-contacts .medqr-contact-row.is-visible,
.medqr-contacts .medqr-contact-row:not(.medqr-contact-template){display:grid}
.medqr-remove-contact{
	width:36px;height:36px;border:1.5px solid var(--medqr-line);background:#fff;border-radius:10px;
	color:var(--medqr-muted);font-size:20px;line-height:1;cursor:pointer;transition:.15s;
}
.medqr-remove-contact:hover{border-color:var(--medqr-critical);color:var(--medqr-critical)}

/* Buttons */
.medqr-btn{
	appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:15px;
	background:var(--medqr-brand);color:#fff;padding:13px 24px;border-radius:11px;
	transition:transform .12s,filter .15s;box-shadow:0 12px 24px -14px color-mix(in srgb,var(--medqr-brand) 90%,#000);
}
.medqr-btn:hover{filter:brightness(1.06)}
.medqr-btn:active{transform:translateY(1px)}
.medqr-btn-ghost{
	appearance:none;cursor:pointer;font:inherit;font-weight:600;font-size:14px;
	background:transparent;color:var(--medqr-ink);padding:10px 16px;border-radius:10px;
	border:1.5px solid var(--medqr-line);transition:.15s;text-decoration:none;display:inline-block;
}
.medqr-btn-ghost:hover{border-color:var(--medqr-brand);color:var(--medqr-brand)}
.medqr-add-contact{margin-top:2px}

.medqr-actions{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.medqr-consent{flex:1;min-width:200px;margin:0}
.medqr-alt{margin-top:16px;font-size:14px;color:var(--medqr-muted)}
.medqr-alt a{color:var(--medqr-brand);font-weight:600;text-decoration:none}
.medqr-inline-check label{flex-direction:row;font-weight:500;display:flex;gap:8px;align-items:center}

/* Alerts */
.medqr-alert{border-radius:12px;padding:13px 16px;margin-bottom:18px;font-size:14px;line-height:1.5}
.medqr-alert ul{margin:0;padding-left:18px}
.medqr-alert-error{background:#FDECEA;border:1px solid #F6C9C4;color:#8f231b}
.medqr-alert-ok{background:#E7F6F1;border:1px solid #BCE6DA;color:#0a6a58}

/* Honeypot */
.medqr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Resend verification */
.medqr-resend{margin-top:18px;padding-top:16px;border-top:1px solid var(--medqr-line)}
.medqr-resend .medqr-muted{margin-bottom:8px}
.medqr-resend-row{display:flex;gap:8px}
.medqr-resend-row input{flex:1}

/* Dashboard */
.medqr-dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.medqr-dash-head h2{font-size:26px;font-weight:800;margin:0}
.medqr-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--medqr-line);border-radius:14px;padding:6px;margin-bottom:18px}
.medqr-tab{
	flex:1;appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-weight:600;font-size:14px;
	color:var(--medqr-muted);padding:11px;border-radius:10px;transition:.15s;
}
.medqr-tab.is-active{background:var(--medqr-ink);color:#fff}
.medqr-panel{display:none}
.medqr-panel.is-active{display:block;animation:medqr-fade .2s ease}
@keyframes medqr-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* QR studio */
.medqr-qr-studio{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}
.medqr-qr-preview-card{text-align:center;position:sticky;top:20px}
.medqr-qr-canvas{
	display:flex;align-items:center;justify-content:center;
	background:var(--medqr-mist);border-radius:14px;padding:16px;min-height:260px;
}
.medqr-qr-canvas svg,.medqr-qr-canvas canvas{max-width:100%;height:auto}
.medqr-qr-downloads{display:flex;gap:10px;margin-top:16px;justify-content:center}
.medqr-studio-title{font-size:18px;font-weight:800;margin:0 0 16px}

/* Share */
.medqr-copy-row{display:flex;gap:8px;margin:14px 0}
.medqr-copy-input{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.medqr-tip{margin-top:20px;background:var(--medqr-mist);border-radius:12px;padding:16px 18px}
.medqr-tip strong{display:block;margin-bottom:8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--medqr-brand)}
.medqr-tip ul{margin:0;padding-left:18px;color:var(--medqr-muted);font-size:14px;line-height:1.8}

/* Responsive */
@media (max-width:720px){
	.medqr-grid{grid-template-columns:1fr}
	.medqr-qr-studio{grid-template-columns:1fr}
	.medqr-qr-preview-card{position:static}
	.medqr-contact-row{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
	.medqr-contact-row .medqr-remove-contact{grid-column:2;justify-self:end}
}
