/* =========================================================
   BOOSTROGO PAGE UX v41
   Globalny polish dla widoków, które nie miały jeszcze nowego UX:
   - logowanie / rejestracja Ultimate Member
   - sklep i archiwa produktów WooCommerce
   - archiwa kategorii magazynu
   - program lojalnościowy

   Kierunek wizualny: GameCtaShortcode.php
   BOOSTROGO_PAGE_UX_V41_ACTIVE
========================================================= */

:root{
  --bgo-page-navy:#11183d;
  --bgo-page-navy-2:#1f2d68;
  --bgo-page-purple:#58245f;
  --bgo-page-red:#fb0444;
  --bgo-page-red-2:#ff5f87;
  --bgo-page-ice:#eaf7fb;
  --bgo-page-bg:#f5f9fc;
  --bgo-page-text:#11183d;
  --bgo-page-muted:rgba(17,24,61,.62);
  --bgo-page-line:rgba(17,24,61,.10);
  --bgo-page-shadow:0 30px 78px rgba(17,24,61,.14);
  --bgo-page-shadow-strong:0 34px 94px rgba(17,24,61,.22);
}

body:not(.wp-admin){
  background:
    radial-gradient(circle at 4% 12%, rgba(251,4,68,.045), transparent 26%),
    radial-gradient(circle at 96% 10%, rgba(80,215,255,.09), transparent 30%),
    linear-gradient(180deg,#f8fcff 0%,#eff7fb 100%) !important;
}

/* =========================================================
   1) ULTIMATE MEMBER — LOGOWANIE / REJESTRACJA
========================================================= */

body .um.um-login,
body .um.um-register,
body .um.um-password,
body .um.um-profile.um-editing,
body .um.um-account{
  color:var(--bgo-page-text)!important;
}

body .um.um-login,
body .um.um-register,
body .um.um-password{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  width:min(860px,calc(100% - 32px))!important;
  max-width:860px!important;
  margin:44px auto 76px!important;
  padding:32px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(251,4,68,.10), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(80,215,255,.13), transparent 36%),
    linear-gradient(145deg,#fff 0%,#f8fbff 58%,#eaf7fb 100%)!important;
  border:1px solid rgba(17,24,61,.10)!important;
  box-shadow:var(--bgo-page-shadow)!important;
}

body .um.um-login::before,
body .um.um-register::before,
body .um.um-password::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto auto 0!important;
  z-index:4!important;
  width:36%!important;
  height:7px!important;
  border-radius:0 0 999px 0!important;
  background:linear-gradient(90deg,var(--bgo-page-red),rgba(251,4,68,.10))!important;
}

body .um.um-login::after,
body .um.um-register::after,
body .um.um-password::after{
  content:"BOOSTROGO"!important;
  position:absolute!important;
  right:-12px!important;
  bottom:-26px!important;
  z-index:-1!important;
  color:rgba(17,24,61,.045)!important;
  font-size:clamp(66px,9vw,124px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.10em!important;
  pointer-events:none!important;
}

body .um.um-login .um-form,
body .um.um-register .um-form,
body .um.um-password .um-form{
  position:relative!important;
  z-index:2!important;
}

body .um.um-login .um-field-label label,
body .um.um-register .um-field-label label,
body .um.um-password .um-field-label label,
body .um.um-login label,
body .um.um-register label,
body .um.um-password label{
  color:var(--bgo-page-navy)!important;
  font-size:15px!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}

body .um.um-login input[type="text"],
body .um.um-login input[type="email"],
body .um.um-login input[type="password"],
body .um.um-register input[type="text"],
body .um.um-register input[type="email"],
body .um.um-register input[type="password"],
body .um.um-register input[type="tel"],
body .um.um-register select,
body .um.um-password input[type="text"],
body .um.um-password input[type="email"]{
  min-height:56px!important;
  border-radius:18px!important;
  border:1px solid rgba(17,24,61,.13)!important;
  background:#fff!important;
  color:var(--bgo-page-navy)!important;
  font-size:15px!important;
  box-shadow:0 12px 34px rgba(17,24,61,.045)!important;
}

body .um.um-login input:focus,
body .um.um-register input:focus,
body .um.um-register select:focus,
body .um.um-password input:focus{
  border-color:rgba(251,4,68,.55)!important;
  box-shadow:0 0 0 4px rgba(251,4,68,.12),0 14px 34px rgba(17,24,61,.055)!important;
}

body .um.um-login .um-button,
body .um.um-register .um-button,
body .um.um-password .um-button,
body .um.um-login input[type="submit"],
body .um.um-register input[type="submit"],
body .um.um-password input[type="submit"]{
  min-height:52px!important;
  padding:14px 22px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--bgo-page-red),var(--bgo-page-red-2))!important;
  border:0!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  box-shadow:0 18px 38px rgba(251,4,68,.20)!important;
}

