/* ================================================================
   H2O MYACCOUNT — NUCLEAR OVERRIDE
   Version: 2.0.0
   Strategy: Hide EVERYTHING on page, then show only .h2o-auth
   ================================================================ */

/* ══════════════════════════════════════
   STEP 1: HIDE ALL PAGE ELEMENTS
   Target: body children, Kadence wrappers, header, footer, hero
   ══════════════════════════════════════ */

/* Hide by tag */
body.h2o-auth-page > header,
body.h2o-auth-page > footer,
body.h2o-auth-page > nav {
  display: none !important;
}

/* Hide by Kadence class — every possible wrapper */
body.h2o-auth-page .site-header,
body.h2o-auth-page .site-header-wrap,
body.h2o-auth-page .site-above-header-wrap,
body.h2o-auth-page .site-below-header-wrap,
body.h2o-auth-page .site-footer,
body.h2o-auth-page .site-footer-wrap,
body.h2o-auth-page .site-above-footer-wrap,
body.h2o-auth-page .site-below-footer-wrap,
body.h2o-auth-page #colophon,
body.h2o-auth-page .footer-widget-area,
body.h2o-auth-page .site-bottom-footer-wrap {
  display: none !important;
}

/* Hide hero/page header — the big mountain image */
body.h2o-auth-page .entry-hero,
body.h2o-auth-page .page-hero-section,
body.h2o-auth-page .kadence-page-hero,
body.h2o-auth-page .wp-block-kadence-hero,
body.h2o-auth-page .entry-header,
body.h2o-auth-page .page-header,
body.h2o-auth-page .hero-section,
body.h2o-auth-page .kadence-hero-header,
body.h2o-auth-page .page-title,
body.h2o-auth-page .entry-hero-container-inner,
body.h2o-auth-page .kadence-breadcrumbs {
  display: none !important;
}

/* Hide ticker bar */
body.h2o-auth-page .h2o-sticky-ticker,
body.h2o-auth-page .h2o-ticker,
body.h2o-auth-page [class*="ticker"] {
  display: none !important;
}

/* Hide mobile bottom nav */
body.h2o-auth-page .h2o-mobile-bottom-nav,
body.h2o-auth-page .mobile-bottom-nav,
body.h2o-auth-page [class*="bottom-nav"] {
  display: none !important;
}

/* Hide WooCommerce defaults */
body.h2o-auth-page .woocommerce-MyAccount-navigation,
body.h2o-auth-page .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none !important;
}

/* ══════════════════════════════════════
   STEP 2: FULL-WIDTH CONTENT AREA
   ══════════════════════════════════════ */
body.h2o-auth-page {
  background: #fff !important;
  padding: 0 !important; margin: 0 !important;
}
body.h2o-auth-page .site,
body.h2o-auth-page #inner-wrap,
body.h2o-auth-page #wrapper,
body.h2o-auth-page .site-container {
  min-height: 100vh; padding: 0 !important; margin: 0 !important;
}
body.h2o-auth-page .site-main,
body.h2o-auth-page .content-wrap,
body.h2o-auth-page .content-area,
body.h2o-auth-page #primary,
body.h2o-auth-page article,
body.h2o-auth-page .entry-content,
body.h2o-auth-page .entry-content-wrap {
  width: 100% !important; max-width: 100% !important;
  padding: 0 !important; margin: 0 !important;
}

/* ══════════════════════════════════════
   STEP 3: VARIABLES
   ══════════════════════════════════════ */
.h2o-auth {
  --h2o-orange: #F26B22; --h2o-orange-hover: #E05A10;
  --h2o-dark: #1A1D23;
  --h2o-text: #fff; --h2o-text-2: rgba(255,255,255,0.65);
  --h2o-text-3: rgba(255,255,255,0.4);
  --h2o-text-dark: #1A1D23; --h2o-text-dark-2: #6B7280; --h2o-text-dark-3: #9CA3AF;
  --h2o-border: rgba(255,255,255,0.06);
  --h2o-green: #22C55E; --h2o-red: #EF4444;
  --h2o-font: 'Montserrat', sans-serif;
}

/* ══════════════════════════════════════
   STEP 4: SPLIT LAYOUT
   ══════════════════════════════════════ */
.h2o-auth {
  display: flex; min-height: 100vh;
  font-family: var(--h2o-font); -webkit-font-smoothing: antialiased;
  background: #fff; line-height: 1.5;
}

