/* ============================================================
   C4 LOGIN + C5 REGISTER SKIN (c45 v1.4, 2026-10-07)
   House genes — same values as C6 .cqw-ma-* / group-15 notices:
   #1a1a1a / #fff / hairline #eee / marigold #efb33c · radius 0.
   Namespace .cqw-au-* (auth pages). Inputs and submit buttons
   inherit the P2-B baseline in carmela-replica.css (546-574 /
   761-778) — deliberately NOT redefined here (same values;
   re-specifying would fight a specificity war with page-id rules).
   JS contract: markup/IDs untouched — registration.js drives
   #carmela_country, #carmela_phone_prefix, #carmela-language-
   select-wrap, .carmela-ip-modal* (reskinned below, CSS-only).
   ============================================================ */

/* ---------- split shell ---------- */
.cqw-au { display: grid; grid-template-columns: 400px minmax(0, 1fr); min-height: 640px; }

/* ---------- black brand panel ---------- */
.cqw-au-brand { background: #1a1a1a; color: #fff; padding: 44px 40px; display: flex; flex-direction: column; }
.cqw-au-blogo { font-size: 15px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; }
.cqw-au-blogo i { color: #efb33c; font-style: normal; }
.cqw-au-bkick { margin-top: 34px; font-size: 10.5px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: #efb33c; }
.cqw-au .cqw-au-brand h2 { font-size: 24px; font-weight: 700; line-height: 1.25; margin: 10px 0 0; letter-spacing: 0.3px; color: #fff; }
.cqw-au-bsub { font-size: 12.5px; color: #bbb; margin: 10px 0 0; line-height: 1.65; }
.cqw-au-blist { margin-top: 26px; display: flex; flex-direction: column; gap: 14px; }
.cqw-au-brow { display: flex; gap: 12px; align-items: flex-start; }
.cqw-au-bi { width: 26px; height: 26px; border: 1px solid #444; color: #efb33c; font-size: 11px; display: flex; align-items: center; justify-content: center; flex: none; margin-top: 1px; }
.cqw-au-bt b { display: block; font-size: 12.5px; letter-spacing: 0.5px; color: #fff; }
.cqw-au-bt i { display: block; font-style: normal; font-size: 11.5px; color: #999; margin-top: 2px; line-height: 1.55; }
.cqw-au-bsteps { margin-top: auto; padding-top: 26px; border-top: 1px solid #333; }
.cqw-au-bs { display: flex; gap: 10px; align-items: baseline; font-size: 11.5px; color: #aaa; padding: 4px 0; }
.cqw-au-bs i { font-style: normal; font-size: 10px; font-weight: 700; color: #efb33c; letter-spacing: 1px; flex: none; }

/* ---------- form column ---------- */
/* min-width:0 lets the column shrink inside the grid — without it the country
   select's intrinsic width (native options never wrap) inflates the 1fr track
   and breaks narrow viewports. */
.cqw-au-main { padding: 40px 48px 48px; max-width: 720px; min-width: 0; }
.cqw-au select { width: 100%; max-width: 100%; }
.cqw-au-main--register { max-width: 760px; }
.cqw-au-h1 { font-size: 26px; font-weight: 700; letter-spacing: 0.4px; }
.cqw-au-sub { font-size: 12.5px; color: #999; margin: 5px 0 24px; }

/* ---------- numbered section cards (checkout R18 genes) ---------- */
.cqw-au-card { background: #fff; border: 1px solid #eee; border-top: 3px solid #efb33c; padding: 20px 22px; margin-bottom: 18px; }
.cqw-au-ch { display: flex; align-items: baseline; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid #eee; margin-bottom: 16px; }
.cqw-au-ch .no { font-size: 11px; font-weight: 700; color: #efb33c; letter-spacing: 1.5px; }
.cqw-au-ch b { font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.cqw-au-ch .cs { font-size: 11.5px; color: #999; margin-left: auto; }
.cqw-au-card p.form-row { margin-bottom: 14px; }
.cqw-au-card p.form-row:last-of-type { margin-bottom: 0; }
#carmela-language-select-wrap { margin-bottom: 0; }
.cqw-au-hint { display: block; font-size: 11px; color: #999; margin-top: 4px; }

/* ---------- geo hint row (server-rendered under the country select) ---------- */
.cqw-au-geo { display: flex; gap: 8px; align-items: center; font-size: 11px; color: #999; margin: 6px 0 0; }
.cqw-au-geo-dot { width: 6px; height: 6px; border-radius: 50%; background: #efb33c; flex: none; }

/* ---------- remember-me + lost-password row ---------- */
.cqw-au-krow { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 2px 0 18px; flex-wrap: wrap; }
.cqw-au-ck { display: flex; gap: 8px; align-items: center; font-size: 12.5px; color: #555; cursor: pointer; margin: 0; }
.cqw-au-ck input[type="checkbox"] { width: 15px; height: 15px; accent-color: #1a1a1a; cursor: pointer; margin: 0; }
.cqw-au-tlink { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #1a1a1a; border-bottom: 1px solid #1a1a1a; padding-bottom: 2px; }
.cqw-au-tlink:hover { color: #efb33c; border-color: #efb33c; }

/* ---------- full-width black CTA (base skin inherits replica P2-B;
   the scoped rules below win the page-id specificity race for size/hover) ---------- */
body.page-id-6113 .carmela-auth-form .cqw-au-btn,
body.page-id-6114 .carmela-auth-form .cqw-au-btn {
	display: block;
	width: 100%;
	padding: 15px 22px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
body.page-id-6113 .carmela-auth-form button.cqw-au-btn:hover,
body.page-id-6114 .carmela-auth-form button.cqw-au-btn:hover { background: #fff; color: #1a1a1a; transform: translateY(-1px); }

/* line-variant CTA (success card link — no replica conflict, plain class is enough) */
.cqw-au-btn--line { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 11px 22px; border: 1px solid #1a1a1a; background: #fff; color: #1a1a1a; transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; }
.cqw-au-btn--line:hover { background: #1a1a1a; color: #fff; transform: translateY(-1px); }

/* ---------- switch strip under the CTA ---------- */
.cqw-au-switch { margin-top: 18px; border-top: 1px solid #eee; padding-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.cqw-au-switch .q { font-size: 12.5px; color: #888; }
.cqw-au-switch a { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #1a1a1a; border-bottom: 1px solid #1a1a1a; padding-bottom: 2px; }
.cqw-au-switch a::after { content: ' \2192'; }
.cqw-au-switch a:hover { color: #efb33c; border-color: #efb33c; }

/* ---------- approval strip (gold wash + marigold left bar) ---------- */
.cqw-au-approve { display: flex; gap: 12px; align-items: flex-start; background: #fdfaf3; border: 1px solid #eee; border-left: 3px solid #efb33c; padding: 12px 14px; font-size: 12px; color: #666; line-height: 1.6; margin: 18px 0; }
.cqw-au-approve b { color: #1a1a1a; }
.cqw-au-approve-ic { color: #efb33c; flex: none; }

/* ---------- status pill (C6 genes) ---------- */
.cqw-au-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 4px 10px; white-space: nowrap; }
.cqw-au-pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cqw-au-pill--pend { background: #efb33c; color: #1a1a1a; }

/* ---------- success card (application received) ---------- */
.cqw-au-done { text-align: center; padding: 44px 24px 36px; }
.cqw-au-done-box { width: 64px; height: 64px; margin: 0 auto 16px; border: 1px solid #efb33c; display: flex; align-items: center; justify-content: center; color: #efb33c; font-size: 24px; }
.cqw-au .cqw-au-done h3 { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.cqw-au-next { max-width: 420px; margin: 20px auto 22px; text-align: left; }
.cqw-au-ns { display: flex; gap: 12px; align-items: flex-start; padding: 9px 0; border-bottom: 1px dashed #eee; font-size: 12.5px; color: #555; }
.cqw-au-ns:last-child { border-bottom: 0; }
.cqw-au-ns i { font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: 1px; color: #efb33c; border: 1px solid #eee; padding: 2px 6px; flex: none; margin-top: 2px; }

/* ---------- phone prefix cell (house-ified; markup unchanged) ---------- */
.carmela-phone-wrap { display: flex; align-items: stretch; border: 1px solid #ddd; background: #fff; }
.carmela-phone-prefix { padding: 10px 12px; background: #fafafa; border-right: 1px solid #eee; font-size: 13px; font-weight: 700; white-space: nowrap; min-width: 56px; text-align: center; user-select: none; color: #444; }
.carmela-phone-wrap input { border: none; flex: 1; min-width: 0; box-shadow: none; }
.carmela-phone-wrap input:focus { outline: none; }
.carmela-phone-wrap:focus-within { border-color: #1a1a1a; }

/* ---------- country-verification + unassigned-region modals (house skin, markup untouched) ---------- */
.carmela-ip-modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.carmela-ip-modal { background: #fff; border: 1px solid #eee; border-left: 3px solid #efb33c; padding: 26px 28px; max-width: 480px; width: 100%; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); }
.carmela-ip-modal h3 { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: #1a1a1a; }
.carmela-ip-modal p { line-height: 1.65; margin: 10px 0; font-size: 12.5px; color: #555; }
.carmela-confirm-row { margin: 16px 0; padding: 14px; background: #f7f7f7; }
.carmela-confirm-row label { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 12.5px; color: #444; }
.carmela-confirm-row input[type="checkbox"] { width: 15px; height: 15px; accent-color: #1a1a1a; cursor: pointer; }
.carmela-modal-actions { margin-top: 20px; display: flex; gap: 10px; justify-content: flex-end; }
/* scoped CTA skin for modal buttons (theme .button stays untouched elsewhere) */
.carmela-modal-actions .button { background: #fff; color: #1a1a1a; border: 1px solid #1a1a1a; border-radius: 0; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 10px 18px; box-shadow: none; cursor: pointer; transition: background 0.2s ease, color 0.2s ease; }
.carmela-modal-actions .button:hover { background: #1a1a1a; color: #fff; }
.carmela-modal-actions .button-primary { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }
.carmela-modal-actions .button-primary:hover { background: #fff; color: #1a1a1a; }
.carmela-modal-actions .button:focus, .carmela-modal-actions .button-primary:focus { box-shadow: none; outline: none; }
.carmela-modal-actions .button[disabled] { opacity: 0.4; cursor: not-allowed; }
.carmela-unassigned-modal h3 { color: #1a1a1a; }

/* ---------- ≤980: single column, brand panel collapses to a black band ---------- */
@media (max-width: 980px) {
	.cqw-au { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.cqw-au-brand { padding: 26px 24px; }
	.cqw-au-bkick { margin-top: 16px; }
	.cqw-au-blist, .cqw-au-bsteps { display: none; }
	.cqw-au-main, .cqw-au-main--register { padding: 26px 24px 36px; }
	.cqw-au-card { padding: 14px 16px; }
	.cqw-au-card .form-row-first,
	.cqw-au-card .form-row-last { float: none; width: 100%; margin-right: 0; }
	.cqw-au-done { padding: 30px 16px 28px; }
}

/* Price gating — non-logged-in users */
.carmela-login-link {
    color: #000;
    font-weight: 500;
    text-decoration: underline;
}
.carmela-login-link:hover {
    color: #333;
}
.carmela-login-message {
    background: #f7f7f7;
    padding: 15px 20px;
    border-left: 4px solid #000;
    margin: 10px 0;
    font-size: 14px;
}
.carmela-login-message p {
    margin: 0;
}
.carmela-login-message a {
    font-weight: 500;
    text-decoration: underline;
}
.carmela-hidden-price {
    color: #999;
}
.carmela-contact-pricing {
    display: inline-block;
    padding: 4px 12px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 4px;
    color: #856404;
    font-size: 0.9em;
}