body .um.um-login .um-button.um-alt,
body .um.um-register .um-button.um-alt,
body .um.um-password .um-button.um-alt,
body .um.um-login a.um-button.um-alt,
body .um.um-register a.um-button.um-alt{
  background:rgba(234,247,251,.72)!important;
  border:1px solid rgba(17,24,61,.08)!important;
  color:var(--bgo-page-navy)!important;
  box-shadow:0 12px 30px rgba(17,24,61,.06)!important;
}

body .um.um-login .um-link-alt,
body .um.um-password .um-link-alt,
body .um.um-login a,
body .um.um-register a{
  color:var(--bgo-page-navy)!important;
  font-weight:850!important;
}

body .um.um-login .um-field-checkbox-option,
body .um.um-login .um-field-radio-option,
body .um.um-register .um-field-checkbox-option,
body .um.um-register .um-field-radio-option{
  color:rgba(17,24,61,.66)!important;
  font-weight:650!important;
}

/* =========================================================
   2) REGISTER / ACCOUNT PAGE CUSTOM HEADERS
========================================================= */

body .bg-auth-header,
body .bg-profile-edit-header,
body .bg-account-center-hero,
body .bg-account-hero,
body .bg-participant-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  width:min(1180px,calc(100% - 32px))!important;
  margin:34px auto 28px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 89% 5%,rgba(251,4,68,.24),transparent 28%),
    radial-gradient(circle at 8% 100%,rgba(68,118,255,.16),transparent 31%),
    linear-gradient(135deg,var(--bgo-page-navy) 0%,var(--bgo-page-navy-2) 62%,var(--bgo-page-purple) 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:var(--bgo-page-shadow-strong)!important;
}

/* =========================================================
   3) WOO — SKLEP / ARCHIWA PRODUKTÓW
========================================================= */

body.woocommerce-shop .woocommerce,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.archive.woocommerce .woocommerce{
  width:min(1180px,calc(100% - 32px))!important;
  margin:34px auto 78px!important;
}

body.woocommerce-shop .woocommerce::before,
body.post-type-archive-product .woocommerce::before,
body.tax-product_cat .woocommerce::before,
body.archive.woocommerce .woocommerce::before{
  content:"Sklep BoostroGO"!important;
  position:relative!important;
  display:block!important;
  margin:0 0 28px!important;
  padding:42px 34px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 89% 5%,rgba(251,4,68,.24),transparent 28%),
    radial-gradient(circle at 8% 100%,rgba(68,118,255,.16),transparent 31%),
    linear-gradient(135deg,var(--bgo-page-navy) 0%,var(--bgo-page-navy-2) 62%,var(--bgo-page-purple) 100%)!important;
  color:#fff!important;
  font-size:clamp(38px,4vw,62px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.06em!important;
  box-shadow:var(--bgo-page-shadow-strong)!important;
  border:1px solid rgba(255,255,255,.09)!important;
}

body.woocommerce-shop .page-title,
body.post-type-archive-product .page-title,
body.tax-product_cat .page-title,
body.archive.woocommerce .page-title{
  display:none!important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.archive.woocommerce .woocommerce-result-count{
  color:rgba(17,24,61,.58)!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

body.woocommerce-shop .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.archive.woocommerce .woocommerce-ordering select{
  min-height:44px!important;
  border-radius:16px!important;
  border:1px solid rgba(17,24,61,.11)!important;
  background:#fff!important;
  color:var(--bgo-page-navy)!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:0 12px 30px rgba(17,24,61,.055)!important;
}

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.archive.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  margin-top:28px!important;
}

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.archive.woocommerce ul.products li.product{
  position:relative!important;
  overflow:hidden!important;
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0 0 18px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(251,4,68,.08),transparent 30%),
    linear-gradient(145deg,#fff 0%,#f8fbff 58%,#eaf7fb 100%)!important;
  border:1px solid rgba(17,24,61,.10)!important;
  box-shadow:0 22px 60px rgba(17,24,61,.10)!important;
}

body.woocommerce-shop ul.products li.product::before,
body.post-type-archive-product ul.products li.product::before,
body.tax-product_cat ul.products li.product::before,
body.archive.woocommerce ul.products li.product::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:46%!important;
  height:6px!important;
  background:linear-gradient(90deg,var(--bgo-page-red),var(--bgo-page-navy))!important;
  border-radius:0 0 999px 0!important;
  z-index:3!important;
}

