:root {
  --ziper-green: #155f4e;
  --ziper-green-2: #1c7b66;
  --ziper-mint: #7ff1c2;
  --ziper-text: #13211d;
  --ziper-muted: #64706c;
  --ziper-line: #dfe7e3;
  --ziper-soft: #eff8f5;
  --ziper-panel: #f8fbfa;
}

body.ziper-auth-page .site-main,
body.ziper-auth-page .content-area,
body.ziper-auth-page .woocommerce,
body.ziper-auth-page .entry-content,
body.ziper-auth-page .content-container,
body.ziper-auth-page .site-container,
body.ziper-auth-page .site-content,
body.ziper-auth-page .woocommerce-account .woocommerce {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.ziper-auth-page .entry-header,
body.ziper-auth-page .woocommerce-breadcrumb,
body.ziper-auth-page .page-header,
body.ziper-auth-page .site-header,
body.ziper-auth-page #masthead,
body.ziper-auth-page .site-footer,
body.ziper-auth-page #colophon {
  display: none !important;
}

body.ziper-auth-page {
  background: #f7faf8;
}

.ziper-auth-shell {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #f7faf8;
  color: var(--ziper-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ziper-auth-topbar {
  height: 70px;
  padding: 0 3vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(20,95,78,.08);
  position: relative;
  z-index: 5;
}

.ziper-auth-brand {
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:inherit;
  min-width: 0;
}
.ziper-auth-logo-img { max-height:40px; width:auto; display:block; }
.ziper-auth-logo-text { font-size:2rem; line-height:1; font-weight:900; color:var(--ziper-green); letter-spacing:-.05em; }
.ziper-auth-tagline { font-size:.96rem; color:#2c3c37; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ziper-auth-top-actions { display:flex; gap:22px; align-items:center; font-size:.92rem; }
.ziper-auth-location { display:flex; align-items:center; gap:8px; color:#273632; max-width:360px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ziper-auth-help { color:#273632; font-weight:700; text-decoration:none; }

.ziper-auth-main {
  flex: 1;
  min-height: 0;
  display:grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr);
  background:#fff;
}

.ziper-auth-hero {
  position:relative;
  overflow:hidden;
  min-height: 0;
  background:
    radial-gradient(circle at 78% 72%, rgba(127,241,194,.18), transparent 32%),
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.10), transparent 22%),
    linear-gradient(135deg, #0e1f1a 0%, #173c31 50%, #7f6147 100%);
}

.ziper-auth-hero::after,
.ziper-auth-hero::before {
  display: none;
}

.ziper-auth-hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(5,19,15,.64), rgba(5,19,15,.32) 58%, rgba(5,19,15,.12));
}

.ziper-auth-hero-content {
  position:relative;
  z-index:3;
  height:100%;
  padding:30px 4.3vw 24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
}

.ziper-auth-kicker {
  color:#adffe0;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:800;
  margin:0;
}
.ziper-auth-hero h1 {
  margin:0;
  color:#fff;
  font-size:clamp(2.35rem, 3.7vw, 4.35rem);
  line-height:.97;
  letter-spacing:-.045em;
  max-width:760px;
}
.ziper-auth-hero h1 span { color:var(--ziper-mint); }
.ziper-auth-lead {
  margin:0;
  max-width:590px;
  color:rgba(255,255,255,.88);
  font-size:1.04rem;
  line-height:1.48;
}

