/* =========================================================
   BoostroGO Core UI Base
   Zastępuje dawny snippet NR.03 / BGCSS1
   Przyciski, boxy, akcje, statusy, formularze, Woo base
========================================================= */

:root {
  --bg-navy: #1C244B;
  --bg-red: #FB0444;
  --bg-ice: #EAF7FB;
  --bg-line: #E6ECF5;
  --bg-text: #111827;
  --bg-muted: #65708E;
  --bg-white: #ffffff;
  --bg-soft: #F7FAFC;
  --bg-radius-sm: 12px;
  --bg-radius-md: 18px;
  --bg-radius-lg: 24px;
  --bg-shadow-card: 0 14px 34px rgba(28, 36, 75, 0.08);
  --bg-shadow-soft: 0 8px 22px rgba(28, 36, 75, 0.06);
}

/* =========================================================
   GLOBALNE DROBIAZGI BOOSTRO
========================================================= */

.bg-hidden {
  display: none !important;
}

.bg-muted {
  color: var(--bg-muted, #65708E);
}

.bg-text-navy {
  color: var(--bg-navy, #1C244B);
}

.bg-text-red {
  color: var(--bg-red, #FB0444);
}

.bg-center {
  text-align: center;
}

.bg-wrap {
  width: min(100%, 1180px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 14px;
  padding-right: 14px;
}

/* =========================================================
   PRZYCISKI BOOSTRO
========================================================= */

.bg-btn,
a.bg-btn,
button.bg-btn,
input.bg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-height: 44px;
  padding: 13px 24px;

  border-radius: 999px;
  border: 0;

  font-size: 15px;
  font-weight: 850;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;

  cursor: pointer;
  -webkit-tap-highlight-color: transparent;

  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;

  transition:
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease,
    transform .15s ease;
}

.bg-btn-primary,
a.bg-btn-primary,
button.bg-btn-primary {
  background: var(--bg-navy, #1C244B);
  color: #fff !important;
}

.bg-btn-secondary,
a.bg-btn-secondary,
button.bg-btn-secondary {
  background: var(--bg-red, #FB0444);
  color: #fff !important;
}

.bg-btn-outline,
a.bg-btn-outline,
button.bg-btn-outline {
  background: #fff;
  color: var(--bg-navy, #1C244B) !important;
  border: 1px solid rgba(28, 36, 75, .16);
}

.bg-btn-soft,
a.bg-btn-soft,
button.bg-btn-soft {
  background: rgba(234, 247, 251, .85);
  color: var(--bg-navy, #1C244B) !important;
  border: 1px solid rgba(28, 36, 75, .08);
}

.bg-btn-primary:hover,
.bg-btn-secondary:hover,
.bg-btn-outline:hover,
.bg-btn-soft:hover {
  transform: translateY(-1px);
  box-shadow: none !important;
  filter: none !important;
}

.bg-btn-primary:hover {
  background: var(--bg-red, #FB0444);
}

.bg-btn-secondary:hover {
  background: var(--bg-navy, #1C244B);
}

.bg-btn-outline:hover,
.bg-btn-soft:hover {
  color: #fff !important;
  background: var(--bg-navy, #1C244B);
  border-color: var(--bg-navy, #1C244B);
}

.bg-btn:active {
  transform: translateY(0);
  box-shadow: none !important;
  filter: none !important;
}

.bg-btn:focus,
.bg-btn:focus-visible {
  outline: 2px solid rgba(251, 4, 68, .55) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
  filter: none !important;
}

.bg-btn[disabled],
.bg-btn.is-disabled {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
}

/* =========================================================
   KARTY / BOX / SEKCJE
========================================================= */

.bg-box,
.bg-card {
  background: var(--bg-white, #fff);
  border: 1px solid var(--bg-line, #E6ECF5);
  border-radius: var(--bg-radius-md, 18px);
  box-shadow: var(--bg-shadow-soft);
}

.bg-box {
  max-width: 620px;
  padding: 24px 28px;
}

.bg-card {
  padding: 22px;
}

.bg-card-premium {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 0% 0%, rgba(234, 247, 251, .9), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(251, 4, 68, .08), transparent 32%),
    linear-gradient(135deg, #fff 0%, #F8FBFF 100%);
  border-radius: var(--bg-radius-lg, 24px);
  border: 1px solid rgba(28, 36, 75, .11);
  box-shadow: var(--bg-shadow-card);
}

.bg-card-premium::before {
  content: "";
  display: block;
  height: 5px;
  margin: -22px -22px 18px;
  background: linear-gradient(90deg, var(--bg-navy, #1C244B), var(--bg-red, #FB0444));
}

.bg-box-text {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--bg-navy, #1C244B);
}

.bg-box-success {
  border-left: 6px solid var(--bg-red, #FB0444);
}

.bg-box-warning {
  border-left: 6px solid #f59e0b;
}

.bg-box-error {
  border-left: 6px solid #ef4444;
}

.bg-box .bg-btn {
  margin-top: 6px;
}

/* =========================================================
   NAGŁÓWKI SEKCJI
========================================================= */

.bg-section-head {
  margin-bottom: 18px;
}

.bg-kicker {
  margin: 0 0 7px;
  color: var(--bg-red, #FB0444);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .10em;
}

.bg-section-title {
  margin: 0;
  color: var(--bg-navy, #1C244B);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -.04em;
}

.bg-section-lead {
  margin: 10px 0 0;
  color: var(--bg-muted, #65708E);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 650;
}

/* =========================================================
   AKCJE / LINKI
========================================================= */

.bg-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.bg-action-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 850;
  color: var(--bg-navy, #1C244B);
  text-decoration: none !important;
}

.bg-action-link:hover {
  color: var(--bg-red, #FB0444);
  text-decoration: underline !important;
}

/* =========================================================
   STATUSY / PILLE
========================================================= */

.bg-status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 850;
  color: var(--bg-navy, #1C244B);
}

.bg-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #94a3b8;
  flex: 0 0 auto;
}

.bg-status--active .bg-dot,
.bg-dot--active {
  background: #22c55e;
}

.bg-status--pending .bg-dot,
.bg-status--submitted .bg-dot,
.bg-dot--pending {
  background: #f59e0b;
}

.bg-status--done .bg-dot,
.bg-status--completed .bg-dot,
.bg-dot--done {
  background: #3b82f6;
}

.bg-status--fail .bg-dot,
.bg-status--rejected .bg-dot,
.bg-dot--fail {
  background: #ef4444;
}

.bg-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 30px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(234, 247, 251, .88);
  border: 1px solid rgba(28, 36, 75, .10);
  color: var(--bg-navy, #1C244B);
  font-size: 12px;
  font-weight: 900;
}

.bg-pill-red {
  background: rgba(251, 4, 68, .10);
  border-color: rgba(251, 4, 68, .18);
  color: var(--bg-red, #FB0444);
}

.bg-pill-green {
  background: rgba(34, 197, 94, .12);
  border-color: rgba(34, 197, 94, .18);
  color: #087a35;
}

.bg-pill-yellow {
  background: rgba(245, 158, 11, .13);
  border-color: rgba(245, 158, 11, .22);
  color: #92400e;
}

/* =========================================================
   KOMUNIKATY
========================================================= */

.bg-alert {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(28, 36, 75, .10);
  background: #fff;
  color: var(--bg-navy, #1C244B);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 650;
}

.bg-alert-success {
  background: rgba(34, 197, 94, .10);
  border-color: rgba(34, 197, 94, .22);
}

.bg-alert-warning {
  background: rgba(245, 158, 11, .12);
  border-color: rgba(245, 158, 11, .24);
}

.bg-alert-error {
  background: rgba(239, 68, 68, .10);
  border-color: rgba(239, 68, 68, .22);
}

/* =========================================================
   FORMULARZE OGÓLNE
========================================================= */

.bg-form-row {
  margin-bottom: 14px;
}

.bg-form-label {
  display: block;
  margin-bottom: 6px;
  color: var(--bg-navy, #1C244B);
  font-size: 13px;
  font-weight: 900;
}

.bg-input,
.bg-select,
.bg-textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(28, 36, 75, .14);
  border-radius: 14px;
  background: #fff;
  color: var(--bg-text, #111827);
  padding: 10px 13px;
  font-size: 15px;
  outline: none;
  box-shadow: none !important;
}

.bg-textarea {
  min-height: 120px;
  resize: vertical;
}

.bg-input:focus,
.bg-select:focus,
.bg-textarea:focus {
  border-color: rgba(251, 4, 68, .55);
  outline: 2px solid rgba(251, 4, 68, .16);
  outline-offset: 1px;
}

/* =========================================================
   FLUENT FORMS — BOOSTRO BASE
========================================================= */

.fluentform .ff-el-group {
  margin-bottom: 16px;
}

.fluentform .ff-el-input--label label,
.fluentform .ff-el-form-control-label {
  color: var(--bg-navy, #1C244B);
  font-weight: 850;
}

.fluentform .ff-el-form-control,
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="number"],
.fluentform input[type="tel"],
.fluentform input[type="url"],
.fluentform input[type="date"],
.fluentform select,
.fluentform textarea {
  border-radius: 14px !important;
  border: 1px solid rgba(28, 36, 75, .14) !important;
  box-shadow: none !important;
}

.fluentform .ff-el-form-control:focus,
.fluentform input:focus,
.fluentform select:focus,
.fluentform textarea:focus {
  border-color: rgba(251, 4, 68, .55) !important;
  box-shadow: none !important;
  outline: 2px solid rgba(251, 4, 68, .16) !important;
  outline-offset: 1px !important;
}

/* Fluent Forms — przyciski bez glow/cienia */
.fluentform .ff-btn,
.fluentform button[type="submit"],
.fluentform input[type="submit"],
.fluentform button,
.fluentform input[type="button"],
.fluentform input[type="reset"],
.fluentform .ff_submit_btn_wrapper button,
.fluentform .ff_submit_btn_wrapper .ff-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  min-height: 44px;
  padding: 13px 24px !important;
  border-radius: 999px !important;

  background: var(--bg-navy, #1C244B) !important;
  color: #fff !important;
  border: 0 !important;

  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  background-image: none !important;

  transition:
    background-color .22s ease,
    transform .15s ease;
}

.fluentform .ff-btn:hover,
.fluentform button[type="submit"]:hover,
.fluentform input[type="submit"]:hover,
.fluentform .ff_submit_btn_wrapper button:hover {
  background: var(--bg-red, #FB0444) !important;
  transform: translateY(-1px);
  box-shadow: none !important;
  filter: none !important;
}

.fluentform .ff-btn:active,
.fluentform button[type="submit"]:active,
.fluentform input[type="submit"]:active,
.fluentform .ff_submit_btn_wrapper button:active {
  transform: translateY(0);
  box-shadow: none !important;
  filter: none !important;
}

.fluentform .ff-btn:focus,
.fluentform .ff-btn:focus-visible,
.fluentform button[type="submit"]:focus,
.fluentform button[type="submit"]:focus-visible,
.fluentform input[type="submit"]:focus,
.fluentform input[type="submit"]:focus-visible,
.fluentform .ff_submit_btn_wrapper button:focus,
.fluentform .ff_submit_btn_wrapper button:focus-visible {
  outline: 2px solid rgba(251, 4, 68, .55) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
  filter: none !important;
}

/* =========================================================
   WOOCOMMERCE — BOOSTRO BASE
   Lekka baza. Pełny makeover produktu/koszyka/checkoutu robimy osobno.
========================================================= */

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page .button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  min-height: 44px;
  padding: 13px 22px !important;
  border-radius: 999px !important;

  background: var(--bg-navy, #1C244B) !important;
  color: #fff !important;
  border: 0 !important;

  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;

  transition:
    background-color .22s ease,
    transform .15s ease;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page .button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
  background: var(--bg-red, #FB0444) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: none !important;
  filter: none !important;
}

.woocommerce .button:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus {
  outline: 2px solid rgba(251, 4, 68, .55) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 16px;
  border-top: 0;
  background: #fff;
  box-shadow: var(--bg-shadow-soft);
  color: var(--bg-navy, #1C244B);
}

.woocommerce-message {
  border-left: 6px solid #22c55e;
}

.woocommerce-info {
  border-left: 6px solid var(--bg-navy, #1C244B);
}

.woocommerce-error {
  border-left: 6px solid var(--bg-red, #FB0444);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(28, 36, 75, .14);
  padding: 10px 13px;
  box-shadow: none !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: rgba(251, 4, 68, .55);
  outline: 2px solid rgba(251, 4, 68, .16);
  outline-offset: 1px;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 640px) {
  .bg-wrap {
    padding-left: 10px;
    padding-right: 10px;
  }

  .bg-box,
  .bg-card {
    padding: 18px;
  }

  .bg-card-premium::before {
    margin: -18px -18px 16px;
  }

  .bg-btn,
  a.bg-btn,
  button.bg-btn,
  input.bg-btn {
    width: 100%;
    min-height: 44px;
    padding: 12px 18px;
  }

  .bg-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .fluentform .ff-btn,
  .fluentform button[type="submit"],
  .fluentform input[type="submit"],
  .woocommerce .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    width: 100%;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .bg-btn,
  .fluentform .ff-btn,
  .fluentform button[type="submit"],
  .fluentform input[type="submit"],
  .woocommerce .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    transition: none !important;
  }

  .bg-btn:hover,
  .fluentform .ff-btn:hover,
  .fluentform button[type="submit"]:hover,
  .fluentform input[type="submit"]:hover,
  .woocommerce .button:hover,
  .woocommerce a.button:hover,
  .woocommerce button.button:hover,
  .woocommerce input.button:hover {
    transform: none !important;
  }
}
/**
 * BoostroGO Core — Frontend CSS
 * Bazowe style pod pierwsze przeniesione moduły.
 */

:root{
  --bg-navy:#1C244B;
  --bg-red:#FB0444;
  --bg-line:#E6ECF5;
  --bg-text:#111827;
  --bg-white:#ffffff;
}

/* =========================
   Rules title
========================= */
.bg-rules-title{
  font-size:22px;
  line-height:1.2;
  font-weight:900;
  color:var(--bg-navy, #1C244B);
  margin:0 0 12px;
}

/* =========================
   Tables
========================= */
.bg-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

.bg-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--bg-line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,0.06);
}

.bg-table thead{
  position:relative;
}

.bg-table thead:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:var(--bg-red);
  opacity:.95;
}

.bg-table thead th{
  background:var(--bg-navy) !important;
  color:#fff !important;
  padding:14px 16px !important;
  text-align:left;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
  border:0 !important;
  box-shadow:none !important;
}

.bg-table tbody td{
  padding:14px 16px;
  border-top:1px solid rgba(12,27,58,0.10);
  font-size:14px;
  color:var(--bg-text);
  vertical-align:middle;
  box-shadow:none !important;
}

.bg-table tbody td + td{
  border-left:1px solid rgba(12,27,58,0.07);
}

.bg-table tbody tr:nth-child(even){
  background:rgba(249,251,253,0.90);
}

.bg-table tbody tr:hover{
  background:rgba(251,4,68,0.04);
}

.bg-table a{
  color:var(--bg-navy);
  font-weight:900;
  text-decoration:none;
}

.bg-table a:hover{
  color:var(--bg-red);
  text-decoration:underline;
}

.bg-table tbody td:first-child strong{
  color:var(--bg-navy);
}

/* =========================
   Mobile tables
========================= */
@media (max-width:820px){
  .bg-table thead{
    display:none;
  }

  .bg-table,
  .bg-table tbody,
  .bg-table tr,
  .bg-table td{
    display:block;
    width:100%;
  }

  .bg-table tr{
    border:1px solid var(--bg-line);
    border-radius:12px;
    padding:12px 12px;
    margin:0 0 12px;
    background:#fff;
    box-shadow:0 8px 18px rgba(0,0,0,0.06);
  }

  .bg-table tbody td{
    border:0;
    padding:7px 0;
  }

  .bg-table tbody td + td{
    border-left:0;
  }

  .bg-table tbody td[data-label]::before{
    content:attr(data-label) ": ";
    font-weight:900;
    color:var(--bg-navy);
  }

  .bg-rules-title{
    font-size:18px;
  }
}
/**
 * BoostroGO Legacy/Core UI
 * Przeniesione ze starego bg_engine_css_v21().
 */

:root{
    --bg-navy:#1C244B;
    --bg-red:#FB0444;
    --bg-line:#E6ECF5;
    --bg-text:#111827;
    --bg-white:#fff;
}

.bg-box{
    background:var(--bg-white);
    border-radius:18px;
    padding:24px 28px;
    max-width:560px;
    border:1px solid var(--bg-line);
}

.bg-box-text{
    margin:0 0 18px;
    font-size:15px;
    line-height:1.55;
    color:var(--bg-text);
}

.bg-box-success{
    border-left:6px solid var(--bg-red);
}

.bg-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:999px;
    font-weight:800;
    text-decoration:none !important;
    transition:all .15s ease;
    border:2px solid transparent;
    line-height:1;
    cursor:pointer;
}

.bg-btn-primary,
.bg-btn-secondary{
    background:var(--bg-navy);
    color:#fff !important;
}

.bg-btn-primary:hover,
.bg-btn-secondary:hover{
    background:var(--bg-red);
    color:#fff !important;
}

.bg-scroll{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.bg-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    border:1px solid var(--bg-line);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
}

.bg-table thead th{
    padding:14px 16px;
    background:var(--bg-navy);
    color:#fff;
    font-weight:800;
    font-size:14px;
    white-space:nowrap;
    text-align:left;
}

.bg-table tbody td{
    padding:14px 16px;
    border-top:1px solid var(--bg-line);
    font-size:14px;
    color:var(--bg-text);
    vertical-align:middle;
    background:#fff;
}

.bg-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.bg-action-link{
    font-weight:900;
    color:var(--bg-navy);
    text-decoration:none;
}

.bg-action-link:hover{
    color:var(--bg-red);
}

.bg-status{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:800;
}

.bg-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#94a3b8;
}

.bg-status--active .bg-dot{
    background:#22c55e;
}

.bg-status--pending .bg-dot{
    background:#f59e0b;
}

.bg-status--submitted .bg-dot{
    background:#3b82f6;
}

.bg-status--done .bg-dot{
    background:#3b82f6;
}

.bg-status--fail .bg-dot{
    background:#ef4444;
}

@media (max-width:820px){
    .bg-table thead{
        display:none;
    }

    .bg-table,
    .bg-table tbody,
    .bg-table tr,
    .bg-table td{
        display:block;
        width:100%;
    }

    .bg-table tr{
        border-top:1px solid var(--bg-line);
        padding:12px 12px;
    }

    .bg-table tbody td{
        border:0;
        padding:6px 0;
    }

    .bg-table tbody td[data-label]::before{
        content:attr(data-label) ": ";
        font-weight:900;
    }
}
/* =========================================================
   BoostroGO — Unified Challenge Page
   ========================================================= */

.bgcp-wrap {
  --bgcp-navy: #1C244B;
  --bgcp-red: #FB0444;
  --bgcp-ice: #EAF7FB;
  --bgcp-bg: #F5FAFD;
  --bgcp-text: #1C244B;
  --bgcp-muted: rgba(28, 36, 75, .68);
  --bgcp-line: rgba(28, 36, 75, .12);
  --bgcp-shadow: 0 18px 45px rgba(28, 36, 75, .12);
  --bgcp-radius: 22px;

  color: var(--bgcp-text);
  background:
    radial-gradient(circle at top left, rgba(251, 4, 68, .08), transparent 32%),
    linear-gradient(180deg, #f7fcff 0%, #eef8fc 100%);
  padding: 28px 14px 44px;
}

.bgcp-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.bgcp-hero {
  position: relative;
  min-height: 330px;
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(28,36,75,.94), rgba(28,36,75,.55)),
    var(--bgcp-hero, none);
  background-size: cover;
  background-position: center;
  box-shadow: var(--bgcp-shadow);
  border: 1px solid rgba(255,255,255,.45);
}

.bgcp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(28,36,75,.92) 0%, rgba(28,36,75,.64) 44%, rgba(28,36,75,.18) 100%);
  z-index: 1;
}

.bgcp-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 7px;
  background: var(--bgcp-red);
  z-index: 2;
}

.bgcp-hero-content {
  position: relative;
  z-index: 3;
  max-width: 720px;
  padding: clamp(28px, 6vw, 58px);
  color: #fff;
}

.bgcp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.bgcp-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--bgcp-red);
  box-shadow: 0 0 0 6px rgba(251, 4, 68, .18);
}

.bgcp-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 6vw, 64px);
  line-height: .96;
  letter-spacing: -0.055em;
  font-weight: 950;
}

.bgcp-lead {
  max-width: 620px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.55;
}

.bgcp-hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 24px;
}

.bgcp-hero-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.bgcp-statusbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: -24px auto 22px;
  width: min(1060px, calc(100% - 28px));
  position: relative;
  z-index: 5;
  padding: 15px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(28,36,75,.10);
  box-shadow: 0 14px 34px rgba(28,36,75,.10);
  backdrop-filter: blur(16px);
}

.bgcp-statusbar strong {
  display: block;
  font-size: 12px;
  color: var(--bgcp-muted);
  margin-bottom: 5px;
}

.bgcp-status {
  display: inline-flex;
  align-items: center;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  background: var(--bgcp-ice);
  color: var(--bgcp-navy);
}

.bgcp-status-active,
.bgcp-status-completed {
  background: rgba(13, 148, 96, .12);
  color: #08764e;
}

.bgcp-status-submitted,
.bgcp-status-pending_payment {
  background: rgba(245, 158, 11, .14);
  color: #925f05;
}

.bgcp-status-not_completed {
  background: rgba(251, 4, 68, .12);
  color: #b4002e;
}

.bgcp-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 22px;
  align-items: start;
}

.bgcp-main,
.bgcp-side {
  display: grid;
  gap: 18px;
}

.bgcp-card {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(28,36,75,.10);
  border-radius: var(--bgcp-radius);
  box-shadow: 0 12px 32px rgba(28,36,75,.08);
  padding: clamp(18px, 3vw, 26px);
  overflow: hidden;
}

.bgcp-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.bgcp-section-title span {
  display: block;
  width: 7px;
  height: 24px;
  border-radius: 99px;
  background: var(--bgcp-red);
}

.bgcp-section-title h2 {
  margin: 0;
  color: var(--bgcp-navy);
  font-size: 20px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: -0.025em;
}

.bgcp-content {
  color: rgba(28,36,75,.82);
  font-size: 15px;
  line-height: 1.75;
}

.bgcp-content p {
  margin: 0 0 12px;
}

.bgcp-content p:last-child {
  margin-bottom: 0;
}

.bgcp-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.bgcp-info-item {
  min-height: 92px;
  padding: 15px;
  border-radius: 17px;
  background: linear-gradient(180deg, rgba(234,247,251,.75), rgba(255,255,255,.88));
  border: 1px solid rgba(28,36,75,.08);
}

.bgcp-info-item span {
  display: block;
  color: var(--bgcp-muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 7px;
}

.bgcp-info-item strong {
  display: block;
  color: var(--bgcp-navy);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 950;
}

.bgcp-steps {
  counter-reset: bgcp-step;
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bgcp-steps li {
  counter-increment: bgcp-step;
  position: relative;
  padding: 15px 16px 15px 58px;
  border-radius: 17px;
  background: rgba(234,247,251,.58);
  border: 1px solid rgba(28,36,75,.08);
}

.bgcp-steps li::before {
  content: counter(bgcp-step);
  position: absolute;
  left: 16px;
  top: 15px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--bgcp-navy);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}

.bgcp-steps strong {
  display: block;
  color: var(--bgcp-navy);
  margin-bottom: 4px;
}

.bgcp-steps span {
  color: var(--bgcp-muted);
  font-size: 14px;
  line-height: 1.55;
}

.bgcp-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.bgcp-mode {
  padding: 15px;
  border-radius: 17px;
  background: rgba(251,4,68,.06);
  border: 1px solid rgba(251,4,68,.14);
}

.bgcp-mode strong {
  color: var(--bgcp-navy);
}

.bgcp-mode p {
  margin: 6px 0 0;
  color: var(--bgcp-muted);
  font-size: 14px;
  line-height: 1.55;
}

.bgcp-rules-table {
  border: 1px solid rgba(28,36,75,.10);
  border-radius: 17px;
  overflow: hidden;
}

.bgcp-rule-row {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  border-bottom: 1px solid rgba(28,36,75,.08);
}

.bgcp-rule-row:last-child {
  border-bottom: 0;
}

.bgcp-rule-row > div {
  padding: 13px 15px;
  font-size: 14px;
}

.bgcp-rule-row > div:first-child {
  background: rgba(234,247,251,.62);
  color: var(--bgcp-navy);
  font-weight: 900;
}

.bgcp-rule-row > div:last-child {
  color: rgba(28,36,75,.78);
}

.bgcp-signup-card {
  border-top: 6px solid var(--bgcp-red);
}

.bgcp-message {
  padding: 16px;
  border-radius: 17px;
  background: rgba(234,247,251,.62);
  border: 1px solid rgba(28,36,75,.09);
}

.bgcp-message strong {
  display: block;
  color: var(--bgcp-navy);
  margin-bottom: 6px;
  font-size: 16px;
}

.bgcp-message p {
  color: var(--bgcp-muted);
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.55;
}

.bgcp-message-ok {
  background: rgba(13, 148, 96, .10);
  border-color: rgba(13, 148, 96, .20);
}

.bgcp-message-wait {
  background: rgba(245, 158, 11, .12);
  border-color: rgba(245, 158, 11, .22);
}

.bgcp-message-danger {
  background: rgba(251, 4, 68, .10);
  border-color: rgba(251, 4, 68, .20);
}

.bgcp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 15px;
  border-radius: 999px;
  background: var(--bgcp-red);
  color: #fff !important;
  font-size: 14px;
  font-weight: 950;
  text-decoration: none !important;
  border: 1px solid rgba(251,4,68,.25);
  box-shadow: 0 12px 24px rgba(251,4,68,.18);
  transition: transform .18s ease, box-shadow .18s ease;
}

.bgcp-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(251,4,68,.24);
}

.bgcp-btn-light {
  background: #fff;
  color: var(--bgcp-navy) !important;
  border-color: rgba(28,36,75,.14);
  box-shadow: none;
}

.bgcp-badge-preview {
  display: grid;
  place-items: center;
  padding: 16px;
  margin-bottom: 14px;
  border-radius: 20px;
  background:
    radial-gradient(circle at center, rgba(251,4,68,.12), transparent 62%),
    rgba(234,247,251,.62);
  border: 1px solid rgba(28,36,75,.08);
}

.bgcp-badge-preview img {
  display: block;
  width: min(180px, 80%);
  height: auto;
  filter: drop-shadow(0 16px 22px rgba(28,36,75,.18));
}

.bgcp-reward-text {
  font-size: 14px;
}

.bgcp-club-card {
  background:
    linear-gradient(145deg, rgba(28,36,75,.96), rgba(28,36,75,.86)),
    radial-gradient(circle at top right, rgba(251,4,68,.25), transparent 35%);
  color: #fff;
  border-color: rgba(255,255,255,.12);
}

.bgcp-club-card .bgcp-section-title h2 {
  color: #fff;
}

.bgcp-club-card p {
  color: rgba(255,255,255,.88);
  margin: 0 0 8px;
  line-height: 1.6;
}

.bgcp-club-card small {
  color: rgba(255,255,255,.62);
  line-height: 1.5;
}

.bgcp-muted {
  color: var(--bgcp-muted);
  font-size: 14px;
}

.bgcp-notice {
  max-width: 920px;
  margin: 20px auto;
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(251,4,68,.20);
  color: var(--bgcp-navy);
  box-shadow: 0 12px 30px rgba(28,36,75,.08);
}

.bgcp-debug {
  margin-top: 20px;
  padding: 16px;
  border-radius: 16px;
  background: #111827;
  color: #EAF7FB;
  overflow: auto;
  font-size: 12px;
}

@media (max-width: 980px) {
  .bgcp-grid {
    grid-template-columns: 1fr;
  }

  .bgcp-side {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 720px) {
  .bgcp-wrap {
    padding: 18px 10px 34px;
  }

  .bgcp-hero {
    min-height: 390px;
    border-radius: 22px;
  }

  .bgcp-hero::before {
    background: linear-gradient(180deg, rgba(28,36,75,.88), rgba(28,36,75,.72));
  }

  .bgcp-hero-content {
    padding: 28px 20px;
  }

  .bgcp-statusbar {
    align-items: flex-start;
    flex-direction: column;
    width: calc(100% - 18px);
    margin-top: -18px;
  }

  .bgcp-info-grid,
  .bgcp-mode-grid,
  .bgcp-side {
    grid-template-columns: 1fr;
  }

  .bgcp-rule-row {
    grid-template-columns: 1fr;
  }

  .bgcp-rule-row > div:first-child {
    padding-bottom: 6px;
  }

  .bgcp-rule-row > div:last-child {
    padding-top: 6px;
  }
}
/* =========================================================
   BOOSTROGO — CLEAN OVERRIDES v2.0
   Dopisane po porządkach: WooCommerce + mobile UX.
   Uwaga: NIE ma tu CSS nowej navki aplikacyjnej .bgappnav,
   bo stabilny CSS navki siedzi w MobileAppNav.php.
========================================================= */

/* Stary snippet mobile nav — wyciszenie, jeśli przypadkiem jeszcze żyje */
.bg-mobile-nav,
.bg-mnav-item,
.bg-mnav-ico,
.bg-mnav-txt,
.bgmnav,
.bgmnav__dock,
.bgmnav__item,
.bgmnav__icon,
.bgmnav__label {
  display: none !important;
}

/* Blocksy mobile header cleanup — drugi bezpiecznik poza PHP */
@media (max-width: 1024px) {
  body.bgappnav-active .ct-header-trigger,
  body.bgappnav-active .ct-header-trigger *,
  body.bgappnav-active .ct-menu-trigger,
  body.bgappnav-active .ct-menu-trigger *,
  body.bgappnav-active .ct-offcanvas-trigger,
  body.bgappnav-active .ct-offcanvas-trigger *,
  body.bgappnav-active .ct-toggle,
  body.bgappnav-active .ct-toggle *,
  body.bgappnav-active [data-id="trigger"],
  body.bgappnav-active [data-id="trigger"] *,
  body.bgappnav-active [data-device="mobile"] [data-id="trigger"],
  body.bgappnav-active [data-device="mobile"] [data-id="trigger"] *,
  body.bgappnav-active button[aria-label="Menu"],
  body.bgappnav-active button[aria-label="menu"],
  body.bgappnav-active button[aria-label*="Menu"],
  body.bgappnav-active a[aria-label="Menu"],
  body.bgappnav-active a[aria-label*="Menu"],
  body.bgappnav-active [aria-controls*="offcanvas"],
  body.bgappnav-active [aria-controls*="offcanvas"] *,
  body.bgappnav-active [data-toggle-panel],
  body.bgappnav-active [data-toggle-panel] * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

/* =========================================================
   WOO — global premium skin
========================================================= */

body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received {
  background:
    radial-gradient(circle at top left, rgba(251, 4, 68, .055), transparent 32%),
    linear-gradient(180deg, #F7FCFF 0%, #EEF7FB 100%) !important;
}

body.single-product .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-order-received .site-main,
body.single-product main,
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-order-received main {
  width: min(100%, 1240px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 28px 16px 56px !important;
}

body.single-product .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--bg-navy, #1C244B) !important;
}

.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 18px !important;
  color: rgba(28, 36, 75, .58) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--bg-navy, #1C244B) !important;
  text-decoration: none !important;
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--bg-red, #FB0444) !important;
}

body.woocommerce-cart :is(.entry-title, .page-title, h1),
body.woocommerce-checkout :is(.entry-title, .page-title, h1),
body.woocommerce-order-received :is(.entry-title, .page-title, h1),
body.woocommerce-cart .elementor-heading-title,
body.woocommerce-checkout .elementor-heading-title,
body.woocommerce-order-received .elementor-heading-title {
  position: relative !important;
  display: block !important;
  width: min(100%, 1220px) !important;
  margin: 34px auto 26px !important;
  padding: 0 16px 20px !important;
  color: var(--bg-navy, #1C244B) !important;
  font-size: clamp(36px, 5vw, 58px) !important;
  line-height: .98 !important;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
  text-align: left !important;
}

body.woocommerce-cart :is(.entry-title, .page-title, h1)::before,
body.woocommerce-checkout :is(.entry-title, .page-title, h1)::before,
body.woocommerce-order-received :is(.entry-title, .page-title, h1)::before,
body.woocommerce-cart .elementor-heading-title::before,
body.woocommerce-checkout .elementor-heading-title::before,
body.woocommerce-order-received .elementor-heading-title::before {
  display: flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 30px !important;
  margin: 0 0 11px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(251, 4, 68, .09) !important;
  border: 1px solid rgba(251, 4, 68, .16) !important;
  color: var(--bg-red, #FB0444) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart :is(.entry-title, .page-title, h1)::before,
body.woocommerce-cart .elementor-heading-title::before {
  content: "BoostroGO koszyk" !important;
}

body.woocommerce-checkout :is(.entry-title, .page-title, h1)::before,
body.woocommerce-checkout .elementor-heading-title::before {
  content: "Bezpieczna płatność" !important;
}

body.woocommerce-order-received :is(.entry-title, .page-title, h1)::before,
body.woocommerce-order-received .elementor-heading-title::before {
  content: "Zamówienie przyjęte" !important;
}

body.woocommerce-cart :is(.entry-title, .page-title, h1)::after,
body.woocommerce-checkout :is(.entry-title, .page-title, h1)::after,
body.woocommerce-order-received :is(.entry-title, .page-title, h1)::after,
body.woocommerce-cart .elementor-heading-title::after,
body.woocommerce-checkout .elementor-heading-title::after,
body.woocommerce-order-received .elementor-heading-title::after {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  bottom: 0 !important;
  width: 92px !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--bg-red, #FB0444), var(--bg-navy, #1C244B)) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0 !important;
  border-radius: 18px !important;
  background: #FFFFFF !important;
  color: var(--bg-navy, #1C244B) !important;
  box-shadow: var(--bg-shadow-card, 0 14px 34px rgba(28, 36, 75, .08)) !important;
  padding: 16px 18px !important;
  margin: 0 0 18px !important;
  line-height: 1.5 !important;
}

.woocommerce-message { border-left: 6px solid var(--bg-success, #22C55E) !important; }
.woocommerce-info { border-left: 6px solid var(--bg-navy, #1C244B) !important; }
.woocommerce-error { border-left: 6px solid var(--bg-red, #FB0444) !important; }

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page .button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 13px 22px !important;
  border-radius: 999px !important;
  background: var(--bg-navy, #1C244B) !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  background-image: none !important;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page .button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
  background: var(--bg-red, #FB0444) !important;
  color: #fff !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  min-height: 48px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(28, 36, 75, .14) !important;
  background: #fff !important;
  color: var(--bg-navy, #1C244B) !important;
  box-shadow: none !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
  padding: 10px 14px !important;
}

.woocommerce form .form-row label {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--bg-navy, #1C244B) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

/* =========================================================
   WOO — single product stable premium
========================================================= */

body.single-product .woocommerce div.product,
.single-product .woocommerce div.product,
.single-product div.product.product {
  position: relative !important;
  display: block !important;
  width: min(100%, 1040px) !important;
  margin: 0 auto 28px !important;
  padding: 28px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at top left, rgba(234,247,251,.94), transparent 38%),
    radial-gradient(circle at top right, rgba(251,4,68,.08), transparent 32%),
    linear-gradient(135deg, #FFFFFF 0%, #F8FBFF 100%) !important;
  border: 1px solid rgba(28,36,75,.10) !important;
  box-shadow: 0 24px 56px rgba(28,36,75,.10) !important;
  overflow: hidden !important;
}

body.single-product .woocommerce div.product::after,
.single-product .woocommerce div.product::after,
.single-product div.product.product::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

body.single-product .woocommerce div.product::before,
.single-product .woocommerce div.product::before,
.single-product div.product.product::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 7px !important;
  background: linear-gradient(90deg, var(--bg-navy, #1C244B), var(--bg-red, #FB0444)) !important;
  z-index: 2 !important;
}

body.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.images,
.single-product div.product.product div.images {
  float: left !important;
  width: 46% !important;
  margin: 0 4% 0 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce div.product div.images img,
.single-product .woocommerce div.product div.images img,
.single-product div.product.product div.images img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: cover !important;
  padding: 0 !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid rgba(28,36,75,.10) !important;
  box-shadow: 0 16px 38px rgba(28,36,75,.08) !important;
}

body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder img,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder img {
  object-fit: contain !important;
  padding: 34px !important;
  opacity: .55 !important;
  background:
    radial-gradient(circle at center, rgba(234,247,251,.85), transparent 62%),
    #fff !important;
}

body.single-product .woocommerce div.product .summary,
.single-product .woocommerce div.product .summary,
.single-product div.product.product .summary {
  float: right !important;
  width: 50% !important;
  margin: 0 !important;
  padding: 18px 0 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product .summary::before,
.single-product .woocommerce div.product .summary::before,
.single-product div.product.product .summary::before {
  content: "Wyzwanie BoostroGO" !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  margin: 0 0 12px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(251,4,68,.09) !important;
  border: 1px solid rgba(251,4,68,.16) !important;
  color: var(--bg-red, #FB0444) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.single-product .woocommerce div.product .product_title,
.single-product .woocommerce div.product .product_title,
.single-product div.product.product .product_title {
  position: relative !important;
  margin: 0 0 14px !important;
  padding: 0 0 16px !important;
  color: var(--bg-navy, #1C244B) !important;
  font-size: clamp(32px, 3.4vw, 46px) !important;
  line-height: 1.04 !important;
  font-weight: 900 !important;
  letter-spacing: -.045em !important;
}

body.single-product .woocommerce div.product .product_title::after,
.single-product .woocommerce div.product .product_title::after,
.single-product div.product.product .product_title::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 76px !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--bg-red, #FB0444), var(--bg-navy, #1C244B)) !important;
}

body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price,
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
  margin: 0 0 18px !important;
  color: var(--bg-red, #FB0444) !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
}

body.single-product .woocommerce div.product form.cart,
.single-product .woocommerce div.product form.cart {
  width: min(100%, 380px) !important;
  margin: 0 0 18px !important;
  padding: 16px !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid rgba(28,36,75,.10) !important;
  box-shadow: 0 14px 30px rgba(28,36,75,.06) !important;
}

body.single-product .woocommerce div.product form.cart::before,
.single-product .woocommerce div.product form.cart::before {
  content: "Po zakupie produkt zostanie przypisany do Twojego konta BoostroGO." !important;
  display: block !important;
  margin: 0 0 13px !important;
  color: rgba(28,36,75,.66) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
  min-height: 48px !important;
  padding: 14px 24px !important;
  border-radius: 999px !important;
  background: var(--bg-navy, #1C244B) !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--bg-red, #FB0444) !important;
}

body.single-product .woocommerce div.product .product_meta,
.single-product .woocommerce div.product .product_meta {
  width: min(100%, 380px) !important;
  display: grid !important;
  gap: 8px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.76) !important;
  border: 1px solid rgba(28,36,75,.08) !important;
  color: rgba(28,36,75,.62) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

body.single-product .woocommerce div.product .product_meta a,
.single-product .woocommerce div.product .product_meta a {
  color: var(--bg-navy, #1C244B) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

/* =========================================================
   WOO — cart + checkout desktop
========================================================= */

body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review,
body.woocommerce-order-received .woocommerce-order {
  border-radius: 30px !important;
  background: #fff !important;
  border: 1px solid rgba(28,36,75,.10) !important;
  box-shadow: var(--bg-shadow-card, 0 14px 34px rgba(28, 36, 75, .08)) !important;
}

body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review,
body.woocommerce-order-received .woocommerce-order {
  padding: 24px !important;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-checkout table.shop_table {
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-cart table.shop_table thead th {
  background: var(--bg-navy, #1C244B) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 16px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .055em !important;
}

body.woocommerce-cart table.shop_table thead th:first-child { border-top-left-radius: 16px !important; }
body.woocommerce-cart table.shop_table thead th:last-child { border-top-right-radius: 16px !important; }

body.woocommerce-cart table.shop_table td,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  border-top: 1px solid rgba(28,36,75,.10) !important;
  padding: 16px !important;
  color: var(--bg-navy, #1C244B) !important;
  font-weight: 800 !important;
}

body.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 92px !important;
  max-width: 92px !important;
  border-radius: 18px !important;
  background: #fff !important;
  border: 1px solid rgba(28,36,75,.10) !important;
  padding: 8px !important;
  box-shadow: none !important;
}

body.woocommerce-cart table.shop_table .product-name a {
  color: var(--bg-navy, #1C244B) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.woocommerce-cart table.shop_table .product-remove a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: rgba(251,4,68,.10) !important;
  color: var(--bg-red, #FB0444) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

body.woocommerce-cart table.shop_table .product-remove a:hover {
  background: var(--bg-red, #FB0444) !important;
  color: #fff !important;
}

body.woocommerce-cart table.cart td.actions .coupon {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
}

body.woocommerce-cart table.cart td.actions .coupon label {
  display: none !important;
}

body.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: min(280px, 100%) !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(28,36,75,.14) !important;
  padding: 10px 16px !important;
  color: var(--bg-navy, #1C244B) !important;
  box-shadow: none !important;
}

body.woocommerce-cart .cart-collaterals {
  margin-top: 24px !important;
}

body.woocommerce-cart .cart_totals {
  width: min(100%, 470px) !important;
}

body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading {
  color: var(--bg-navy, #1C244B) !important;
  font-size: 28px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -.04em !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #payment #place_order {
  width: 100% !important;
  min-height: 54px !important;
  background: var(--bg-red, #FB0444) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-checkout #payment #place_order:hover {
  background: var(--bg-navy, #1C244B) !important;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 440px !important;
  gap: 26px !important;
  align-items: start !important;
}

body.woocommerce-checkout form.checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  display: block !important;
  width: 100% !important;
}

body.woocommerce-checkout form.checkout #customer_details .col-1,
body.woocommerce-checkout form.checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  margin: 0 0 20px !important;
}

body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  float: none !important;
}

body.woocommerce-checkout form.checkout #order_review_heading {
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 0 4px !important;
}

body.woocommerce-checkout form.checkout #order_review {
  grid-row: 2 !important;
}

body.woocommerce-checkout #payment {
  border-radius: 24px !important;
  background: rgba(234,247,251,.64) !important;
  border: 1px solid rgba(28,36,75,.10) !important;
  overflow: hidden !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  padding: 16px !important;
  border-bottom: 1px solid rgba(28,36,75,.10) !important;
}

body.woocommerce-checkout #payment .place-order {
  padding: 16px !important;
}

/* =========================================================
   WOO — mobile product/cart/checkout
========================================================= */

@media (max-width: 1100px) {
  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1fr) 390px !important;
  }
}

@media (max-width: 980px) {
  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.woocommerce-cart .cart_totals {
    width: 100% !important;
  }
}

@media (max-width: 900px) {
  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product .summary,
  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product .summary {
    float: none !important;
    width: 100% !important;
    margin: 0 0 20px !important;
  }

  body.single-product .woocommerce div.product form.cart,
  body.single-product .woocommerce div.product .product_meta,
  .single-product .woocommerce div.product form.cart,
  .single-product .woocommerce div.product .product_meta {
    width: 100% !important;
  }
}

@media (max-width: 720px) {
  body.single-product .site-main,
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-order-received .site-main,
  body.single-product main,
  body.woocommerce-cart main,
  body.woocommerce-checkout main,
  body.woocommerce-order-received main {
    padding: 20px 10px 38px !important;
  }

  body.woocommerce-cart :is(.entry-title, .page-title, h1),
  body.woocommerce-checkout :is(.entry-title, .page-title, h1),
  body.woocommerce-order-received :is(.entry-title, .page-title, h1),
  body.woocommerce-cart .elementor-heading-title,
  body.woocommerce-checkout .elementor-heading-title,
  body.woocommerce-order-received .elementor-heading-title {
    margin-top: 24px !important;
    margin-bottom: 20px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 38px !important;
  }

  body.single-product .woocommerce div.product,
  body.woocommerce-cart form.woocommerce-cart-form,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout #order_review,
  body.woocommerce-order-received .woocommerce-order {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  body.single-product .woocommerce,
  .single-product .woocommerce {
    margin-top: 22px !important;
    padding: 0 10px !important;
  }

  body.single-product .woocommerce div.product div.images img,
  .single-product .woocommerce div.product div.images img {
    max-height: 360px !important;
    border-radius: 20px !important;
  }

  body.single-product .woocommerce div.product .product_title,
  .single-product .woocommerce div.product .product_title {
    font-size: 34px !important;
  }

  body.single-product .woocommerce div.product form.cart .quantity,
  .single-product .woocommerce div.product form.cart .quantity {
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.single-product .woocommerce div.product form.cart .quantity .qty,
  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
  .single-product .woocommerce div.product form.cart .quantity .qty,
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100% !important;
  }

  body.woocommerce-cart form.woocommerce-cart-form {
    width: 100% !important;
    margin: 0 auto 18px !important;
    padding: 16px !important;
  }

  body.woocommerce-cart table.shop_table,
  body.woocommerce-cart table.shop_table tbody,
  body.woocommerce-cart table.shop_table tr,
  body.woocommerce-cart table.shop_table td {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart table.shop_table thead {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table tr.cart_item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(28,36,75,.10) !important;
    box-shadow: 0 12px 26px rgba(28,36,75,.06) !important;
  }

  body.woocommerce-cart table.shop_table td.product-remove {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: auto !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  body.woocommerce-cart table.shop_table td.product-remove::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table td.product-remove a {
    width: 30px !important;
    height: 30px !important;
  }

  body.woocommerce-cart table.shop_table td.product-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 / span 4 !important;
    width: 74px !important;
    padding: 0 !important;
  }

  body.woocommerce-cart table.shop_table td.product-thumbnail::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 74px !important;
    height: 74px !important;
    object-fit: cover !important;
    padding: 6px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-cart table.shop_table td.product-name {
    grid-column: 2 !important;
    padding: 2px 34px 8px 0 !important;
  }

  body.woocommerce-cart table.shop_table td.product-name::before {
    content: "Produkt" !important;
    display: block !important;
    margin: 0 0 5px !important;
    color: var(--bg-red, #FB0444) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.woocommerce-cart table.shop_table td.product-name a {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  body.woocommerce-cart table.shop_table td.product-price,
  body.woocommerce-cart table.shop_table td.product-quantity,
  body.woocommerce-cart table.shop_table td.product-subtotal {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    border-top: 1px solid rgba(28,36,75,.08) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart table.shop_table td.product-price::before,
  body.woocommerce-cart table.shop_table td.product-quantity::before,
  body.woocommerce-cart table.shop_table td.product-subtotal::before {
    display: block !important;
    margin: 0 !important;
    color: rgba(28,36,75,.58) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.woocommerce-cart table.shop_table td.product-price::before { content: "Cena" !important; }
  body.woocommerce-cart table.shop_table td.product-quantity::before { content: "Ilość" !important; }
  body.woocommerce-cart table.shop_table td.product-subtotal::before { content: "Kwota" !important; }

  body.woocommerce-cart table.cart td.actions,
  body.woocommerce-cart table.cart td.actions .coupon,
  body.woocommerce-checkout form.checkout {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-cart table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.woocommerce-cart table.cart td.actions .coupon .input-text,
  body.woocommerce-cart table.cart td.actions button.button,
  body.woocommerce-cart table.cart td.actions .button {
    width: 100% !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields {
    width: 100% !important;
    float: none !important;
  }

  body.woocommerce-checkout form .form-row {
    display: block !important;
    width: 100% !important;
    margin: 0 0 13px !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout table.shop_table,
  body.woocommerce-checkout table.shop_table tbody,
  body.woocommerce-checkout table.shop_table tr,
  body.woocommerce-checkout table.shop_table th,
  body.woocommerce-checkout table.shop_table td {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
  }

  body.woocommerce-checkout table.shop_table tr {
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(28,36,75,.10) !important;
  }
}

/* =========================================================
   BOOSTROGO FINAL NAV/CART SAFETY OVERRIDE
   Wersja awaryjna: wymusza ukrycie hamburgera Blocksy na mobile/tablet
   oraz nie pozwala starym klasom mobile nav wracać z cache.
   Główna navka i koszyk są renderowane z:
   includes/Navigation/MobileAppNav.php
========================================================= */

/* Stare klasy mobile nav/snippet — nie mają już prawa się pokazywać */
.bg-mobile-nav,
.bg-mobile-nav *,
.bg-mnav-item,
.bg-mnav-ico,
.bg-mnav-txt,
.bgmnav,
.bgmnav * {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Twarde ukrycie hamburgerów/offcanvas triggerów Blocksy na tabletach i mobile */
@media (max-width: 1380px) {
  header [data-id="trigger"],
  header [data-id="trigger"] *,
  header [data-id="mobile-menu"],
  header [data-id="mobile-menu"] *,
  header [data-device="mobile"] [data-id="trigger"],
  header [data-device="mobile"] [data-id="trigger"] *,
  header [data-device="tablet"] [data-id="trigger"],
  header [data-device="tablet"] [data-id="trigger"] *,
  header .ct-header-trigger,
  header .ct-header-trigger *,
  header .ct-menu-trigger,
  header .ct-menu-trigger *,
  header .ct-trigger,
  header .ct-trigger *,
  header .ct-offcanvas-trigger,
  header .ct-offcanvas-trigger *,
  header .ct-toggle,
  header .ct-toggle *,
  header [data-toggle-panel],
  header [data-toggle-panel] *,
  header [aria-controls*="offcanvas"],
  header [aria-controls*="offcanvas"] *,
  header button[aria-label="Menu"],
  header button[aria-label="menu"],
  header button[aria-label*="Menu"],
  header button[aria-label*="menu"],
  header a[aria-label="Menu"],
  header a[aria-label*="Menu"],
  header a[aria-label*="menu"],
  .ct-header-trigger,
  .ct-header-trigger *,
  .ct-menu-trigger,
  .ct-menu-trigger *,
  .ct-offcanvas-trigger,
  .ct-offcanvas-trigger *,
  [data-device="mobile"] [data-id="trigger"],
  [data-device="mobile"] [data-id="trigger"] *,
  [data-device="tablet"] [data-id="trigger"],
  [data-device="tablet"] [data-id="trigger"] *,
  [data-toggle-panel],
  [data-toggle-panel] *,
  [aria-controls*="offcanvas"],
  [aria-controls*="offcanvas"] * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

/* Dodatkowy bezpiecznik: jeżeli theme daje hamburgerowi tylko role/button */
@media (max-width: 1180px) {
  header [role="button"][aria-expanded],
  header [role="button"][aria-expanded] *,
  header button[aria-expanded][aria-controls],
  header button[aria-expanded][aria-controls] * {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}