/* =====================================================================
   KONTO — style
   Wgraj do: motyw-potomny/konto/konto.css
   Wczytywane przez konto_register_assets() w functions.php.
   ===================================================================== */

:root{
  --brand:#B40023;
  --brand-deep:#8C0019;
  --secondary:#FCF0D6;
  --secondary-deep:#F5E3B8;
  --paper:#FFFDF9;
  --dark:#351515;
  --ink:#2A1610;
  --ink-soft:#7A5C4E;
  --line: rgba(42,22,16,0.13);
  --green:#3A7D5C;
  --green-bg:#E6F2EC;
  --purple:#6E4FA3;
  --purple-bg:#EFE9F7;
  --red-bg:#FBE7E9;
}

/* Neve pokazuje swoje domyślne białe tło (.neve-main) tam, gdzie treść
   strony nie sięga (nad/pod .konto-wrapper) - nadpisujemy na kremowy,
   żeby cała strona była spójnie w jednym kolorze. Bezpieczne, bo
   konto.css ładuje się wyłącznie na stronie "Moje konto". */
body.woocommerce-account.theme-neve.wp-singular{ background:#FDF7EA; }
.neve-main{ background:#FDF7EA; }

/* Dwukolumnowy układ: nawigacja + treść */
.acct-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:start;
}
@media (max-width:820px){
  .acct-grid{grid-template-columns:1fr;}
}

/* Baner powitalny */
.acct-banner{
  background:var(--dark); border-radius:20px; padding:28px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin-bottom:32px; flex-wrap:wrap;
}
.acct-banner-left{display:flex; align-items:center; gap:16px;}
.acct-avatar{
  width:56px; height:56px; border-radius:50%; background:var(--brand);
  display:flex; align-items:center; justify-content:center;
  color:var(--secondary); font-weight:700; font-size:1.1rem; flex:0 0 auto;
}
.acct-banner-greet{font-size:0.85rem; color:rgba(252,240,214,0.6); margin-bottom:2px;}
.acct-banner-name{font-size:1.6rem; color:var(--secondary); font-weight:600;}
.acct-banner-stat{background:rgba(252,240,214,0.08); border-radius:14px; padding:14px 22px; text-align:center; min-width:110px;}
.acct-banner-stat .num{font-size:1.6rem; font-weight:700; color:var(--secondary); display:block;}
.acct-banner-stat .lbl{font-size:0.78rem; color:rgba(252,240,214,0.55);}

/* Sidebar */
.acct-sidebar{grid-column:1; display:flex; flex-direction:column; gap:10px;}
.acct-nav-item{
  display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:12px;
  background:var(--paper); border:1px solid var(--line); font-weight:600; font-size:0.95rem; color:var(--ink);
  transition:background .2s ease, border-color .2s ease; text-decoration:none;
}
.acct-nav-item:hover{background:var(--secondary-deep); color:var(--brand);}
.acct-nav-item.active{background:var(--brand); border-color:var(--brand); color:var(--secondary);}
.acct-nav-item svg{width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.7; flex:0 0 auto;}
.acct-nav-item .badge{
  margin-left:auto; background:var(--secondary); color:var(--brand); font-size:0.75rem; font-weight:700;
  border-radius:999px; padding:2px 8px; min-width:20px; text-align:center;
}
.acct-nav-item.active .badge{background:rgba(252,240,214,0.2); color:var(--secondary);}
.acct-nav-item.logout{color:var(--brand);}

/* Sekcje i nagłówki */
.acct-section h2{font-size:1.5rem; margin:0 0 18px; color:var(--ink); font-weight:600;}
.acct-section + .acct-section{margin-top:44px;}

/* Karta zamówienia */
.order-card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px 24px; margin-bottom:32px;}
.order-card-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px;}
.order-card-id{font-size:1.1rem; font-weight:700; color:var(--ink); user-select:none;}
.order-card-date{font-size:0.85rem; color:var(--ink-soft); margin-top:2px; user-select:none;}

