/* WW Auth Portal v3.3.4 – Full-width + organized grid; anti-conflict */
.wwap-root{ --wwap-primary:#522c11; --wwap-on-primary:#ffffff; --wwap-muted:#f5f0e5; --wwap-border:#e5ded8; --ok:#16a34a; --bad:#b91c1c; }
.wwap-root, .wwap-root * { box-sizing:border-box; }

.wwap-card{ width:100%; max-width:960px; margin:20px auto; padding:20px; border:1px solid var(--wwap-border); border-radius:16px; background:#fff; box-shadow:0 12px 28px rgba(0,0,0,.06) }
.wwap-title{ margin:0 0 4px; font-size:24px; line-height:1.3; font-weight:800; letter-spacing:.2px; color:var(--wwap-primary) }
.wwap-title-spacer{ height:18px }

.wwap-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 14px; }
.wwap-tab{ appearance:none; display:inline-block; border:1px solid var(--wwap-primary); border-radius:999px; padding:10px 16px; background:var(--wwap-primary); color:var(--wwap-on-primary); cursor:pointer; font-size:14px; font-weight:700; transition:background .2s,color .2s,border-color .2s }
.wwap-tab.is-active{ background:var(--wwap-muted); color:var(--wwap-primary); border-color:var(--wwap-primary); }

.wwap-panels{ width:100%; }
.wwap-panel{ display:none; width:100%; animation: wwapfade .15s ease }
.wwap-panel.is-active{ display:block; }

.wwap-login-methods{ display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 10px; }
.wwap-method{ appearance:none; display:inline-block; border:1px solid var(--wwap-primary); border-radius:10px; padding:9px 12px; background:var(--wwap-primary); color:var(--wwap-on-primary); cursor:pointer; font-size:13px; font-weight:700; transition:background .2s,color .2s,border-color .2s }
.wwap-method.is-active{ background:var(--wwap-muted); color:var(--wwap-primary); }

.wwap-form{ display:grid !important; grid-template-columns:1fr; column-gap:16px; row-gap:8px; width:100%; }
.wwap-form label{ display:block; width:100%; }
.wwap-label{ display:block; color:var(--wwap-primary); font-weight:700; font-size:13px; margin-bottom:4px }
.wwap-form input[type="text"],
.wwap-form input[type="email"],
.wwap-form input[type="password"],
.wwap-form input[type="tel"]{
  display:block !important; width:100% !important; padding:13px 14px; border:1px solid #d1d5db; border-radius:12px; font-size:14px; background:#fff
}
.wwap-form input:focus{ outline:2px solid var(--wwap-primary); outline-offset:2px; border-color:var(--wwap-primary); box-shadow:0 0 0 3px rgba(82,44,17,.12); }

.wwap-form--grid2{ grid-template-columns: 1fr 1fr; }
.wwap-col-span-2{ grid-column: 1 / -1; }

.wwap-btn{ appearance:none; border:0; border-radius:12px; padding:12px 18px; background:var(--wwap-primary); color:var(--wwap-on-primary); cursor:pointer; font-size:14px; font-weight:800; transition:transform .06s ease, filter .2s; line-height:1.1; }
.wwap-btn.is-secondary{ background:#cbb7a6; color:#2a1a10; }
.wwap-btn:hover{ filter:brightness(.97) }
.wwap-btn:active{ transform:scale(.98) }
.wwap-form > .wwap-btn{ width:100%; }

.wwap-switchline{ margin:6px 0 0; font-size:13px }
.wwap-link{ background:none; border:0; padding:0; color:var(--wwap-primary); text-decoration:underline; cursor:pointer; font-weight:700 }

.wwap-msg{ min-height:18px; font-size:13px; color:#0a7; margin-top:2px; }

.wwap-check{ display:flex; align-items:center; gap:8px; }

.wwap-otp-row{ display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 0 }
.wwap-otp-row .wwap-btn{ flex:1 1 200px }
.wwap-cooldown{ flex:1 1 100%; font-size:12px; color:#6b7280 }

.wwap-otp-inline{ display:grid; grid-template-columns:1fr 18px; gap:8px; align-items:center }
.wwap-otp-status{ width:18px; height:18px; border-radius:999px; border:1px solid #e5e7eb; display:inline-flex; align-items:center; justify-content:center; font-size:12px; color:#fff; background:#e5e7eb }
.wwap-otp-status[data-status="ok"]{ background:var(--ok); border-color:var(--ok); }
.wwap-otp-status[data-status="ok"]::after{ content:"\2713"; }
.wwap-otp-status[data-status="bad"]{ background:var(--bad); border-color:var(--bad); }
.wwap-otp-status[data-status="bad"]::after{ content:"\2717"; }

.wwap-recaptcha{ min-height:1px }
.is-hidden{ display:none !important; }

.wwap-modal{ position:fixed; inset:0; z-index:100000; display:none; }
.wwap-modal[aria-hidden="false"]{ display:block; }
.wwap-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.5); }
.wwap-modal__dialog{ position:relative; max-width:980px; margin:40px auto; background:#fff; border-radius:16px; padding:16px; box-shadow:0 10px 32px rgba(0,0,0,.2); }
.wwap-modal__close{ position:absolute; top:8px; right:10px; border:0; background:none; font-size:28px; cursor:pointer; color:var(--wwap-primary); }
.wwap-modal__body{ padding-top:12px }

@keyframes wwapfade{ from{ opacity:.6; transform: translateY(4px) } to{ opacity:1; transform: translateY(0) } }
@media (max-width: 768px){ .wwap-form--grid2{ grid-template-columns: 1fr; } }


/* v3.3.7 — My Account spacing + modal scrolling */
.wwap-root{ line-height:1.35; }
.wwap-card p{ margin: 0 0 8px; } /* prevent theme p spacing from blowing up */
.wwap-form{ row-gap:8px !important; }
.wwap-form > *{ margin:0 !important; }
.wwap-form label{ margin:0 !important; }
.wwap-switchline{ margin-top:8px !important; }
.wwap-msg{ margin-top:4px !important; }

/* Ensure inputs are consistent height */
.wwap-form input[type="text"],
.wwap-form input[type="email"],
.wwap-form input[type="password"],
.wwap-form input[type="tel"]{ min-height:44px; }

/* Modal should be scrollable on small screens */
.wwap-modal__dialog{
  max-height: calc(100dvh - 32px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  margin:16px auto;
}
@media (max-width: 480px){
  .wwap-modal__dialog{ margin:8px; border-radius:12px; }
}

/* Guard against themes that apply huge spacing to .entry-content form elements */
.entry-content .wwap-card .wwap-form label,
.entry-content .wwap-card .wwap-form .wwap-otp-row,
.entry-content .wwap-card .wwap-form .wwap-otp-line,
.entry-content .wwap-card .wwap-form .wwap-check{ margin:0 !important; }
.entry-content .wwap-card .wwap-form{ row-gap:8px !important; }
