/* ARD Prestige Club — authentication & landing styles.
   Consumes CSS variables injected from plugin settings (see Assets::css_variables). */

.ardpc-auth,
.ardpc-landing {
	font-family: var(--ardpc-font, "Inter", sans-serif);
	color: var(--ardpc-text, #0C1B33);
	box-sizing: border-box;
}

.ardpc-auth *,
.ardpc-landing * { box-sizing: border-box; }

/* Layout */
.ardpc-auth {
	display: flex;
	justify-content: center;
	padding: 48px 16px;
	background: var(--ardpc-main-bg, #F7F8FA);
	min-height: 60vh;
}

.ardpc-auth__card {
	width: 100%;
	max-width: 460px;
	background: var(--ardpc-card-bg, #fff);
	border: 1px solid var(--ardpc-border, #E7EAF0);
	border-radius: var(--ardpc-card-radius, 12px);
	box-shadow: 0 8px 30px rgba(16, 24, 40, 0.08);
	padding: 34px 30px;
}

.ardpc-auth--wide .ardpc-auth__card { max-width: 720px; }

.ardpc-auth__head { text-align: center; margin-bottom: 22px; }
.ardpc-auth__logo { max-height: 46px; width: auto; margin: 0 auto 14px; display: block; }
.ardpc-auth__brand {
	font-weight: 800; font-size: 20px; letter-spacing: 1px;
	color: var(--ardpc-sidebar, #082D49); margin-bottom: 12px;
}
.ardpc-auth__title { font-size: 22px; margin: 0 0 6px; color: var(--ardpc-sidebar, #082D49); }
.ardpc-auth__subtitle { margin: 0; color: var(--ardpc-muted, #667085); font-size: 14px; }

/* Form */
.ardpc-form { margin-top: 4px; }
.ardpc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.ardpc-field { display: flex; flex-direction: column; margin-bottom: 14px; }
.ardpc-grid .ardpc-field { margin-bottom: 0; }
.ardpc-field--third { grid-column: span 1; }
.ardpc-field--twothird { grid-column: span 1; }

.ardpc-field label { font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--ardpc-text, #0C1B33); }
.ardpc-field label span { color: #d92d20; }

.ardpc-field input,
.ardpc-field select {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--ardpc-border, #E7EAF0);
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	color: var(--ardpc-text, #0C1B33);
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ardpc-field input:focus,
.ardpc-field select:focus {
	outline: none;
	border-color: var(--ardpc-gold, #C8A977);
	box-shadow: 0 0 0 3px rgba(200, 169, 119, 0.18);
}

.ardpc-field-error { color: #d92d20; font-size: 12px; margin-top: 5px; display: block; }

/* Invalid field highlight (client-side validation) */
.ardpc-field input.ardpc-invalid,
.ardpc-field select.ardpc-invalid,
.ardpc-field textarea.ardpc-invalid {
	border-color: #d92d20;
	box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.14);
}
.ardpc-check input.ardpc-invalid { outline: 2px solid #d92d20; outline-offset: 2px; }

/* Intl phone input (country flags + number in one field) */
.ardpc-tel { position: relative; display: flex; align-items: stretch; border: 1px solid var(--ardpc-border, #E7EAF0); border-radius: 8px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.ardpc-tel:focus-within { border-color: var(--ardpc-gold, #C8A977); box-shadow: 0 0 0 3px rgba(200,169,119,.18); }
.ardpc-tel__country { display: flex; align-items: center; gap: 7px; border: 0; background: transparent; cursor: pointer; padding: 0 12px; border-right: 1px solid var(--ardpc-border, #E7EAF0); font: inherit; color: inherit; border-radius: 8px 0 0 8px; }
.ardpc-tel__country:hover { background: #f7f8fa; }
.ardpc-tel__flag { font-size: 18px; line-height: 1; }
.ardpc-tel__dial { font-weight: 600; font-size: 14px; }
.ardpc-tel__caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--ardpc-muted, #667085); margin-left: 2px; }
.ardpc-tel__input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 12px 14px; font: inherit; font-size: 14px; color: var(--ardpc-text, #0C1B33); border-radius: 0 8px 8px 0; }
.ardpc-tel__pop { position: absolute; top: calc(100% + 6px); left: 0; width: 320px; max-width: 100%; background: #fff; border: 1px solid var(--ardpc-border, #E7EAF0); border-radius: 12px; box-shadow: 0 16px 40px rgba(16,24,40,.16); z-index: 40; overflow: hidden; display: none; }
.ardpc-tel.is-open .ardpc-tel__pop { display: block; }
.ardpc-tel__search { width: 100%; border: 0; border-bottom: 1px solid var(--ardpc-border, #E7EAF0); padding: 12px 14px; font: inherit; font-size: 14px; outline: 0; }
.ardpc-tel__list { max-height: 240px; overflow: auto; margin: 0; padding: 6px; list-style: none; }
.ardpc-tel__opt { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; cursor: pointer; font-size: 14px; }
.ardpc-tel__opt:hover { background: #f2f4f7; }
.ardpc-tel__opt .ardpc-tel__n { flex: 1; }
.ardpc-tel__opt .ardpc-tel__d { color: var(--ardpc-muted, #667085); font-size: 13px; }
.ardpc-field--full { grid-column: 1 / -1; }

/* Password */
.ardpc-password { position: relative; display: flex; }
.ardpc-password input { padding-right: 62px; }
.ardpc-password__toggle {
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	border: 0; background: transparent; cursor: pointer;
	font-size: 12px; font-weight: 700; color: var(--ardpc-active-nav, #292774);
	padding: 6px 8px;
}

.ardpc-strength { height: 5px; border-radius: 4px; background: #eef0f4; margin-top: 8px; overflow: hidden; }
.ardpc-strength span { display: block; height: 100%; width: 0; background: #d92d20; transition: width .2s ease, background .2s ease; }
.ardpc-strength[data-level="2"] span { background: #f79009; }
.ardpc-strength[data-level="3"] span { background: #eab308; }
.ardpc-strength[data-level="4"] span { background: var(--ardpc-success, #12A150); }

.ardpc-hint { font-size: 12px; color: var(--ardpc-muted, #667085); margin-top: 6px; }

/* Consents */
.ardpc-consents { margin: 8px 0 18px; display: flex; flex-direction: column; gap: 10px; }
.ardpc-check { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; color: var(--ardpc-text); cursor: pointer; }
.ardpc-check input { margin-top: 3px; }
.ardpc-check em { color: #d92d20; font-style: normal; }
.ardpc-check a { color: var(--ardpc-active-nav, #292774); }
.ardpc-check--inline { align-items: center; }

.ardpc-row-between { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ardpc-link { color: var(--ardpc-active-nav, #292774); font-size: 13px; text-decoration: none; }
.ardpc-link:hover { text-decoration: underline; }

/* Buttons */
.ardpc-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; padding: 13px 20px; font-size: 15px; font-weight: 700;
	border-radius: 8px; border: 1px solid transparent; cursor: pointer;
	text-decoration: none; font-family: inherit; transition: filter .15s ease, background .15s ease;
}
.ardpc-btn--primary { background: var(--ardpc-gold, #C8A977); color: #fff; }
.ardpc-btn--primary:hover { filter: brightness(0.96); }
.ardpc-btn--secondary { background: var(--ardpc-sidebar, #082D49); color: #fff; }
.ardpc-btn--ghost { background: transparent; border-color: var(--ardpc-border, #E7EAF0); color: var(--ardpc-text); }
.ardpc-btn + .ardpc-btn { margin-top: 10px; }

.ardpc-auth__alt { text-align: center; margin: 16px 0 0; font-size: 14px; color: var(--ardpc-muted, #667085); }
.ardpc-auth__alt a { color: var(--ardpc-active-nav, #292774); font-weight: 600; text-decoration: none; }

/* Notices */
.ardpc-notice { padding: 12px 14px; border-radius: 8px; font-size: 14px; margin-bottom: 18px; }
.ardpc-notice--error { background: #fef3f2; color: #b42318; border: 1px solid #fecdca; }
.ardpc-notice--success { background: #ecfdf3; color: #067647; border: 1px solid #abefc6; }
.ardpc-notice--info { background: #eff8ff; color: #175cd3; border: 1px solid #b2ddff; }

/* Status */
.ardpc-status { text-align: center; }
.ardpc-status p { color: var(--ardpc-text); font-size: 15px; }
.ardpc-form--inline { margin-top: 14px; text-align: left; }

/* Honeypot */
.ardpc-hp { position: absolute !important; left: -9999px !important; height: 0; width: 0; overflow: hidden; }

/* Landing */
.ardpc-landing { padding: 64px 20px; background: var(--ardpc-main-bg, #F7F8FA); text-align: center; }
.ardpc-landing__inner { max-width: 720px; margin: 0 auto; }
.ardpc-landing__eyebrow { text-transform: uppercase; letter-spacing: 2px; font-size: 13px; color: var(--ardpc-gold, #C8A977); font-weight: 700; }
.ardpc-landing__title { font-size: 40px; margin: 10px 0 16px; color: var(--ardpc-sidebar, #082D49); }
.ardpc-landing__lead { font-size: 17px; line-height: 1.7; color: var(--ardpc-muted, #667085); }
.ardpc-landing__actions { display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }
.ardpc-landing__actions .ardpc-btn { width: auto; padding: 13px 26px; }

/* Responsive */
@media (max-width: 640px) {
	.ardpc-grid { grid-template-columns: 1fr; }
	.ardpc-auth__card { padding: 26px 20px; }
	.ardpc-landing__title { font-size: 30px; }
}