/* ── Left Brand ── */
.h2o-auth__brand {
  flex: 0 0 44%; background: var(--h2o-dark);
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 40px 48px 48px; position: relative; overflow: hidden;
}
.h2o-auth__mesh {
  position: absolute; inset: 0; opacity: 0.5;
  background:
    radial-gradient(ellipse 60% 50% at 20% 80%, rgba(242,107,34,0.15), transparent),
    radial-gradient(ellipse 50% 60% at 80% 20%, rgba(242,107,34,0.08), transparent),
    radial-gradient(ellipse 40% 40% at 50% 50%, rgba(255,140,50,0.06), transparent);
  animation: meshFloat 12s ease-in-out infinite alternate;
}
@keyframes meshFloat {
  0%{transform:scale(1) translate(0,0)}
  50%{transform:scale(1.05) translate(-2%,3%)}
  100%{transform:scale(1) translate(2%,-2%)}
}
.h2o-auth__brand::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size:48px 48px; pointer-events:none; z-index:1;
}
.h2o-auth__brand-top,
.h2o-auth__brand-center,
.h2o-auth__brand-bottom { position:relative; z-index:2; }
.h2o-auth__brand-center { flex:1; display:flex; flex-direction:column; justify-content:center; }
.h2o-auth__logo { width:120px; height:auto; margin-bottom:48px; }
.h2o-auth__logo-text {
  font-size:28px; font-weight:900; color:#fff;
  text-decoration:none; letter-spacing:-0.02em;
  display:inline-block; margin-bottom:48px;
}
.h2o-auth__headline {
  font-size:44px; font-weight:900; line-height:1.08;
  color:var(--h2o-text); letter-spacing:-0.035em; margin-bottom:16px;
}
.h2o-auth__headline em { font-style:normal; color:var(--h2o-orange); }
.h2o-auth__sub { font-size:15px; line-height:1.65; color:var(--h2o-text-2); max-width:360px; }

/* Trust */
.h2o-auth__trust {
  display:flex; gap:24px; padding-top:24px;
  border-top:1px solid var(--h2o-border);
}
.h2o-auth__trust-item {
  display:flex; align-items:center; gap:8px;
  font-size:12px; font-weight:600; color:var(--h2o-text-3);
  letter-spacing:0.02em; text-transform:uppercase;
}
.h2o-auth__trust-item svg {
  width:16px; height:16px; stroke:var(--h2o-orange);
  fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;
}

/* ── Right Form ── */
.h2o-auth__form-panel {
  flex:1; display:flex; flex-direction:column;
  justify-content:center; align-items:center;
  padding:48px; position:relative; background:#fff;
}
.h2o-auth__form-container { width:100%; max-width:420px; }
.h2o-auth__back {
  position:absolute; top:28px; left:48px;
  display:flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:var(--h2o-text-dark-2);
  text-decoration:none; transition:all 0.2s;
}
.h2o-auth__back:hover { color:var(--h2o-orange); gap:8px; }
.h2o-auth__back svg {
  width:16px; height:16px; stroke:currentColor;
  fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
  transition:transform 0.2s;
}
.h2o-auth__back:hover svg { transform:translateX(-2px); }

/* ══════════════════════════════════════
   TABS — Nuclear override over Kadence
   ══════════════════════════════════════ */
.h2o-auth__tabs {
  display:flex !important; position:relative;
  margin-bottom:28px; border-bottom:2px solid #F0F0F2;
  background:none !important; background-color:transparent !important;
  padding:0 !important; border-radius:0 !important; gap:0 !important;
}
.h2o-auth__tabs button.h2o-auth__tab,
button.h2o-auth__tab,
.h2o-auth__tab {
  all: unset !important;
  flex:1 !important; padding:0 0 12px !important;
  font-family:var(--h2o-font) !important;
  font-size:13px !important; font-weight:700 !important;
  text-align:center !important;
  color:var(--h2o-text-dark-3) !important;
  background:none !important; background-color:transparent !important;
  border:none !important; border-radius:0 !important;
  cursor:pointer !important; letter-spacing:0.05em !important;
  text-transform:uppercase !important; display:block !important;
  box-sizing:border-box !important;
  transition:color 0.3s !important;
}
.h2o-auth__tabs button.h2o-auth__tab.is-active,
button.h2o-auth__tab.is-active,
.h2o-auth__tab.is-active {
  color:var(--h2o-text-dark) !important;
  background:none !important; background-color:transparent !important;
}
.h2o-auth__tab-indicator {
  position:absolute; bottom:-2px; height:2px;
  background:var(--h2o-orange); border-radius:2px;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
}

/* ── Forms ── */
.h2o-auth__form { display:none; }
.h2o-auth__form.is-active { display:block; animation:h2oSlideIn 0.35s ease; }
@keyframes h2oSlideIn {
  from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}
}

/* ══════════════════════════════════════
   NEXTEND GOOGLE BUTTON
   ══════════════════════════════════════ */