.ziper-auth-benefits {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
  max-width:650px;
}
.ziper-auth-benefit {
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#fff;
}
.ziper-auth-benefit-icon {
  width:44px;
  height:44px;
  flex: 0 0 44px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:rgba(127,241,194,.16);
  border:1px solid rgba(127,241,194,.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.ziper-auth-benefit-copy strong,
.ziper-auth-benefit-copy span { display:block; }
.ziper-auth-benefit-copy strong { font-size:.97rem; line-height:1.2; }
.ziper-auth-benefit-copy span { font-size:.82rem; color:rgba(255,255,255,.74); margin-top:4px; line-height:1.35; }

.ziper-icon,
.ziper-icon svg {
  display: inline-block;
}
.ziper-icon {
  width: 20px;
  height: 20px;
  color: inherit;
}
.ziper-auth-benefit-icon .ziper-icon {
  width: 20px;
  height: 20px;
  color: var(--ziper-mint);
}
.ziper-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ziper-auth-categories .ziper-icon,
.ziper-auth-footer strong .ziper-icon {
  width: 18px;
  height: 18px;
}
.ziper-auth-categories .ziper-icon {
  color: var(--ziper-green);
  margin-bottom: 6px;
}
.ziper-auth-footer strong .ziper-icon {
  color: var(--ziper-green);
  margin-right: 8px;
  vertical-align: -3px;
}

.ziper-auth-handwritten {
  margin: 0;
  color:#fff;
  font-family:"Segoe Print", "Bradley Hand", cursive;
  font-size:1.18rem;
  line-height:1.35;
  transform:rotate(-2deg);
  opacity:.95;
}

.ziper-auth-categories {
  width:min(640px, 92%);
  background:rgba(255,255,255,.95);
  border-radius:18px;
  padding:10px 14px;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
  box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.ziper-auth-categories span {
  min-height: 62px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:800;
  color:#263b35;
  font-size:1rem;
  line-height:1.1;
}
.ziper-auth-categories small {
  display:block;
  font-size:.68rem;
  font-weight:650;
  margin-top:0;
  color:#4d5f59;
}

.ziper-auth-panel-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 2.6vw;
  background:linear-gradient(180deg,#f6f9f8 0%,#edf3f0 100%);
}
.ziper-auth-card {
  width:min(100%, 540px);
  background:rgba(255,255,255,.98);
  border:1px solid rgba(20,95,78,.08);
  border-radius:24px;
  box-shadow:0 20px 52px rgba(21,51,43,.12);
  padding:22px;
}
.ziper-auth-tabs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  background:#eef2f0;
  padding:5px;
  border-radius:15px;
  margin-bottom:22px;
}
.ziper-auth-tab {
  border:0;
  background:transparent;
  border-radius:11px;
  padding:13px 12px;
  font:inherit;
  font-weight:800;
  color:#2d3b37;
  cursor:pointer;
  transition:.2s ease;
}
.ziper-auth-tab.is-active { background:#fff; color:var(--ziper-green); box-shadow:0 5px 18px rgba(21,95,78,.1); }
.ziper-auth-form-panel[hidden] { display:none !important; }
.ziper-auth-form-panel h2 { margin:0 0 6px; font-size:1.86rem; letter-spacing:-.035em; line-height:1.05; }
.ziper-auth-subtitle { margin:0 0 18px; color:var(--ziper-muted); font-size:.97rem; }
.ziper-auth-form { margin:0; }
.ziper-field { margin:0 0 14px !important; }
.ziper-field label { display:block; margin:0 0 7px; font-weight:750; font-size:.93rem; }
.ziper-input-wrap { position:relative; display:block; }
.ziper-input-icon {
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  color:#87938f;
  font-size:1rem;
  pointer-events:none;
}
.ziper-auth-form input[type="text"],
.ziper-auth-form input[type="email"],
.ziper-auth-form input[type="password"] {
  width:100% !important;
  height:52px !important;
  border:1px solid #d6dfdb !important;
  border-radius:12px !important;
  padding:0 48px 0 44px !important;
  font:inherit !important;
  background:#fff !important;
  box-shadow:none !important;
  outline:none !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}
.ziper-auth-form input:focus { border-color:var(--ziper-green) !important; box-shadow:0 0 0 3px rgba(21,95,78,.12) !important; }
.ziper-password-toggle {
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  cursor:pointer;
  color:#6d7a75;
  font-size:1rem;
  padding:8px;
}
.ziper-auth-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:4px 0 16px; }
.ziper-remember { display:flex; align-items:center; gap:8px; font-size:.88rem; cursor:pointer; }
.ziper-remember input { accent-color:var(--ziper-green); width:17px; height:17px; }
.ziper-forgot, .ziper-inline-switch { color:var(--ziper-green); font-weight:750; text-decoration:none; }
.ziper-inline-switch { border:0; background:transparent; font:inherit; cursor:pointer; padding:0; }
.ziper-submit-row { margin:0 !important; }
.ziper-auth-submit {
  width:100% !important;
  min-height:54px !important;
  border:0 !important;
  border-radius:13px !important;
  background:linear-gradient(135deg,var(--ziper-green),var(--ziper-green-2)) !important;
  color:#fff !important;
  font-weight:850 !important;
  font-size:1.02rem !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  cursor:pointer !important;
  box-shadow:0 12px 28px rgba(21,95,78,.22) !important;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}
.ziper-auth-submit:hover { transform:translateY(-1px); box-shadow:0 15px 31px rgba(21,95,78,.28) !important; }
.ziper-auth-submit:disabled { opacity:.6; cursor:wait !important; transform:none; }
.ziper-auth-switchline { text-align:center; color:var(--ziper-muted); font-size:.9rem; margin:20px 0 2px; }
.ziper-auth-info { margin:0 0 16px; padding:11px 13px; border-radius:10px; background:#f0f7f4; color:#3f554d; font-size:.9rem; }

.ziper-auth-card .woocommerce-error,
.ziper-auth-card .woocommerce-message,
.ziper-auth-card .woocommerce-info,
body.ziper-auth-page .woocommerce-notices-wrapper .woocommerce-error,
body.ziper-auth-page .woocommerce-notices-wrapper .woocommerce-message,
body.ziper-auth-page .woocommerce-notices-wrapper .woocommerce-info {
  border:none !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  margin:0 0 16px !important;
  font-size:.9rem !important;
}

.ziper-auth-footer {
  min-height: 64px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr .9fr;
  gap:18px;
  align-items:center;
  padding:14px 3vw;
  background:linear-gradient(90deg,#e9fbf4,#effaf7);
  border-top:1px solid rgba(20,95,78,.08);
}
.ziper-auth-footer div:not(.ziper-auth-footer-signature) { display:flex; flex-direction:column; gap:2px; }
.ziper-auth-footer strong { color:var(--ziper-green); font-size:.88rem; display:flex; align-items:center; }
.ziper-auth-footer span { color:#64716c; font-size:.77rem; }
.ziper-auth-footer-signature { text-align:right; color:var(--ziper-green); font-family:"Segoe Print",cursive; transform:rotate(-2deg); font-size:.92rem; line-height:1.25; }

@media (max-width: 1160px) {
  .ziper-auth-main { grid-template-columns: minmax(0, 1fr) 460px; }
  .ziper-auth-hero-content { padding:26px 3vw 20px; }
  .ziper-auth-benefits { gap:10px 14px; }
}

@media (max-width: 980px) {
  .ziper-auth-topbar { padding:0 22px; }
  .ziper-auth-tagline, .ziper-auth-location { display:none; }
  .ziper-auth-main { display:block; min-height:auto; }
  .ziper-auth-panel-wrap { padding:28px 20px 22px; }
  .ziper-auth-card { width:min(100%,620px); }
  .ziper-auth-hero-content { padding:38px 28px 28px; gap:16px; }
  .ziper-auth-hero h1 { font-size:clamp(2.3rem,7vw,3.9rem); }
  .ziper-auth-lead { max-width:720px; }
  .ziper-auth-footer { grid-template-columns:repeat(3,1fr); }
  .ziper-auth-footer-signature { display:none; }
}

@media (max-width: 640px) {
  .ziper-auth-topbar { height:64px; }
  .ziper-auth-logo-text { font-size:1.8rem; }
  .ziper-auth-help { font-size:.9rem; }
  .ziper-auth-panel-wrap { padding:18px 12px 16px; order:1; }
  .ziper-auth-main { display:flex; flex-direction:column; }
  .ziper-auth-panel-wrap { order:1; }
  .ziper-auth-hero { order:2; }
  .ziper-auth-card { border-radius:20px; padding:18px; }
  .ziper-auth-tabs { margin-bottom:18px; }
  .ziper-auth-form-panel h2 { font-size:1.65rem; }
  .ziper-auth-row { align-items:flex-start; flex-direction:column; }
  .ziper-auth-hero-content { padding:28px 20px 24px; }
  .ziper-auth-hero h1 { font-size:2.4rem; }
  .ziper-auth-lead { font-size:.98rem; }
  .ziper-auth-benefits { grid-template-columns:1fr; }
  .ziper-auth-categories { grid-template-columns:repeat(3,1fr); row-gap:8px; }
  .ziper-auth-categories span:nth-child(4), .ziper-auth-categories span:nth-child(5) { display:none; }
  .ziper-auth-footer { grid-template-columns:1fr; padding:18px 20px; }
}

/* Prevent double clicks while keeping the submit control enabled so its
   name/value is still sent to WooCommerce's native form handler. */
.ziper-auth-submit[aria-busy="true"] {
  pointer-events: none;
  cursor: wait;
  opacity: .78;
}
.ziper-auth-footer-partner { display:flex; flex-direction:column; gap:2px; text-decoration:none; color:inherit; }