.status-pill{display:inline-flex; align-items:center; gap:6px; padding:6px 13px; border-radius:999px; font-size:0.78rem; font-weight:700; white-space:nowrap; user-select:none;}
.status-pill svg{width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.2;}
.status-pill.pending{background:#FFF2DD; color:#C78302;}
.status-pill.packed{background:#F2DDFF; color:#611CB3;}
.status-pill.transit{background:#F3FFC9; color:#737C0D;}
.status-pill.delivered{background:#DCFFDF; color:#1F8824;}
.status-pill.cancelled{background:#DCFFDF; color:#935219;}
.status-pill.refunded{background:#FFDDDD; color:#7C211E;}

.order-items{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px;}
.order-item-row{
  display:flex; align-items:center; gap:14px; background:var(--secondary); border-radius:12px; padding:10px 14px;
  width:fit-content; text-decoration:none; transition:background .2s ease;
}
.order-item-row:hover{background:var(--secondary-deep);}
.order-item-thumb img{width:44px; height:44px; border-radius:8px; object-fit:cover; display:block;}
.order-item-row .name{font-weight:700; font-size:0.92rem; color:var(--ink);}
.order-item-row .qty{font-size:0.8rem; color:var(--ink-soft);}

.order-card-foot{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding-top:14px; border-top:1px solid var(--line); flex-wrap:wrap;}
.order-card-foot .paid{font-size:0.88rem; color:var(--ink-soft); user-select:none; display:flex; flex-direction:column; gap:2px;}
.order-card-foot .paid-main{display:flex; align-items:baseline; gap:8px; flex-wrap:nowrap; white-space:nowrap;}
.refund-note{font-size:0.78rem; color:#7C211E; font-weight:600;}
.discount-note{font-size:0.78rem; color:#1F8824; font-weight:600;}
.od-sums .od-row.refund-row{color:#7C211E; font-weight:600;}
.od-sums .od-row.refund-row span:first-child{color:#7C211E;}
.od-sums .od-row.discount-row{color:#1F8824; font-weight:600;}
.od-sums .od-row.discount-row span:first-child{color:#1F8824; display:flex; align-items:center; gap:8px;}
.coupon-code{
  font-size:0.7rem; font-weight:700; letter-spacing:0.03em; color:#1F8824;
  background:#DCFFDF; padding:2px 8px; border-radius:6px;
}
.order-card-foot .paid b{color:var(--ink); font-size:1rem;}
.order-card-foot .actions{display:flex; gap:10px;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 20px; border-radius:999px; border:none; cursor:pointer;
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.87rem;
  text-decoration:none; transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
  user-select:none;
}
.btn-primary{background:var(--brand); color:var(--secondary); box-shadow:0 6px 16px rgba(180,0,35,0.22);}
.btn-primary:hover{background:var(--brand-deep); transform:translateY(-1px); color:var(--secondary);}
.btn-ghost{background:var(--paper); color:var(--ink); border:1px solid var(--line);}
.btn-ghost:hover{background:var(--secondary-deep); color:var(--brand);}

/* Szczegóły zamówienia */
.back-link{display:inline-flex; align-items:center; gap:7px; color:var(--ink-soft); font-size:0.9rem; font-weight:600; margin-bottom:18px; text-decoration:none;}
.back-link:hover{color:var(--brand);}
.back-link svg{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2.2;}

.od-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:28px; flex-wrap:wrap;}
.od-head h1{font-size:2rem; color:var(--ink); font-weight:500; margin:0;}
.od-head .meta{font-size:0.9rem; color:var(--ink-soft); margin-top:4px;}

.stepper-card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:28px 24px; margin-bottom:28px;}
.stepper{display:flex; align-items:flex-start; justify-content:space-between; position:relative; margin-bottom:22px;}
.stepper::before{content:''; position:absolute; top:23px; left:8%; right:8%; height:2px; background:var(--line); z-index:0;}
.step{display:flex; flex-direction:column; align-items:center; gap:10px; flex:1; position:relative; z-index:1;}
.step .dot{width:46px; height:46px; border-radius:50%; background:var(--secondary); display:flex; align-items:center; justify-content:center; border:2px solid var(--paper); transition:background .3s ease, box-shadow .3s ease;}
.step .dot svg{width:19px; height:19px; stroke:var(--ink-soft); fill:none; stroke-width:2;}
.step .lbl{font-size:0.85rem; font-weight:600; color:var(--ink-soft); text-align:center;}

/* Krok jeszcze nieosiągnięty - wyszarzony */
.step:not(.done):not(.current) .dot{background:var(--secondary); opacity:0.5;}
.step:not(.done):not(.current) .lbl{color:var(--ink-soft); opacity:0.6;}

/* Kolory dopasowane 1:1 do plakietek statusu (konto_status_pill) */
.step.step-pending.done .dot, .step.step-pending.current .dot{background:#FFF2DD;}
.step.step-pending.done .dot svg, .step.step-pending.current .dot svg{stroke:#C78302;}
.step.step-packed.done .dot, .step.step-packed.current .dot{background:#F2DDFF;}
.step.step-packed.done .dot svg, .step.step-packed.current .dot svg{stroke:#611CB3;}
.step.step-transit.done .dot, .step.step-transit.current .dot{background:#F3FFC9;}
.step.step-transit.done .dot svg, .step.step-transit.current .dot svg{stroke:#737C0D;}
.step.step-delivered.done .dot, .step.step-delivered.current .dot{background:#DCFFDF;}
.step.step-delivered.done .dot svg, .step.step-delivered.current .dot svg{stroke:#1F8824;}

.step.done .lbl{color:var(--ink);}
.step.current .dot{box-shadow:0 0 0 5px rgba(42,22,16,0.06);}
.step.current .lbl{color:var(--ink); font-weight:700;}

/* Duży, wyśrodkowany wariant - zamówienia anulowane / zwrócone (bez steppera) */
.stepper-stopped{display:flex; flex-direction:column; align-items:center; gap:10px; padding:8px 0 22px;}
.status-pill-large{display:flex; flex-direction:column; align-items:center; gap:10px;}
.status-pill-large .dot{width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;}
.status-pill-large .dot svg{width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:2;}
.status-pill-large .lbl{font-size:0.95rem; font-weight:700; color:var(--ink);}
.status-pill-large.cancelled .dot{background:#DCFFDF; color:#935219;}
.status-pill-large.refunded .dot{background:#FFDDDD; color:#7C211E;}

.tracking-row{display:flex; align-items:center; gap:10px; background:var(--secondary); border-radius:12px; padding:12px 16px; font-size:0.9rem; flex-wrap:wrap; line-height:1.3;}
.tracking-row svg{width:17px; height:17px; stroke:var(--brand); fill:none; stroke-width:1.8; flex:0 0 auto;}
.tracking-row b{font-weight:700; letter-spacing:0.02em;}
.copy-btn{
  -webkit-appearance:none; appearance:none;
  margin:0; padding:6px 10px; min-height:0; height:auto; line-height:1.2;
  background:none; border:none; box-shadow:none; border-radius:6px; outline:none;
  cursor:pointer; color:var(--ink-soft); display:inline-flex; align-items:center; gap:6px;
  font-family:'DM Sans', sans-serif; font-size:0.82rem; font-weight:600;
}
.copy-btn:hover{color:var(--brand); background:rgba(180,0,35,0.06);}
.copy-btn svg{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.8;}

.od-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:start;}
@media (max-width:820px){.od-grid{grid-template-columns:1fr;}}

.od-card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:24px;}
.od-card h3{font-size:1.05rem; margin:0 0 18px; color:var(--ink); font-weight:600;}

/* Odstęp między kartami w "Dane konta" (Dane osobowe / Zmiana hasła) */
.acct-profile-card{ margin-bottom:32px; }

/* Pole e-mail (zablokowane) + ikonka kłódki z tooltipem - "Dane konta" */
.email-field-wrap{ position:relative; }
.email-field-wrap input{ padding-right:48px !important; opacity:0.7; cursor:not-allowed; }
.email-lock-icon{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:30px; height:30px; display:flex; align-items:center; justify-content:center;
  color:var(--ink-soft); cursor:help;
}
.email-lock-icon svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8; pointer-events:none; }
.email-lock-icon:hover{ color:var(--brand); }
.email-lock-icon::after{
  content:attr(data-tooltip);
  position:absolute; bottom:calc(100% + 8px); right:0; z-index:5;
  background:var(--dark); color:var(--secondary); font-size:0.76rem; font-weight:600;
  padding:8px 12px; border-radius:8px; white-space:nowrap;
  opacity:0; pointer-events:none; transform:translateY(4px); transition:opacity .15s ease, transform .15s ease;
}
.email-lock-icon:hover::after,
.email-lock-icon:focus::after{ opacity:1; transform:translateY(0); }

.od-item{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.od-item-thumb img{width:56px; height:56px; border-radius:10px; object-fit:cover; display:block;}
.od-item .name{font-weight:700; font-size:0.95rem;}
.od-item .qty{font-size:0.82rem; color:var(--ink-soft);}
.od-item .price{margin-left:auto; font-weight:700; font-size:0.92rem; white-space:nowrap; display:flex; flex-direction:column; align-items:flex-end; gap:2px;}
.was-price-sm{font-size:0.72rem; font-weight:400; color:var(--ink-soft); text-decoration:line-through;}
.item-sale-note{font-size:0.76rem; color:#1F8824; font-weight:600; margin-top:2px;}

.od-sums{border-top:1px solid var(--line); padding-top:20px; margin-top:6px;}
.od-sums .od-row{display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:0.88rem; color:var(--ink-soft); margin-bottom:14px;}
.od-sums .od-row > span:last-child{white-space:nowrap; flex:0 0 auto;}
.od-sums .od-row > span:last-child *{white-space:nowrap;}
.od-sums .od-row > span:first-child{flex:1 1 auto;}
.od-sums .woocommerce-Price-amount{display:inline-block; white-space:nowrap;}
.od-sums .od-row.total{font-size:1.05rem; color:var(--ink); font-weight:700; margin-top:6px; margin-bottom:14px; align-items:center;}
.od-sums .od-row.total b{color:var(--brand);}
.od-sums .total-value{display:flex; flex-direction:row; align-items:baseline; gap:8px; white-space:nowrap;}
.was-price{font-size:0.78rem; font-weight:400; color:var(--ink-soft); text-decoration:line-through;}
.od-sums .od-row:last-child{margin-bottom:0;}

.addr-block p{font-size:0.92rem; color:var(--ink-soft); line-height:1.6; margin:0;}
.addr-block .name{font-weight:700; color:var(--ink); margin:0 0 4px;}

.cta-box{background:var(--secondary); border-radius:16px; padding:22px 24px; margin-top:20px; text-align:left;}
.cta-box h4{font-size:1rem; margin:0 0 6px; font-weight:600;}
.cta-box p{font-size:0.88rem; color:var(--ink-soft); margin:0 0 16px;}
.help-link{display:block; text-align:center; margin-top:12px; font-size:0.85rem; font-weight:600; color:var(--brand); text-decoration:none;}
.help-link:hover{text-decoration:underline;}

.toast{
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--dark); color:var(--secondary); padding:12px 22px; border-radius:999px;
  font-size:0.88rem; font-weight:600; opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
  z-index:9999;
}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

.pagination{display:flex; justify-content:space-between; margin-top:20px;}
.pagination .button{background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:10px 18px; font-weight:600; font-size:0.85rem; color:var(--ink); text-decoration:none;}
.pagination .button:hover{background:var(--secondary-deep);}

/* Wrapper strony - ten sam wzorzec co .koszyk-wrapper / .koszyk-inner */
.konto-wrapper{ padding:56px 0 0px; }
.konto-inner{ max-width:1200px; margin:0 auto; padding:0 20px; font-family:'DM Sans', sans-serif; }

.acct-empty{
  background:var(--paper); border:1px solid var(--line); border-radius:16px;
  padding:48px 24px; text-align:center;
}
.acct-empty p{ color:var(--ink-soft); margin-bottom:18px; font-size:1rem; }

/* Nagłówek sekcji z przyciskiem po prawej (np. "Adresy dostawy" + "Dodaj adres") */
.acct-section-head-row{
  display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; flex-wrap:wrap;
}
.acct-section-head-row h2{ margin:0; font-size:1.5rem; font-weight:600; color:var(--ink); }
.acct-section-head-row .btn svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2.2; }

/* Karty adresów */
.addr-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px; }
.addr-card{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px 24px; }
.addr-card-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.addr-label{ font-weight:700; font-size:1.05rem; color:var(--ink); }
.addr-default-badge{
  background:var(--secondary-deep); color:#8A6A1F; font-size:0.72rem; font-weight:700;
  padding:4px 10px; border-radius:999px; white-space:nowrap;
}
.addr-name{ font-weight:700; font-size:0.92rem; color:var(--ink); margin-bottom:6px; }
.addr-lines{ color:var(--ink-soft); font-size:0.9rem; line-height:1.6; }
.addr-note{ margin:12px 0 0; font-size:0.82rem; color:var(--ink-soft); line-height:1.5; font-style:italic; }
.addr-card-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.addr-edit-link{ color:var(--brand); font-weight:700; font-size:0.88rem; text-decoration:none; }
.addr-edit-link:hover{ text-decoration:underline; }
.addr-delete-link{ color:#c99696; font-weight:400; font-size:0.88rem; text-decoration:none; }
.addr-delete-link:hover{ color:var(--brand); text-decoration:underline; }

/* Formularz dodawania/edycji adresu - 1:1 z formularzem w podsumowaniu (kasie) */
.addr-form{ max-width:520px; padding:24px; border-radius:22px; }
.form-row{ margin-bottom:18px; }
.form-row label{ display:block; font-size:13px; font-weight:600; color:#3A1214; margin-bottom:6px; }
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="password"],
.form-row textarea{
  width:100%; box-sizing:border-box; padding:14px 16px; border:1px solid #B400232E; border-radius:12px;
  font-family:'DM Sans', sans-serif; font-size:0.95rem; color:#3A1214; background:#FDF7EA;
}
.form-row textarea{ resize:vertical; min-height:80px; }
.form-row input[type="text"]:focus,
.form-row input[type="email"]:focus,
.form-row input[type="password"]:focus,
.form-row textarea:focus{ outline:none; border-color:var(--brand); box-shadow:none; }
.form-row input[type="text"]::placeholder,
.form-row input[type="email"]::placeholder,
.form-row input[type="password"]::placeholder,
.form-row textarea::placeholder{ color:var(--ink-soft); opacity:1; }
.form-row-split{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-checkbox{ display:flex; align-items:center; gap:8px; font-size:0.9rem; color:var(--ink); margin-bottom:24px; cursor:pointer; }
.auth-consent{ align-items:flex-start; font-size:0.82rem; line-height:1.4; text-align:left; margin-bottom:18px; }

.auth-consent input,
.auth-remember input{
  -webkit-appearance:none; appearance:none;
  margin:0 !important; margin-top:1px !important; flex:0 0 auto; width:16px !important; height:16px !important;
  min-width:16px !important; min-height:16px !important;
  border:1.5px solid #9CA3AF; border-radius:4px; background-color:var(--paper);
  background-position:center; background-repeat:no-repeat; background-size:11px;
  cursor:pointer; box-shadow:none; outline:none; transition:background-color .15s ease, border-color .15s ease;
}
.auth-consent input:checked,
.auth-remember input:checked{
  background-color:var(--brand); border-color:var(--brand);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FCF0D6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.auth-consent span{ user-select:none !important; -webkit-user-select:none !important; }
.auth-consent a{ color:#1A73E8 !important; font-weight:600; text-decoration:underline !important; user-select:none !important; -webkit-user-select:none !important; }
.auth-consent a:hover{ color:#1558B0 !important; }
.form-checkbox input[type="checkbox"]{ accent-color:var(--brand); }
.form-actions{ display:flex; gap:12px; }

/* =====================================================================
   LOGOWANIE / REJESTRACJA
   ===================================================================== */
.konto-inner:has(.auth-card){ display:flex; justify-content:center; padding-top:64px; }
.auth-card{
  background:var(--paper); border:1px solid var(--line); border-radius:24px;
  padding:40px 24px; max-width:440px; width:100%; text-align:center;
  box-shadow:0 20px 50px rgba(53,21,21,0.08);
}
.auth-avatar{
  width:56px; height:56px; border-radius:50%; background:var(--brand); color:var(--secondary);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.3rem;
  margin:0 auto 20px;
}
.auth-title{ font-size:1.55rem; font-weight:700; color:var(--ink); margin:0 0 6px; }
.auth-subtitle{ font-size:0.92rem; color:var(--ink-soft); margin:0 0 28px; }

.auth-tabs{
  display:flex; background:var(--secondary); border-radius:999px; padding:5px; margin-bottom:28px; gap:4px;
}
.auth-tab{
  flex:1 1 0; -webkit-appearance:none; appearance:none; border:none; cursor:pointer;
  background:transparent !important; color:var(--ink-soft); font-family:'DM Sans', sans-serif;
  font-weight:700; font-size:0.9rem; padding:11px 0; border-radius:999px; transition:background .15s ease, color .15s ease;
  box-shadow:none !important; outline:none !important;
}
.auth-tabs{ position:relative; }
.auth-tab-indicator{
  position:absolute; top:5px; bottom:5px; left:5px; width:calc(50% - 5px);
  background:var(--paper); border-radius:999px; box-shadow:0 2px 8px rgba(53,21,21,0.08);
  transition:transform .28s cubic-bezier(.4,0,.2,1); z-index:0; pointer-events:none;
}
.auth-tabs[data-active="register"] .auth-tab-indicator{ transform:translateX(100%); }
.auth-tab{ position:relative; z-index:1; }
.auth-tab.active{ background:transparent !important; color:var(--ink); box-shadow:none !important; }
.auth-tab:not(.active):hover{ color:var(--brand); background:var(--secondary-deep) !important; }

.auth-panel form .form-row{ text-align:left; margin-bottom:16px; }
.auth-submit{ width:100%; padding:15px 0; font-size:0.95rem; margin-top:6px; box-shadow:0 2px 6px rgba(180,0,35,0.08); }
.auth-submit.is-loading{ display:flex; align-items:center; justify-content:center; opacity:0.85; cursor:default; }
.auth-spinner{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; animation:auth-spin .7s linear infinite; }
@keyframes auth-spin{ to{ transform:rotate(360deg); } }

.auth-panels{
  display:flex; width:200%; transition:transform .32s cubic-bezier(.4,0,.2,1);
  align-items:flex-start;
}
.auth-panels[data-active="register"]{ transform:translateX(-50%); }
.auth-panels-viewport{ overflow:hidden; transition:height .3s cubic-bezier(.4,0,.2,1); }
.auth-panel{
  width:50%; flex:0 0 50%; box-sizing:border-box; padding-right:4px;
  opacity:0; pointer-events:none; transition:opacity .28s ease;
}
.auth-panels[data-active="login"] .auth-panel[data-auth-panel="login"],
.auth-panels[data-active="register"] .auth-panel[data-auth-panel="register"]{
  opacity:1; pointer-events:auto;
}

.auth-login-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin:-8px 0 16px;
}
.auth-remember{ margin:0; font-size:0.82rem; color:var(--ink-soft); gap:6px; }

.auth-forgot-link{
  font-size:0.82rem; color:var(--ink-soft); text-decoration:none;
}
.auth-forgot-link:hover{ color:var(--brand); text-decoration:underline; }

.auth-message{ text-align:left; font-size:0.85rem; font-weight:600; padding:12px 16px; border-radius:10px; margin-bottom:18px; }
.auth-message-error{ background:#FBE7EA; color:#935219; }
.auth-message-success{ background:#DCFFDF; color:#1F8824; }

.pw-strength{ margin-bottom:24px; }
.pw-strength-heading{ font-size:0.78rem; font-weight:600; color:var(--ink); margin-bottom:8px; }
.pw-strength-bar{ display:flex; gap:5px; }
.pw-strength-bar span{
  height:4px; flex:1 1 0; border-radius:999px; background:var(--line); transition:background .2s ease;
}
.pw-strength-label{ font-size:0.78rem; font-weight:600; color:var(--ink-soft); }
.pw-strength[data-level="1"] .pw-strength-bar span:nth-child(1){ background:#D6495A; }
.pw-strength[data-level="1"] .pw-strength-label{ color:#D6495A; }
.pw-strength[data-level="2"] .pw-strength-bar span:nth-child(-n+2){ background:#E08A2C; }
.pw-strength[data-level="2"] .pw-strength-label{ color:#E08A2C; }
.pw-strength[data-level="3"] .pw-strength-bar span:nth-child(-n+3){ background:#C7A82C; }
.pw-strength[data-level="3"] .pw-strength-label{ color:#C7A82C; }
.pw-strength[data-level="4"] .pw-strength-bar span:nth-child(-n+4){ background:#1F8824; }
.pw-strength[data-level="4"] .pw-strength-label{ color:#1F8824; }

.pw-requirements{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:3px; user-select:none !important; -webkit-user-select:none !important; }
.pw-requirements li{
  display:flex; align-items:center; gap:8px; font-size:0.8rem; color:var(--ink-soft); transition:color .15s ease; line-height:1.3;
}
.pw-dot{
  width:14px; height:14px; border-radius:50%; border:1.5px solid var(--line); flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; transition:background .15s ease, border-color .15s ease;
}
.pw-dot::after{
  content:''; width:6px; height:6px; border-radius:50%; background:transparent; transition:background .15s ease;
}
.pw-requirements li.met{ color:#1F8824; font-weight:600; }
.pw-requirements li.met .pw-dot{ background:#1F8824; border-color:#1F8824; }
.pw-requirements li.met .pw-dot::after{ background:var(--paper); }

.auth-back-link{
  display:block; margin-top:20px; font-size:0.85rem; color:var(--ink-soft); text-decoration:none;
}
.auth-back-link:hover{ color:var(--brand); }

.auth-terms{ font-size:0.76rem; color:var(--ink-soft); margin:24px 0 0; line-height:1.5; }
.auth-terms a{ color:#1A73E8 !important; font-weight:600; text-decoration:underline !important; }
.auth-terms a:hover{ color:#1558B0 !important; }

.pw-field-wrap{ position:relative; }
.pw-field-wrap input{ padding-right:56px !important; }
.pw-toggle{
  -webkit-appearance:none; appearance:none; position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:30px; height:30px; display:flex; align-items:center; justify-content:center;
  background:none; border:none; padding:0; margin:0; cursor:pointer; color:var(--ink-soft); border-radius:8px;
  z-index:2;
}
.pw-toggle:hover{ color:var(--brand); background:rgba(180,0,35,0.05); }
.pw-toggle svg{ width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.8; pointer-events:none; }

/* Pułapka na boty - fizycznie na stronie, ale niewidoczna i pomijana przez ludzi */
.konto-hp-field{
  position:absolute !important; left:-9999px !important; top:auto !important;
  width:1px !important; height:1px !important; overflow:hidden !important;
}

/* =====================================================================
   MOBILE — na samym końcu pliku, żeby zawsze wygrywało z regułami bazowymi
   (przy tej samej specyficzności wygrywa reguła niżej w pliku, niezależnie
   od tego, że jest w media query).
   ===================================================================== */
@media (max-width:600px){
  .konto-wrapper{ padding-top:56px; }
  .konto-inner:has(.auth-card){ padding-top:0; }
  .auth-card{ margin-top:56px; padding-bottom:24px; }
  .konto-inner{ padding:0; }

  /* Kolumna Elementora (.col) ma domyślnie padding 0 15px - poprawiamy na 16px.
     Bezpieczne, bo konto.css ładuje się wyłącznie na stronie "Moje konto". */
  .col{ padding:0 16px !important; }

  /* Przyciski (Szczegóły, Zamów ponownie) do lewej, nie wypychane na prawo */
  .order-card-foot{ align-items:flex-end; gap:14px 10px; }
  .order-card-foot .actions{ margin-left:auto; }
  .order-card-foot .actions .btn{ flex:0 0 auto; }

  /* Stepper - mniejsze kropki i podpisy, żeby się nie zderzały */
  .stepper{ gap:4px; }
  .stepper::before{ left:8%; right:8%; top:18px; }
  .step .dot{ width:36px; height:36px; }
  .step .dot svg{ width:15px; height:15px; }
  .step .lbl{ font-size:0.7rem; line-height:1.25; }

  /* Numer przesyłki / przycisk kopiuj - więcej oddechu, nic się nie ściska */
  .tracking-row{ padding:12px 14px; gap:8px 10px; }
  .tracking-row svg{ width:16px; height:16px; }
  .copy-btn{ padding:6px 8px; }
}