.h2o-auth__google-wrap { margin-bottom:0; }
.h2o-auth__google-wrap .nsl-container { margin:0!important; padding:0!important; }
.h2o-auth__google-wrap .nsl-container-buttons { display:flex!important; }
.h2o-auth__google-wrap .nsl-container-buttons a,
.h2o-auth__google-wrap .nsl-button,
.h2o-auth__google-wrap [data-provider="google"] {
  width:100%!important; display:flex!important; align-items:center!important;
  justify-content:center!important; gap:10px!important;
  padding:14px 24px!important;
  font-family:var(--h2o-font)!important; font-size:14px!important; font-weight:700!important;
  color:var(--h2o-text-dark)!important; background:#fff!important;
  border:1.5px solid #E5E7EB!important; border-radius:12px!important;
  cursor:pointer!important; transition:all 0.25s cubic-bezier(0.4,0,0.2,1)!important;
  box-shadow:none!important; text-decoration:none!important; line-height:1.4!important;
}
.h2o-auth__google-wrap .nsl-button:hover,
.h2o-auth__google-wrap [data-provider="google"]:hover {
  background:#F9FAFB!important; border-color:#D1D5DB!important;
  box-shadow:0 4px 16px rgba(0,0,0,0.08)!important; transform:translateY(-1px)!important;
}
.h2o-auth__google-wrap .nsl-button-icon { width:20px!important; height:20px!important; }
.h2o-auth__google-wrap .nsl-button-label-container {
  font-family:var(--h2o-font)!important; font-size:14px!important;
  font-weight:700!important; color:var(--h2o-text-dark)!important; padding:0!important;
}
.h2o-auth__google-wrap .nsl-container-login-separator,
.h2o-auth__google-wrap hr { display:none!important; }

/* ══════════════════════════════════════
   INPUT FIELDS
   ══════════════════════════════════════ */
.h2o-auth__field { margin-bottom:16px; }
.h2o-auth__float { position:relative; }
.h2o-auth .h2o-auth__float input,
.h2o-auth .h2o-auth__float input[type="text"],
.h2o-auth .h2o-auth__float input[type="email"],
.h2o-auth .h2o-auth__float input[type="password"] {
  width:100%!important; padding:18px 16px 7px!important;
  font-family:var(--h2o-font)!important; font-size:14px!important; font-weight:500!important;
  color:var(--h2o-text-dark)!important; background:#F7F8FA!important;
  border:1.5px solid transparent!important; border-radius:10px!important;
  outline:none!important; transition:all 0.25s ease!important;
  height:auto!important; line-height:1.4!important;
  box-shadow:none!important; margin:0!important;
  -webkit-appearance:none!important; appearance:none!important;
}
.h2o-auth .h2o-auth__float input::placeholder { color:transparent!important; }
.h2o-auth .h2o-auth__float label {
  position:absolute!important; left:16px!important; top:50%!important;
  transform:translateY(-50%)!important;
  font-size:14px!important; font-weight:500!important; color:var(--h2o-text-dark-3)!important;
  pointer-events:none!important;
  transition:all 0.25s cubic-bezier(0.4,0,0.2,1)!important;
  transform-origin:left center!important;
  background:transparent!important; padding:0!important; margin:0!important;
  line-height:1!important;
}
.h2o-auth .h2o-auth__float input:focus ~ label,
.h2o-auth .h2o-auth__float input:not(:placeholder-shown) ~ label {
  top:9px!important; transform:translateY(0) scale(0.72)!important;
  color:var(--h2o-text-dark-2)!important; font-weight:700!important;
  letter-spacing:0.03em!important;
}
.h2o-auth .h2o-auth__float input:focus {
  background:#fff!important; border-color:var(--h2o-orange)!important;
  box-shadow:0 0 0 3px rgba(242,107,34,0.08)!important;
}

/* Password */
.h2o-auth__pw-wrap { position:relative; }
.h2o-auth__pw-wrap input { padding-right:48px!important; }
.h2o-auth__pw-toggle {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer; padding:4px;
  color:#C5C9D2; transition:color 0.2s; z-index:2;
}
.h2o-auth__pw-toggle:hover { color:var(--h2o-text-dark-2); }
.h2o-auth__pw-toggle svg {
  width:18px; height:18px; stroke:currentColor; fill:none;
  stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;
}