body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.archive.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:block!important;
  text-decoration:none!important;
}

body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
body.tax-product_cat ul.products li.product img,
body.archive.woocommerce ul.products li.product img{
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  margin:0 0 16px!important;
  border-radius:28px 28px 20px 20px!important;
  background:#fff!important;
}

body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:0 18px!important;
  color:var(--bgo-page-navy)!important;
  font-size:17px!important;
  line-height:1.12!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}

body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.archive.woocommerce ul.products li.product .price{
  display:block!important;
  padding:0 18px!important;
  color:var(--bgo-page-navy)!important;
  font-size:16px!important;
  font-weight:950!important;
}

body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.archive.woocommerce ul.products li.product .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  margin:12px 18px 0!important;
  padding:11px 16px!important;
  border-radius:999px!important;
  background:var(--bgo-page-navy)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 14px 32px rgba(17,24,61,.16)!important;
}

body.woocommerce-shop ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product .button:hover,
body.tax-product_cat ul.products li.product .button:hover,
body.archive.woocommerce ul.products li.product .button:hover{
  background:var(--bgo-page-red)!important;
}

/* =========================================================
   4) MAGAZYN — ARCHIWA KATEGORII
========================================================= */

body.category .bg-mag-archive,
body.archive .bg-mag-archive{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin:34px auto 78px!important;
}

body.category .bg-mag-archive-hero,
body.archive .bg-mag-archive-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  padding:42px 34px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 89% 5%,rgba(251,4,68,.24),transparent 28%),
    radial-gradient(circle at 8% 100%,rgba(68,118,255,.16),transparent 31%),
    linear-gradient(135deg,var(--bgo-page-navy) 0%,var(--bgo-page-navy-2) 62%,var(--bgo-page-purple) 100%)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:var(--bgo-page-shadow-strong)!important;
}

body.category .bg-mag-archive-hero::before,
body.archive .bg-mag-archive-hero::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  z-index:4!important;
  width:36%!important;
  height:7px!important;
  background:linear-gradient(90deg,var(--bgo-page-red),rgba(251,4,68,.10))!important;
  border-radius:0 0 999px 0!important;
}

body.category .bg-mag-archive-hero-bg,
body.archive .bg-mag-archive-hero-bg{
  color:rgba(255,255,255,.045)!important;
}

body.category .bg-mag-archive-kicker,
body.archive .bg-mag-archive-kicker{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.13)!important;
}

body.category .bg-mag-archive-hero h1,
body.archive .bg-mag-archive-hero h1{
  color:#fff!important;
  font-size:clamp(42px,4.6vw,70px)!important;
  line-height:.96!important;
  font-weight:950!important;
  letter-spacing:-.07em!important;
  text-shadow:0 18px 44px rgba(0,0,0,.26)!important;
}

body.category .bg-mag-archive-hero p,
body.archive .bg-mag-archive-hero p{
  color:rgba(255,255,255,.76)!important;
  font-size:16px!important;
  line-height:1.62!important;
  font-weight:680!important;
}

body.category .bg-mag-archive-stats > div,
body.archive .bg-mag-archive-stats > div{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
}

body.category .bg-mag-archive-empty,
body.archive .bg-mag-archive-empty,
body.category .bg-mag-archive-cta,
body.archive .bg-mag-archive-cta{
  border-radius:28px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(251,4,68,.18),transparent 30%),
    linear-gradient(135deg,var(--bgo-page-navy),var(--bgo-page-purple))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 24px 64px rgba(17,24,61,.18)!important;
}

body.category .bg-mag-archive-empty h2,
body.archive .bg-mag-archive-empty h2,
body.category .bg-mag-archive-cta h2,
body.archive .bg-mag-archive-cta h2,
body.category .bg-mag-archive-empty p,
body.archive .bg-mag-archive-empty p,
body.category .bg-mag-archive-cta p,
body.archive .bg-mag-archive-cta p{
  color:#fff!important;
}

body.category .bg-mag-archive-card,
body.archive .bg-mag-archive-card,
body.category .bg-mag-archive-featured,
body.archive .bg-mag-archive-featured{
  border-radius:30px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(251,4,68,.08),transparent 30%),
    linear-gradient(145deg,#fff 0%,#f8fbff 58%,#eaf7fb 100%)!important;
  border:1px solid rgba(17,24,61,.10)!important;
  box-shadow:0 22px 60px rgba(17,24,61,.10)!important;
}

