/* Fragrance Quotes & Members — inherits fonts, colours and (Elementor / theme) button styles. */
.fqm { --fqm-accent: currentColor; --fqm-radius: 4px; --fqm-line: color-mix(in srgb, currentColor 22%, transparent); font: inherit; color: inherit; max-width: 640px; margin: 0 auto; box-sizing: border-box; }
.fqm *, .fqm *::before, .fqm *::after { box-sizing: border-box; }
.fqm .fqm-title { margin: 0 0 1em; }
.fqm .fqm-field { margin: 0 0 1.1em; }
.fqm .fqm-field label { display: block; margin-bottom: .35em; font-size: .9em; opacity: .85; }
.fqm .fqm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1em; }
@media (max-width: 600px) { .fqm .fqm-row { grid-template-columns: 1fr; } }
.fqm input[type=text], .fqm input[type=email], .fqm input[type=tel], .fqm input[type=number], .fqm textarea {
	width: 100%; font: inherit; color: inherit; background: transparent; border: 1px solid var(--fqm-line); border-radius: var(--fqm-radius);
	padding: .75em .9em; line-height: 1.4; margin: 0; box-shadow: none; height: auto;
}
.fqm input[readonly] { opacity: .8; }
.fqm input:focus, .fqm textarea:focus { outline: 2px solid var(--fqm-accent); outline-offset: 1px; border-color: transparent; }
.fqm .fqm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fqm .fqm-error { color: #b32d2e; margin: 0 0 1em; }
.fqm .fqm-error[hidden], .fqm [hidden] { display: none !important; }
.fqm .fqm-done { text-align: center; padding: 1.5em 0; }
.fqm .fqm-done-ref { opacity: .6; font-size: .9em; }
/* Fallback button look: zero specificity so the theme / Elementor kit always wins. */
:where(.fqm-btn) { display: inline-block; cursor: pointer; font: inherit; padding: .85em 1.8em; border: 1px solid currentColor; background: transparent; color: inherit; text-decoration: none; line-height: 1.2; border-radius: var(--fqm-radius, 4px); }
.fqm-btn.fqm-dark, .fqm .fqm-btn.fqm-dark { background: #111; color: #fff; border-color: #111; }
.fqm-btn[disabled] { opacity: .6; cursor: default; }
/* Member area */
.fqm-member-card { border: 1px solid var(--fqm-line); border-radius: var(--fqm-radius); padding: 1.4em 1.6em; }
.fqm-member-card dl { display: grid; grid-template-columns: max-content 1fr; gap: .4em 1.4em; margin: 1em 0; }
.fqm-member-card dt { opacity: .65; } .fqm-member-card dd { margin: 0; }
.fqm-badge { display: inline-block; padding: .2em .7em; border: 1px solid var(--fqm-accent); border-radius: 99px; font-size: .85em; }
.fqm-locked-note { border: 1px dashed var(--fqm-line); padding: 1.2em 1.4em; border-radius: var(--fqm-radius); text-align: center; }
.fqm-login form p { margin: 0 0 1em; } .fqm-login label { display: block; } .fqm-login input[type=text], .fqm-login input[type=password] { width: 100%; font: inherit; padding: .7em .9em; border: 1px solid var(--fqm-line); background: transparent; color: inherit; border-radius: var(--fqm-radius); }
