/* ═══════════════════════════════════════════════════════════════
   LQ Auth — Split-panel Login & Register
   Brand primary: #D12104  /  hover: #EF2807
═══════════════════════════════════════════════════════════════ */

/* ── Hide page chrome ── */
body:has(.lq-auth-wrap) .entry-header,
body:has(.lq-auth-wrap) .page-header,
body:has(.lq-auth-wrap) .page-title  { display: none !important; }
body:has(.lq-auth-wrap) .entry-content { padding: 0 !important; max-width: 100% !important; }
body:has(.lq-auth-wrap) .site-main   { padding: 0 !important; }
body:has(.lq-auth-wrap) .site-footer { display: none !important; }

/* ── Wrapper ── */
.lq-auth-wrap {
    display: flex;
    min-height: 100vh;
    font-family: inherit;
}

/* ═══════════════════════════════════════════════════════════════
   LEFT — Branded panel
═══════════════════════════════════════════════════════════════ */
.lq-auth-brand {
    flex: 0 0 42%;
    background: linear-gradient(160deg, #0f0f1a 0%, #1a1a2e 55%, #16213e 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 48px;
}

.lq-auth-brand::before {
    content: '';
    position: absolute;
    width: 700px; height: 700px; border-radius: 50%;
    background: radial-gradient(circle, rgba(209,33,4,.18) 0%, transparent 65%);
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    animation: lq-brand-pulse 6s ease-in-out infinite;
    pointer-events: none;
}
@keyframes lq-brand-pulse {
    0%,100% { transform: translate(-50%,-50%) scale(1);    opacity:.7; }
    50%      { transform: translate(-50%,-50%) scale(1.12); opacity:1;  }
}

.lq-auth-brand-inner { position: relative; max-width: 360px; }

.lq-auth-logo { margin-bottom: 40px; }
.lq-auth-logo img { max-height: 52px; width: auto; }
.lq-auth-site-name {
    font-size: 22px; font-weight: 900; color: #fff;
    letter-spacing: -0.5px;
}

.lq-auth-brand h2 {
    font-size: clamp(22px, 2.4vw, 32px);
    font-weight: 900; color: #fff;
    line-height: 1.2; margin: 0 0 16px;
}
.lq-auth-brand h2 em { font-style: normal; color: #D12104; }

.lq-auth-brand > div > p,
.lq-auth-brand-inner > p {
    font-size: 15px; color: rgba(255,255,255,.6);
    line-height: 1.7; margin: 0 0 36px;
}

/* Benefits list */
.lq-auth-benefits {
    list-style: none; margin: 0 0 40px; padding: 0;
    display: flex; flex-direction: column; gap: 14px;
}
.lq-auth-benefits li {
    display: flex; align-items: center; gap: 12px;
    font-size: 14px; color: rgba(255,255,255,.8);
    font-weight: 500;
}
.lq-auth-benefit-icon {
    width: 24px; height: 24px; border-radius: 50%;
    background: rgba(209,33,4,.2);
    border: 1px solid rgba(209,33,4,.4);
    color: #ff7b5c;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 900; flex-shrink: 0;
}

/* Testimonial */
.lq-auth-testimonial {
    border-left: 3px solid rgba(209,33,4,.5);
    padding: 14px 20px;
    background: rgba(255,255,255,.04);
    border-radius: 0 12px 12px 0;
}
.lq-auth-testimonial p {
    font-size: 13px; color: rgba(255,255,255,.7);
    font-style: italic; margin: 0 0 8px !important;
    line-height: 1.6;
}
.lq-auth-testimonial span {
    font-size: 12px; color: rgba(255,255,255,.4);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   RIGHT — Form panel
═══════════════════════════════════════════════════════════════ */
.lq-auth-form-panel {
    flex: 1;
    background: #f9f9fb;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 48px;
    overflow-y: auto;
}

.lq-auth-form-inner {
    width: 100%;
    max-width: 420px;
}

/* Header */
.lq-auth-form-header { margin-bottom: 32px; }
.lq-auth-form-header h1 {
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 900; color: #111;
    margin: 0 0 8px; line-height: 1.1;
}
.lq-auth-form-header p {
    font-size: 15px; color: #666; margin: 0; line-height: 1.6;
}

/* Error / Success banners */
.lq-auth-error,
.lq-auth-success {
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 13.5px;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
}
.lq-auth-error {
    background: rgba(209,33,4,.08);
    border: 1px solid rgba(209,33,4,.2);
    color: #b01c02;
}
.lq-auth-error a { color: inherit; text-decoration: underline; }
.lq-auth-success {
    background: rgba(5,150,105,.08);
    border: 1px solid rgba(5,150,105,.2);
    color: #065f46;
}

/* Field */
.lq-auth-field {
    display: flex; flex-direction: column; gap: 7px;
    margin-bottom: 18px;
}
.lq-auth-field label {
    font-size: 13px; font-weight: 700; color: #333;
    display: flex; justify-content: space-between; align-items: center;
}
.lq-auth-forgot {
    font-size: 12px; font-weight: 600; color: #D12104;
    text-decoration: none;
}
.lq-auth-forgot:hover { text-decoration: underline; }

/* Input wrap */
.lq-auth-input-wrap {
    position: relative; display: flex; align-items: center;
}
.lq-field-icon {
    position: absolute; left: 15px; color: #bbb;
    pointer-events: none; flex-shrink: 0; z-index: 1;
}
.lq-auth-input-wrap input {
    width: 100%;
    padding: 13px 16px 13px 46px !important;
    font-size: 14px; color: #111;
    background: #fff !important;
    border: 1.5px solid #e0e0e6 !important;
    border-radius: 12px !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
    box-sizing: border-box;
    -webkit-appearance: none;
    height: auto !important;
    line-height: normal !important;
}
.lq-auth-input-wrap input:focus {
    border-color: #D12104 !important;
    box-shadow: 0 0 0 3px rgba(209,33,4,.1) !important;
}
.lq-auth-input-wrap input::placeholder { color: #bbb; }

/* Password toggle */
.lq-toggle-pw {
    position: absolute; right: 12px;
    background: none; border: none; cursor: pointer;
    color: #aaa; padding: 4px;
    display: flex; align-items: center;
    transition: color .2s;
}
.lq-toggle-pw:hover { color: #555; }

/* Row layout (2 columns) */
.lq-auth-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

/* Remember checkbox */
.lq-auth-remember {
    display: flex; align-items: center; gap: 10px;
    font-size: 13px; color: #555; font-weight: 500;
    cursor: pointer; margin-bottom: 22px; margin-top: 4px;
    user-select: none;
}
.lq-auth-remember input[type="checkbox"] {
    width: 17px; height: 17px; cursor: pointer;
    accent-color: #D12104;
}

/* Terms */
.lq-auth-terms {
    font-size: 12px; color: #999; margin: 0 0 22px;
    line-height: 1.6;
}
.lq-auth-terms a { color: #D12104; text-decoration: none; }
.lq-auth-terms a:hover { text-decoration: underline; }

/* Submit button — theme gradient: #fe5224 → #9040EF */
.lq-auth-submit {
    width: 100%;
    padding: 15px 24px !important;
    background: linear-gradient(90deg, #fe5224 0%, #9040EF 100%) !important;
    background-size: 100% !important;
    color: #fff !important;
    font-size: 15px; font-weight: 700;
    border: 1px solid transparent !important;
    border-radius: 52px !important;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    transition: background-size .35s ease, transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s ease;
    box-shadow: 0 6px 28px rgba(144,64,239,.30) !important;
    margin-bottom: 24px;
    text-shadow: none !important;
    letter-spacing: 0;
}
.lq-auth-submit:hover {
    background: linear-gradient(90deg, #fe5224 0%, #9040EF 100%) !important;
    background-size: 250% !important;
    color: #fff !important;
    border-color: transparent !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 36px rgba(144,64,239,.40) !important;
}
.lq-auth-submit:active  { transform: translateY(0); }
.lq-auth-submit:disabled {
    opacity: .7; cursor: not-allowed; transform: none;
}

/* Spinner animation */
.lq-spin {
    animation: lq-spin 0.8s linear infinite;
}
@keyframes lq-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Switch link */
.lq-auth-switch {
    text-align: center;
    font-size: 14px; color: #777; margin: 0;
}
.lq-auth-switch a {
    color: #D12104; font-weight: 700; text-decoration: none;
}
.lq-auth-switch a:hover { text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
    .lq-auth-brand { flex: 0 0 38%; padding: 48px 36px; }
    .lq-auth-form-panel { padding: 48px 36px; }
}

@media (max-width: 700px) {
    .lq-auth-wrap { flex-direction: column; }

    .lq-auth-brand {
        flex: none;
        padding: 48px 28px 56px;
        min-height: auto;
    }
    .lq-auth-brand::before { width: 400px; height: 400px; }
    .lq-auth-brand h2 { font-size: 22px; }
    .lq-auth-benefits,
    .lq-auth-testimonial { display: none; }

    .lq-auth-form-panel {
        flex: none;
        padding: 40px 24px 60px;
    }

    .lq-auth-row { grid-template-columns: 1fr; }
}