/* =========================================================
   5) PROGRAM LOJALNOŚCIOWY
========================================================= */

body .bg-loyalty-dashboard{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin:34px auto 78px!important;
  color:var(--bgo-page-navy)!important;
}

body .bg-loyalty-hero,
body .bg-loyalty-guest-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  padding:38px 34px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 89% 5%,rgba(251,4,68,.24),transparent 28%),
    radial-gradient(circle at 8% 100%,rgba(68,118,255,.16),transparent 31%),
    linear-gradient(135deg,var(--bgo-page-navy) 0%,var(--bgo-page-navy-2) 62%,var(--bgo-page-purple) 100%)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:var(--bgo-page-shadow-strong)!important;
}

body .bg-loyalty-hero::before,
body .bg-loyalty-guest-hero::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  z-index:4!important;
  width:36%!important;
  height:7px!important;
  background:linear-gradient(90deg,var(--bgo-page-red),rgba(251,4,68,.10))!important;
  border-radius:0 0 999px 0!important;
}

body .bg-loyalty-hero h2,
body .bg-loyalty-guest-hero h2{
  color:#fff!important;
  font-size:clamp(42px,4.6vw,70px)!important;
  line-height:.96!important;
  font-weight:950!important;
  letter-spacing:-.07em!important;
}

body .bg-loyalty-hero p,
body .bg-loyalty-guest-hero p{
  color:rgba(255,255,255,.76)!important;
  font-size:16px!important;
  line-height:1.62!important;
  font-weight:650!important;
}

body .bg-loyalty-kicker{
  color:rgba(255,255,255,.88)!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  display:inline-flex!important;
  width:max-content!important;
  min-height:32px!important;
  align-items:center!important;
  padding:8px 12px!important;
  border-radius:999px!important;
}

body .bg-loyalty-balance,
body .bg-loyalty-guest-score{
  border-radius:28px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}

body .bg-loyalty-card,
body .bg-loyalty-rewards-fallback{
  position:relative!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(251,4,68,.07),transparent 30%),
    linear-gradient(145deg,#fff 0%,#f8fbff 58%,#eaf7fb 100%)!important;
  border:1px solid rgba(17,24,61,.10)!important;
  box-shadow:0 22px 60px rgba(17,24,61,.10)!important;
}

body .bg-loyalty-card::before,
body .bg-loyalty-rewards-fallback::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:38%!important;
  height:6px!important;
  background:linear-gradient(90deg,var(--bgo-page-red),var(--bgo-page-navy))!important;
  border-radius:0 0 999px 0!important;
}

body .bg-loyalty-card h3,
body .bg-loyalty-rewards-fallback h3{
  color:var(--bgo-page-navy)!important;
  font-size:clamp(24px,2.6vw,34px)!important;
  line-height:1.04!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}

body .bg-loyalty-history li,
body .bg-loyalty-rules li,
body .bg-loyalty-stats div{
  border-radius:18px!important;
  background:rgba(255,255,255,.70)!important;
  border:1px solid rgba(17,24,61,.075)!important;
}

body .bg-loyalty-info-strip{
  border-radius:28px!important;
  background:linear-gradient(135deg,var(--bgo-page-navy),var(--bgo-page-purple))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:0 24px 64px rgba(17,24,61,.18)!important;
}

body .bg-loyalty-info-strip strong,
body .bg-loyalty-info-strip span{
  color:#fff!important;
}

/* =========================================================
   RESPONSYWNOŚĆ
========================================================= */

@media(max-width:1100px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.archive.woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  body .bg-loyalty-grid,
  body .bg-loyalty-grid-bottom{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:820px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.archive.woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }

  body .um.um-login,
  body .um.um-register,
  body .um.um-password{
    width:min(100% - 24px,760px)!important;
    padding:24px!important;
    border-radius:28px!important;
  }
}

@media(max-width:560px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.archive.woocommerce ul.products{
    grid-template-columns:1fr!important;
  }

  body.woocommerce-shop .woocommerce::before,
  body.post-type-archive-product .woocommerce::before,
  body.tax-product_cat .woocommerce::before,
  body.archive.woocommerce .woocommerce::before,
  body.category .bg-mag-archive-hero,
  body.archive .bg-mag-archive-hero,
  body .bg-loyalty-hero,
  body .bg-loyalty-guest-hero{
    padding:28px 22px!important;
    border-radius:28px!important;
  }

  body.category .bg-mag-archive-hero h1,
  body.archive .bg-mag-archive-hero h1,
  body .bg-loyalty-hero h2,
  body .bg-loyalty-guest-hero h2{
    font-size:40px!important;
  }
}
/* =========================================================
   BOOSTROGO PAGE UX v42 — AUTH BOOSTRO POLISH
   Cel: logowanie + rejestracja w stylu Game CTA / BoostroGO.
   - login centralnie jak register,
   - login dostaje tytuł bez edycji treści strony,
   - formularze mają ciemny Boostro wrapper + białe wnętrze,
   - register header mocniejszy i bardziej Boostro.
   BOOSTROGO_PAGE_UX_V42_AUTH_ACTIVE
========================================================= */