/* ── Options ── */
.h2o-auth__options {
  display:flex; align-items:center;
  justify-content:space-between; margin:2px 0 20px;
}
.h2o-auth__check {
  display:flex; align-items:center; gap:8px;
  cursor:pointer; font-size:13px; font-weight:500;
  color:var(--h2o-text-dark-2); user-select:none;
}
.h2o-auth .h2o-auth__check input[type="checkbox"] {
  -webkit-appearance:none!important; appearance:none!important;
  width:18px!important; height:18px!important; min-width:18px!important;
  border:2px solid #D1D5DB!important; border-radius:5px!important;
  cursor:pointer!important; position:relative!important;
  flex-shrink:0!important; padding:0!important; margin:0!important;
  background:#fff!important; box-shadow:none!important;
  transition:all 0.2s!important;
}
.h2o-auth .h2o-auth__check input[type="checkbox"]:checked {
  background:var(--h2o-orange)!important; border-color:var(--h2o-orange)!important;
}
.h2o-auth .h2o-auth__check input[type="checkbox"]:checked::after {
  content:''!important; position:absolute!important; left:5px!important; top:2px!important;
  width:5px!important; height:9px!important;
  border:solid #fff!important; border-width:0 2px 2px 0!important;
  transform:rotate(45deg)!important;
}
.h2o-auth__forgot {
  font-size:13px; font-weight:600; color:var(--h2o-orange);
  text-decoration:none; transition:color 0.2s;
}
.h2o-auth__forgot:hover { color:var(--h2o-orange-hover); }

/* ── Submit ── */
.h2o-auth .h2o-auth__submit,
button.h2o-auth__submit {
  width:100%!important; padding:14px 24px!important;
  font-family:var(--h2o-font)!important; font-size:13px!important; font-weight:800!important;
  letter-spacing:0.08em!important; text-transform:uppercase!important; color:#fff!important;
  background:linear-gradient(135deg,var(--h2o-orange) 0%,#E8601A 100%)!important;
  border:none!important; border-radius:10px!important; cursor:pointer!important;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1)!important;
  line-height:1.4!important; box-shadow:none!important;
  display:block!important; text-align:center!important;
}
.h2o-auth .h2o-auth__submit:hover {
  transform:translateY(-3px)!important;
  box-shadow:0 6px 16px rgba(242,107,34,0.3),0 12px 32px rgba(242,107,34,0.15),0 0 0 1px rgba(242,107,34,0.1)!important;
}

/* ── Divider ── */
.h2o-auth__divider {
  display:flex; align-items:center; gap:16px; margin:20px 0;
}
.h2o-auth__divider::before,
.h2o-auth__divider::after { content:''; flex:1; height:1px; background:#ECEDF0; }
.h2o-auth__divider span {
  font-size:10px; font-weight:700; color:#C5C9D2;
  text-transform:uppercase; letter-spacing:0.12em; white-space:nowrap;
}

/* ══════════════════════════════════════
   NEWSLETTER — Styled nicely
   ══════════════════════════════════════ */
.h2o-auth__newsletter {
  display:flex!important; align-items:center!important; gap:10px!important;
  padding:12px 14px!important;
  background:rgba(242,107,34,0.05)!important;
  border:1px solid rgba(242,107,34,0.12)!important;
  border-radius:10px!important; margin:16px 0!important;
  font-size:13px!important; font-weight:600!important; color:var(--h2o-text-dark)!important;
}
.h2o-auth__newsletter label {
  display:flex!important; align-items:center!important; gap:10px!important;
  cursor:pointer!important; font-size:13px!important; font-weight:600!important;
  color:var(--h2o-text-dark)!important;
  position:static!important; transform:none!important; pointer-events:auto!important;
  top:auto!important; left:auto!important;
}
.h2o-auth__newsletter input[type="checkbox"] {
  -webkit-appearance:none!important; appearance:none!important;
  width:18px!important; height:18px!important; min-width:18px!important;
  border:2px solid #D1D5DB!important; border-radius:5px!important;
  cursor:pointer!important; flex-shrink:0!important;
  background:#fff!important; padding:0!important; margin:0!important;
  position:relative!important;
}
.h2o-auth__newsletter input[type="checkbox"]:checked {
  background:var(--h2o-orange)!important; border-color:var(--h2o-orange)!important;
}
.h2o-auth__newsletter input[type="checkbox"]:checked::after {
  content:''!important; position:absolute!important; left:5px!important; top:2px!important;
  width:5px!important; height:9px!important;
  border:solid #fff!important; border-width:0 2px 2px 0!important;
  transform:rotate(45deg)!important;
}

/* Privacy */
.h2o-auth__privacy {
  font-size:11px; line-height:1.6; color:var(--h2o-text-dark-3);
  margin:14px 0; text-align:center;
}
.h2o-auth__privacy a { color:var(--h2o-orange); text-decoration:none; font-weight:600; }
.h2o-auth__privacy a:hover { text-decoration:underline; }

/* WooCommerce privacy text */
.h2o-auth__form .woocommerce-privacy-policy-text { display:none!important; }

/* Password strength */
.h2o-auth__pw-meter { margin-top:8px; display:flex; align-items:center; gap:10px; }
.h2o-auth__pw-bars { display:flex; gap:3px; flex:1; }
.h2o-auth__pw-bar { flex:1; height:3px; background:#ECEDF0; border-radius:3px; transition:all 0.3s; }
.h2o-auth__pw-bar.is-weak { background:var(--h2o-red); }
.h2o-auth__pw-bar.is-medium { background:#F59E0B; }
.h2o-auth__pw-bar.is-strong { background:var(--h2o-green); }
.h2o-auth__pw-text {
  font-size:10px; font-weight:700; color:var(--h2o-text-dark-3);
  text-transform:uppercase; letter-spacing:0.04em; min-width:60px; text-align:right;
}

/* WooCommerce notices — styled as floating toasts */
body.h2o-auth-page .woocommerce-notices-wrapper {
  position:fixed!important; top:24px!important; left:50%!important;
  transform:translateX(-50%)!important; z-index:99999!important;
  max-width:420px!important; width:calc(100% - 32px)!important;
  pointer-events:auto!important;
}
body.h2o-auth-page .woocommerce-notices-wrapper:empty {
  display:none!important;
}
body.h2o-auth-page .woocommerce-error,
body.h2o-auth-page .woocommerce-message,
body.h2o-auth-page .woocommerce-info,
body.h2o-auth-page ul.woocommerce-error,
body.h2o-auth-page div.woocommerce-message,
body.h2o-auth-page div.woocommerce-info {
  font-family:var(--h2o-font)!important;
  font-size:13px!important; font-weight:500!important; line-height:1.5!important;
  padding:16px 20px!important; margin:0 0 8px!important;
  border-radius:12px!important;
  box-shadow:0 8px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.08)!important;
  list-style:none!important; border:none!important;
  animation:h2oToastIn 0.4s cubic-bezier(0.4,0,0.2,1)!important;
  backdrop-filter:blur(8px)!important; -webkit-backdrop-filter:blur(8px)!important;
}
/* Error — red */
body.h2o-auth-page .woocommerce-error,
body.h2o-auth-page ul.woocommerce-error {
  background:rgba(254,242,242,0.95)!important;
  color:#991B1B!important;
  border-left:4px solid #EF4444!important;
}
body.h2o-auth-page .woocommerce-error li {
  list-style:none!important; margin:0!important; padding:0!important;
}
body.h2o-auth-page .woocommerce-error li + li {
  margin-top:6px!important; padding-top:6px!important;
  border-top:1px solid rgba(239,68,68,0.15)!important;
}
body.h2o-auth-page .woocommerce-error a {
  color:#DC2626!important; font-weight:700!important; text-decoration:underline!important;
}
body.h2o-auth-page .woocommerce-error::before {
  display:none!important;
}
/* Success — green */
body.h2o-auth-page .woocommerce-message {
  background:rgba(240,253,244,0.95)!important;
  color:#166534!important;
  border-left:4px solid #22C55E!important;
}
body.h2o-auth-page .woocommerce-message::before {
  display:none!important;
}
body.h2o-auth-page .woocommerce-message a {
  color:#16A34A!important; font-weight:700!important;
}
/* Info — blue */
body.h2o-auth-page .woocommerce-info {
  background:rgba(239,246,255,0.95)!important;
  color:#1E40AF!important;
  border-left:4px solid #3B82F6!important;
}
body.h2o-auth-page .woocommerce-info::before {
  display:none!important;
}
body.h2o-auth-page .woocommerce-info a {
  color:#2563EB!important; font-weight:700!important;
}
@keyframes h2oToastIn {
  from { opacity:0; transform:translateY(-12px); }
  to { opacity:1; transform:translateY(0); }
}

/* JS-relocated notices wrapper */
.h2o-notices-float {
  position:fixed!important; top:24px!important; left:50%!important;
  transform:translateX(-50%)!important; z-index:99999!important;
  max-width:420px!important; width:calc(100% - 32px)!important;
}
.h2o-notices-float .woocommerce-error,
.h2o-notices-float .woocommerce-message,
.h2o-notices-float .woocommerce-info {
  font-family:var(--h2o-font, 'Montserrat', sans-serif)!important;
  font-size:13px!important; font-weight:500!important; line-height:1.5!important;
  padding:16px 20px!important; margin:0 0 8px!important;
  border-radius:12px!important; border:none!important;
  box-shadow:0 8px 32px rgba(0,0,0,0.12),0 2px 8px rgba(0,0,0,0.08)!important;
  list-style:none!important;
  animation:h2oToastIn 0.4s cubic-bezier(0.4,0,0.2,1)!important;
  backdrop-filter:blur(8px)!important; -webkit-backdrop-filter:blur(8px)!important;
}
.h2o-notices-float .woocommerce-error {
  background:rgba(254,242,242,0.97)!important; color:#991B1B!important;
  border-left:4px solid #EF4444!important;
}
.h2o-notices-float .woocommerce-error li { list-style:none!important; }
.h2o-notices-float .woocommerce-error a { color:#DC2626!important; font-weight:700!important; }
.h2o-notices-float .woocommerce-error::before { display:none!important; }
.h2o-notices-float .woocommerce-message {
  background:rgba(240,253,244,0.97)!important; color:#166534!important;
  border-left:4px solid #22C55E!important;
}
.h2o-notices-float .woocommerce-message::before { display:none!important; }
.h2o-notices-float .woocommerce-info {
  background:rgba(239,246,255,0.97)!important; color:#1E40AF!important;
  border-left:4px solid #3B82F6!important;
}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media (max-width:1100px) {
  .h2o-auth__brand { flex:0 0 40%; padding:36px 36px; }
  .h2o-auth__headline { font-size:36px; }
}
@media (max-width:768px) {
  .h2o-auth { flex-direction:column; min-height:100vh; min-height:100dvh; }
  .h2o-auth__brand {
    flex:none; padding:20px 20px 24px;
    text-align:center; align-items:center;
  }
  .h2o-auth__logo { margin-bottom:12px; width:72px; }
  .h2o-auth__headline { font-size:22px; margin-bottom:6px; }
  .h2o-auth__sub { font-size:12px; line-height:1.5; text-align:center; }
  .h2o-auth__trust { display:none; }
  .h2o-auth__brand-top { margin-bottom:0; }
  .h2o-auth__logo-text { font-size:22px; margin-bottom:12px; }

  .h2o-auth__form-panel {
    padding:20px 16px 32px;
    border-radius:16px 16px 0 0;
    margin-top:-12px; z-index:2; flex:1;
  }
  .h2o-auth__form-container { max-width:100%; }
  .h2o-auth__back { position:static; justify-content:center; margin-bottom:12px; font-size:12px; }
  .h2o-auth__tabs { margin-bottom:20px; }
  .h2o-auth__tabs button.h2o-auth__tab,
  button.h2o-auth__tab,
  .h2o-auth__tab { font-size:12px!important; padding:0 0 10px!important; }
  .h2o-auth__divider { margin:16px 0; }
  .h2o-auth__field { margin-bottom:12px; }
  .h2o-auth .h2o-auth__float input { padding:16px 14px 6px!important; font-size:13px!important; }
  .h2o-auth .h2o-auth__float label { font-size:13px!important; }
  .h2o-auth__options { margin:2px 0 16px; }
  .h2o-auth__check { font-size:12px; }
  .h2o-auth__forgot { font-size:12px; }
  .h2o-auth .h2o-auth__submit { padding:13px 20px!important; font-size:12px!important; }
  .h2o-auth__google-wrap .nsl-button,
  .h2o-auth__google-wrap [data-provider="google"] {
    padding:12px 20px!important; font-size:13px!important;
  }
}
@media (max-width:380px) {
  .h2o-auth__brand { padding:16px 16px 20px; }
  .h2o-auth__headline { font-size:20px; }
  .h2o-auth__sub { font-size:11px; }
  .h2o-auth__form-panel { padding:16px 14px 28px; }
}

/* Focus accessibility */
.h2o-auth *:focus-visible { outline:2px solid var(--h2o-orange); outline-offset:2px; }

/* ── Chat widget — push above form on mobile ── */
@media (max-width:768px) {
  body.h2o-auth-page #tawk-bubble-container,
  body.h2o-auth-page .tawk-min-container,
  body.h2o-auth-page [class*="tawk"],
  body.h2o-auth-page #tidio-chat,
  body.h2o-auth-page .crisp-client {
    bottom:16px!important; right:12px!important;
    z-index:99!important;
  }
  /* Notices smaller on mobile */
  .h2o-notices-float {
    max-width:calc(100% - 24px)!important; top:12px!important;
  }
  .h2o-notices-float .woocommerce-error,
  .h2o-notices-float .woocommerce-message,
  .h2o-notices-float .woocommerce-info {
    font-size:12px!important; padding:12px 16px!important;
  }
}

/* ── Autofill background fix (Chrome yellow) ── */
.h2o-auth input:-webkit-autofill,
.h2o-auth input:-webkit-autofill:hover,
.h2o-auth input:-webkit-autofill:focus {
  -webkit-box-shadow:0 0 0 40px #F7F8FA inset!important;
  -webkit-text-fill-color:var(--h2o-text-dark)!important;
  font-family:var(--h2o-font)!important;
  font-size:14px!important;
  transition:background-color 5000s ease-in-out 0s!important;
}
.h2o-auth input:focus:-webkit-autofill {
  -webkit-box-shadow:0 0 0 40px #fff inset!important;
}

/* ================================================================
   LOST PASSWORD PAGE — Fully self-contained
   ================================================================ */

/* Hide page title + hero on lost-password (CSS :has + JS fallback class) */
.woocommerce-account:has(.h2o-lost) .entry-hero,
.woocommerce-account:has(.h2o-lost) .page-hero-section,
.woocommerce-account:has(.h2o-lost) .kadence-page-hero,
.woocommerce-account:has(.h2o-lost) .entry-header,
.woocommerce-account:has(.h2o-lost) .page-header,
.woocommerce-account:has(.h2o-lost) .hero-section,
.woocommerce-account:has(.h2o-lost) .page-title,
.woocommerce-account:has(.h2o-lost) .entry-hero-container-inner,
body.h2o-lost-page .entry-hero,
body.h2o-lost-page .page-hero-section,
body.h2o-lost-page .kadence-page-hero,
body.h2o-lost-page .entry-header,
body.h2o-lost-page .page-header,
body.h2o-lost-page .hero-section,
body.h2o-lost-page .page-title,
body.h2o-lost-page .entry-hero-container-inner,
body.h2o-lost-page .woocommerce-MyAccount-navigation {
  display:none!important;
}

/* Clean content area */
.woocommerce-account:has(.h2o-lost) .entry-content-wrap,
.woocommerce-account:has(.h2o-lost) .entry-content,
body.h2o-lost-page .entry-content-wrap,
body.h2o-lost-page .entry-content {
  background:#f9fafb!important; padding:0!important;
  max-width:100%!important;
}
.woocommerce-account:has(.h2o-lost) article.entry,
body.h2o-lost-page article.entry {
  background:#f9fafb!important;
}
.woocommerce-account:has(.h2o-lost) .woocommerce-notices-wrapper:empty,
body.h2o-lost-page .woocommerce-notices-wrapper:empty {
  display:none!important;
}

/* Also style any WooCommerce notice on lost-password as toast */
body.h2o-lost-page .woocommerce-message {
  position:fixed!important; top:24px!important; left:50%!important;
  transform:translateX(-50%)!important; z-index:99999!important;
  max-width:420px!important; width:calc(100% - 32px)!important;
  font-family:'Montserrat',sans-serif!important;
  font-size:13px!important; font-weight:500!important;
  padding:16px 20px!important; border-radius:12px!important; border:none!important;
  background:rgba(240,253,244,0.97)!important; color:#166534!important;
  border-left:4px solid #22C55E!important;
  box-shadow:0 8px 32px rgba(0,0,0,0.12)!important;
  animation:h2oToastIn 0.4s cubic-bezier(0.4,0,0.2,1)!important;
}
body.h2o-lost-page .woocommerce-message::before { display:none!important; }
.h2o-lost {
  display:flex!important; justify-content:center!important; align-items:center!important;
  min-height:70vh!important; padding:60px 20px!important;
  font-family:'Montserrat',sans-serif!important; -webkit-font-smoothing:antialiased;
  background:#f9fafb!important;
}
.h2o-lost__card {
  width:100%!important; max-width:440px!important;
  background:#fff!important; border-radius:20px!important;
  box-shadow:0 4px 32px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04)!important;
  padding:48px 40px!important; text-align:center!important;
}

/* Icon */
.h2o-lost__icon {
  width:64px!important; height:64px!important; margin:0 auto 24px!important;
  background:linear-gradient(135deg, rgba(242,107,34,0.1) 0%, rgba(242,107,34,0.05) 100%)!important;
  border-radius:16px!important; display:flex!important; align-items:center!important;
  justify-content:center!important;
}
.h2o-lost__icon svg {
  width:28px!important; height:28px!important; max-width:28px!important; max-height:28px!important;
  flex-shrink:0!important;
}

/* Title + desc */
.h2o-lost__title {
  font-family:'Montserrat',sans-serif!important;
  font-size:24px!important; font-weight:800!important; color:#1A1D23!important;
  letter-spacing:-0.02em!important; margin:0 0 10px!important;
}
.h2o-lost__desc {
  font-size:14px!important; line-height:1.6!important; color:#6B7280!important;
  margin:0 0 28px!important; font-weight:400!important;
}

/* Field */
.h2o-lost__field { margin-bottom:20px!important; text-align:left!important; }
.h2o-lost__float { position:relative!important; }
.h2o-lost__float input,
.h2o-lost__float input[type="text"],
.h2o-lost__float input[type="email"] {
  width:100%!important; padding:18px 16px 7px!important;
  font-family:'Montserrat',sans-serif!important; font-size:14px!important; font-weight:500!important;
  color:#1A1D23!important; background:#F7F8FA!important;
  border:1.5px solid transparent!important; border-radius:10px!important;
  outline:none!important; transition:all 0.25s ease!important;
  height:auto!important; line-height:1.4!important;
  box-shadow:none!important; margin:0!important;
  -webkit-appearance:none!important; appearance:none!important;
}
.h2o-lost__float input::placeholder { color:transparent!important; }
.h2o-lost__float label {
  position:absolute!important; left:16px!important; top:50%!important;
  transform:translateY(-50%)!important;
  font-size:14px!important; font-weight:500!important; color:#9CA3AF!important;
  pointer-events:none!important;
  transition:all 0.25s cubic-bezier(0.4,0,0.2,1)!important;
  transform-origin:left center!important;
  background:transparent!important; padding:0!important; margin:0!important;
  line-height:1!important;
}
.h2o-lost__float input:focus ~ label,
.h2o-lost__float input:not(:placeholder-shown) ~ label {
  top:9px!important; transform:translateY(0) scale(0.72)!important;
  color:#6B7280!important; font-weight:700!important; letter-spacing:0.03em!important;
}
.h2o-lost__float input:focus {
  background:#fff!important; border-color:#F26B22!important;
  box-shadow:0 0 0 3px rgba(242,107,34,0.08)!important;
}
.h2o-lost__float input:-webkit-autofill {
  -webkit-box-shadow:0 0 0 40px #F7F8FA inset!important;
  -webkit-text-fill-color:#1A1D23!important;
}

/* Submit */
.h2o-lost__submit {
  width:100%!important; padding:14px 24px!important;
  font-family:'Montserrat',sans-serif!important; font-size:13px!important; font-weight:800!important;
  letter-spacing:0.08em!important; text-transform:uppercase!important; color:#fff!important;
  background:linear-gradient(135deg,#F26B22 0%,#E8601A 100%)!important;
  border:none!important; border-radius:10px!important; cursor:pointer!important;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1)!important;
  line-height:1.4!important; box-shadow:none!important;
  display:block!important; text-align:center!important;
}
.h2o-lost__submit:hover {
  transform:translateY(-2px)!important;
  box-shadow:0 8px 24px rgba(242,107,34,0.4),0 2px 8px rgba(242,107,34,0.2)!important;
}

/* Back link */
.h2o-lost__back {
  display:inline-flex!important; align-items:center!important; gap:6px!important;
  margin-top:24px!important; font-size:13px!important; font-weight:600!important;
  color:#6B7280!important; text-decoration:none!important; transition:all 0.2s!important;
}
.h2o-lost__back:hover { color:#F26B22!important; gap:8px!important; }
.h2o-lost__back svg {
  width:16px!important; height:16px!important; max-width:16px!important; max-height:16px!important;
  flex-shrink:0!important;
}
.h2o-lost__back:hover svg { transform:translateX(-2px)!important; }

/* Responsive */
@media (max-width:480px) {
  .h2o-lost { padding:32px 16px!important; min-height:50vh!important; }
  .h2o-lost__card { padding:36px 24px!important; border-radius:16px!important; }
  .h2o-lost__icon { width:56px!important; height:56px!important; margin-bottom:20px!important; }
  .h2o-lost__icon svg { width:24px!important; height:24px!important; }
  .h2o-lost__title { font-size:20px!important; }
  .h2o-lost__desc { font-size:13px!important; margin-bottom:24px!important; }
}

/* ── Success icon variant ── */
.h2o-lost__icon--success {
  background:linear-gradient(135deg, rgba(34,197,94,0.1) 0%, rgba(34,197,94,0.04) 100%)!important;
}

/* ── Info box (email sent page) ── */
.h2o-lost__info {
  display:flex!important; align-items:flex-start!important; gap:10px!important;
  padding:14px 16px!important;
  background:#F0F9FF!important; border:1px solid #BAE6FD!important;
  border-radius:10px!important; margin-bottom:24px!important;
  text-align:left!important;
}
.h2o-lost__info svg {
  width:16px!important; height:16px!important; min-width:16px!important;
  max-width:16px!important; max-height:16px!important;
  color:#0284C7!important; flex-shrink:0!important; margin-top:2px!important;
}
.h2o-lost__info span {
  font-size:12px!important; line-height:1.55!important; color:#0C4A6E!important;
  font-weight:500!important;
}

/* ── Password fields for reset form ── */
.h2o-lost__pw-wrap { position:relative!important; }
.h2o-lost__pw-wrap input { padding-right:48px!important; }
.h2o-lost__pw-toggle {
  position:absolute!important; right:14px!important; top:50%!important;
  transform:translateY(-50%)!important;
  background:none!important; border:none!important; cursor:pointer!important;
  padding:4px!important; color:#C5C9D2!important; transition:color 0.2s!important;
  z-index:2!important;
}
.h2o-lost__pw-toggle:hover { color:#6B7280!important; }
.h2o-lost__pw-toggle svg {
  width:18px!important; height:18px!important; max-width:18px!important;
  max-height:18px!important;
}