/* Lepsza przestrzeń stron auth */
body:has(.um.um-login),
body:has(.um.um-register){
  background:
    radial-gradient(circle at 9% 8%, rgba(251,4,68,.055), transparent 27%),
    radial-gradient(circle at 92% 12%, rgba(80,215,255,.12), transparent 32%),
    linear-gradient(180deg,#f8fcff 0%,#eef7fb 100%)!important;
}

/* Elementor / Blocksy potrafi zostawić formularz w lewej kolumnie — wymuszamy centrum tylko tam, gdzie jest UM login/register */
body:has(.um.um-login) .entry-content:has(.um.um-login),
body:has(.um.um-login) .ct-entry-content:has(.um.um-login),
body:has(.um.um-login) .elementor-widget-container:has(.um.um-login),
body:has(.um.um-register) .entry-content:has(.um.um-register),
body:has(.um.um-register) .ct-entry-content:has(.um.um-register),
body:has(.um.um-register) .elementor-widget-container:has(.um.um-register){
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

body:has(.um.um-login) .elementor-section:has(.um.um-login),
body:has(.um.um-register) .elementor-section:has(.um.um-register){
  width:100%!important;
}

body:has(.um.um-login) .elementor-section:has(.um.um-login) > .elementor-container,
body:has(.um.um-register) .elementor-section:has(.um.um-register) > .elementor-container{
  width:min(1180px, calc(100% - 32px))!important;
  max-width:1180px!important;
  justify-content:center!important;
}

body:has(.um.um-login) .elementor-column:has(.um.um-login),
body:has(.um.um-register) .elementor-column:has(.um.um-register){
  width:100%!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ===== AUTH HEADER SHORTCODE: prawdziwy Boostro hero ===== */
body .bgauth-head{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  width:min(1040px, calc(100% - 32px))!important;
  margin:34px auto 24px!important;
  padding:26px!important;
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 88% 10%, rgba(251,4,68,.30), transparent 30%),
    radial-gradient(circle at 8% 100%, rgba(80,215,255,.16), transparent 36%),
    linear-gradient(135deg,#11183D 0%,#243470 58%,#721a55 100%)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 34px 92px rgba(17,24,61,.22)!important;
  color:#fff!important;
}

body .bgauth-head::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  z-index:4!important;
  width:36%!important;
  height:7px!important;
  border-radius:0 0 999px 0!important;
  background:#FB0444!important;
}

body .bgauth-head::after{
  content:"BOOSTROGO"!important;
  position:absolute!important;
  right:-20px!important;
  bottom:-28px!important;
  z-index:0!important;
  color:rgba(255,255,255,.055)!important;
  font-size:clamp(76px, 9vw, 138px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.10em!important;
  pointer-events:none!important;
}

body .bgauth-mark,
body .bgauth-copy,
body .bgauth-side{
  position:relative!important;
  z-index:2!important;
}

body .bgauth-mark{
  width:62px!important;
  height:62px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.92), transparent 32%),
    linear-gradient(135deg,#FB0444,#c90032)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(251,4,68,.25)!important;
}

body .bgauth-copy p{
  margin:0 0 5px!important;
  color:#fff!important;
  opacity:.86!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

body .bgauth-copy h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(36px, 4.8vw, 64px)!important;
  line-height:.94!important;
  font-weight:950!important;
  letter-spacing:-.072em!important;
  text-shadow:0 18px 42px rgba(0,0,0,.22)!important;
}

body .bgauth-copy div{
  max-width:720px!important;
  margin-top:8px!important;
  color:rgba(255,255,255,.76)!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:650!important;
}

body .bgauth-side a{
  min-height:44px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#11183D!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 16px 36px rgba(0,0,0,.16)!important;
}

/* ===== UM LOGIN / REGISTER: wspólny Boostro wrapper ===== */
body .um.um-login,
body .um.um-register,
body .um.um-password{
  width:min(720px, calc(100% - 32px))!important;
  max-width:720px!important;
  margin:34px auto 76px!important;
  padding:18px!important;
  border-radius:36px!important;
  background:
    radial-gradient(circle at 88% 7%, rgba(251,4,68,.25), transparent 31%),
    radial-gradient(circle at 0% 100%, rgba(80,215,255,.16), transparent 36%),
    linear-gradient(135deg,#11183D 0%,#243470 58%,#721a55 100%)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 34px 92px rgba(17,24,61,.20)!important;
}

body .um.um-login::before,
body .um.um-register::before,
body .um.um-password::before{
  width:38%!important;
  height:7px!important;
  background:#FB0444!important;
  z-index:6!important;
}

body .um.um-login::after,
body .um.um-register::after,
body .um.um-password::after{
  z-index:0!important;
  color:rgba(255,255,255,.055)!important;
  font-size:clamp(86px, 10vw, 150px)!important;
  right:0!important;
  bottom:-25px!important;
}

body .um.um-login .um-form,
body .um.um-register .um-form,
body .um.um-password .um-form{
  position:relative!important;
  z-index:2!important;
  padding:28px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(251,4,68,.08), transparent 30%),
    radial-gradient(circle at 0% 100%, rgba(80,215,255,.12), transparent 34%),
    linear-gradient(145deg,#fff 0%,#f8fbff 58%,#eaf7fb 100%)!important;
  border:1px solid rgba(255,255,255,.70)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.12)!important;
}

/* Login dostaje brakujący tytuł bez grzebania w treści strony */
body .um.um-login .um-form::before{
  content:"Logowanie"!important;
  display:block!important;
  margin:0 0 6px!important;
  color:#11183D!important;
  font-size:clamp(34px, 4vw, 48px)!important;
  line-height:.96!important;
  font-weight:950!important;
  letter-spacing:-.065em!important;
}

body .um.um-login .um-field:first-of-type::before{
  content:"Wróć do panelu uczestnika, wyzwań, ligi i punktów BoostroGO."!important;
  display:block!important;
  max-width:470px!important;
  margin:0 0 18px!important;
  color:rgba(17,24,61,.62)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  font-weight:650!important;
}

body .um.um-register .um-form::before{
  content:"Twoje konto BoostroGO"!important;
  display:block!important;
  margin:0 0 18px!important;
  color:#11183D!important;
  font-size:clamp(26px, 2.7vw, 36px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
}

/* Mniej surowe pola i lepszy rytm */
body .um.um-login .um-field,
body .um.um-register .um-field,
body .um.um-password .um-field{
  padding-top:10px!important;
}

body .um.um-login .um-field-label,
body .um.um-register .um-field-label,
body .um.um-password .um-field-label{
  margin-bottom:7px!important;
}

body .um.um-login input[type="text"],
body .um.um-login input[type="email"],
body .um.um-login input[type="password"],
body .um.um-register input[type="text"],
body .um.um-register input[type="email"],
body .um.um-register input[type="password"],
body .um.um-register input[type="tel"],
body .um.um-register select,
body .um.um-password input[type="text"],
body .um.um-password input[type="email"]{
  min-height:54px!important;
  border-radius:17px!important;
  background:#fff!important;
  border:1px solid rgba(17,24,61,.12)!important;
  box-shadow:0 12px 34px rgba(17,24,61,.045)!important;
}

body .um.um-login .um-field-checkbox,
body .um.um-register .um-field-checkbox,
body .um.um-login .um-field-radio,
body .um.um-register .um-field-radio{
  border-radius:16px!important;
}

body .um.um-login .um-col-alt,
body .um.um-register .um-col-alt,
body .um.um-password .um-col-alt{
  margin-top:18px!important;
}

body .um.um-login .um-button,
body .um.um-register .um-button,
body .um.um-password .um-button,
body .um.um-login input[type="submit"],
body .um.um-register input[type="submit"],
body .um.um-password input[type="submit"]{
  min-height:50px!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,#FB0444,#ff5f87)!important;
  box-shadow:0 18px 38px rgba(251,4,68,.22)!important;
}

body .um.um-login .um-button.um-alt,
body .um.um-register .um-button.um-alt,
body .um.um-password .um-button.um-alt,
body .um.um-login a.um-button.um-alt,
body .um.um-register a.um-button.um-alt{
  background:rgba(255,255,255,.72)!important;
  color:#11183D!important;
  border:1px solid rgba(17,24,61,.09)!important;
}

/* Login: przyciski i forgot w ładniejszym układzie */
body .um.um-login .um-col-alt{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
}

body .um.um-login .um-left,
body .um.um-login .um-right{
  width:auto!important;
  float:none!important;
}

body .um.um-login .um-link-alt{
  display:block!important;
  width:100%!important;
  margin-top:10px!important;
  text-align:center!important;
  color:#11183D!important;
  font-weight:900!important;
}

/* Rejestracja: niech karta będzie mocniejsza, ale nadal czytelna przy długim formularzu */
body .um.um-register{
  width:min(760px, calc(100% - 32px))!important;
  max-width:760px!important;
}

body .um.um-register .um-form{
  padding:30px!important;
}

/* Jeżeli checkbox regulaminu robi bardzo długi tekst, zawijamy go ładniej */
body .um.um-register .um-field-checkbox-option{
  line-height:1.45!important;
}

/* Mały podpis pod loginem/registerem — efekt OS, bez nachalności */
body .um.um-login .um-form::after,
body .um.um-register .um-form::after{
  content:"BOOSTROGO"!important;
  position:absolute!important;
  right:8px!important;
  bottom:-9px!important;
  color:rgba(17,24,61,.045)!important;
  font-size:64px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.10em!important;
  pointer-events:none!important;
}

body::after{
  content:"BOOSTROGO_PAGE_UX_V42_AUTH_ACTIVE";
  display:none!important;
}

@media(max-width:820px){
  body .bgauth-head{
    grid-template-columns:56px minmax(0,1fr)!important;
    padding:22px!important;
    border-radius:28px!important;
  }

  body .bgauth-side{
    grid-column:1 / -1!important;
  }

  body .bgauth-side a{
    width:100%!important;
  }

  body .um.um-login,
  body .um.um-register,
  body .um.um-password{
    width:min(100% - 24px,720px)!important;
    padding:14px!important;
    border-radius:30px!important;
  }

  body .um.um-login .um-form,
  body .um.um-register .um-form,
  body .um.um-password .um-form{
    padding:22px!important;
    border-radius:24px!important;
  }
}

@media(max-width:560px){
  body .bgauth-copy h1{
    font-size:38px!important;
  }

  body .um.um-login .um-form::before{
    font-size:36px!important;
  }

  body .um.um-register .um-form::before{
    font-size:28px!important;
  }

  body .um.um-login .um-col-alt,
  body .um.um-register .um-col-alt{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  body .um.um-login .um-button,
  body .um.um-register .um-button,
  body .um.um-login a.um-button,
  body .um.um-register a.um-button{
    width:100%!important;
  }
}

/* =========================================================
   BOOSTROGO PAGE UX v43 — AUTH BRIDGE CLEANUP
   Cel:
   - /panel-uczestnika/ staje się mostem: niezalogowany -> /login/, zalogowany -> /moje-wyzwania/
   - login/register mają spójny, spokojniejszy Boostro UX
   - brak rozjazdu karty zalogowanego widzianej na starej stronie panelu
   BOOSTROGO_PAGE_UX_V43_AUTH_BRIDGE_ACTIVE
========================================================= */

/* Strony auth dostają bardziej wycentrowany układ, bez pływania w lewą stronę. */
body:has(.um.um-login) main,
body:has(.um.um-register) main,
body:has(.um.um-password) main,
body:has(.um.um-login) .site-main,
body:has(.um.um-register) .site-main,
body:has(.um.um-password) .site-main,
body:has(.um.um-login) .ct-container-full,
body:has(.um.um-register) .ct-container-full,
body:has(.um.um-password) .ct-container-full{
  min-height:calc(100vh - 260px)!important;
}

body:has(.um.um-login) .entry-content,
body:has(.um.um-login) .ct-entry-content,
body:has(.um.um-login) .elementor-widget-container,
body:has(.um.um-register) .entry-content,
body:has(.um.um-register) .ct-entry-content,
body:has(.um.um-register) .elementor-widget-container{
  justify-content:center!important;
}

/* LOGIN: szerzej, spokojniej, bez łamania tytułu */
body .um.um-login,
body .um.um-password{
  width:min(680px, calc(100% - 32px))!important;
  max-width:680px!important;
  margin:42px auto 86px!important;
  padding:16px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 92% 0%, rgba(251,4,68,.24), transparent 31%),
    radial-gradient(circle at 0% 100%, rgba(80,215,255,.17), transparent 36%),
    linear-gradient(135deg,#11183D 0%,#243470 58%,#721a55 100%)!important;
}

body .um.um-login .um-form,
body .um.um-password .um-form{
  padding:32px!important;
  border-radius:28px!important;
}

body .um.um-login .um-form::before{
  content:"Logowanie"!important;
  display:block!important;
  max-width:100%!important;
  margin:0 0 8px!important;
  color:#11183D!important;
  font-size:clamp(34px, 3.8vw, 52px)!important;
  line-height:.96!important;
  font-weight:950!important;
  letter-spacing:-.065em!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Opis tylko raz — wcześniejszy pseudoopis pod polem robił duplikat. */
body .um.um-login .um-field:first-of-type::before{
  content:"Wróć do wyzwań, aktywności, ligi i punktów BoostroGO."!important;
  display:block!important;
  max-width:520px!important;
  margin:0 0 18px!important;
  color:rgba(17,24,61,.62)!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:650!important;
}

body .um.um-login .um-field,
body .um.um-password .um-field{
  padding-top:12px!important;
}

body .um.um-login .um-field-checkbox{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:8px!important;
  margin-top:8px!important;
}

body .um.um-login .um-field-checkbox .um-field-checkbox-state,
body .um.um-login .um-field-checkbox input[type="checkbox"]{
  justify-self:center!important;
}

body .um.um-login .um-field-checkbox-option{
  color:rgba(17,24,61,.64)!important;
  font-size:13px!important;
  font-weight:750!important;
}

body .um.um-login .um-col-alt{
  margin-top:20px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
}

body .um.um-login .um-button,
body .um.um-login input[type="submit"],
body .um.um-login a.um-button{
  min-width:132px!important;
  min-height:48px!important;
  border-radius:16px!important;
}

body .um.um-login .um-link-alt{
  width:100%!important;
  margin-top:10px!important;
  text-align:center!important;
  color:#11183D!important;
  font-weight:900!important;
}

/* REGISTER: lepszy pion i spokojniejszy tytuł, żeby formularz nie wyglądał jak surowy UM. */
body .um.um-register{
  width:min(760px, calc(100% - 32px))!important;
  max-width:760px!important;
  margin:34px auto 88px!important;
  padding:16px!important;
  border-radius:34px!important;
}

body .um.um-register .um-form{
  padding:30px!important;
  border-radius:28px!important;
}

body .um.um-register .um-form::before{
  content:"Dane uczestnika"!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 18px!important;
  color:#11183D!important;
  font-size:clamp(26px, 2.6vw, 36px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
}

body .um.um-register .um-field-label label,
body .um.um-login .um-field-label label{
  color:#11183D!important;
  font-size:13px!important;
  font-weight:900!important;
}

body .um.um-register .um-field-radio-option,
body .um.um-register .um-field-checkbox-option{
  color:rgba(17,24,61,.70)!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:700!important;
}

/* Auth header na rejestracji — mniej pustki, bardziej jak mały hero. */
body .bgauth-head{
  width:min(960px, calc(100% - 32px))!important;
  margin:28px auto 22px!important;
  padding:22px!important;
  border-radius:30px!important;
}

body .bgauth-copy h1{
  font-size:clamp(36px, 4.2vw, 58px)!important;
  white-space:normal!important;
  word-break:normal!important;
}

body .bgauth-copy div{
  max-width:660px!important;
  font-size:14px!important;
}

/* Gdyby stary /panel-uczestnika/ jednak był oglądany z bypass/debug, niech nie pokazuje rozbitej karty. */
body:has(.um-profile):has(.um-profile-nav) .um,
body:has(.um-account) .um{
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body::before{
  content:"BOOSTROGO_PAGE_UX_V43_AUTH_BRIDGE_ACTIVE";
  display:none!important;
}

@media(max-width:780px){
  body .um.um-login,
  body .um.um-register,
  body .um.um-password{
    width:min(100% - 24px,680px)!important;
    padding:13px!important;
    border-radius:28px!important;
  }

  body .um.um-login .um-form,
  body .um.um-register .um-form,
  body .um.um-password .um-form{
    padding:22px!important;
    border-radius:23px!important;
  }

  body .bgauth-head{
    grid-template-columns:54px minmax(0,1fr)!important;
    border-radius:26px!important;
  }
}

@media(max-width:520px){
  body .um.um-login .um-form::before{
    font-size:36px!important;
    white-space:normal!important;
  }

  body .um.um-login .um-col-alt,
  body .um.um-register .um-col-alt{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  body .um.um-login .um-button,
  body .um.um-login input[type="submit"],
  body .um.um-login a.um-button,
  body .um.um-register .um-button,
  body .um.um-register input[type="submit"],
  body .um.um-register a.um-button{
    width:100%!important;
  }
}
