/* ========== Design tokens ========== */
:root{
  --cs-primary:#253D4E;      /* tekst / przyciski dark */
  --cs-accent:#EFD50E;       /* żółty brand */
  --cs-bg:#F7F3EE;           /* delikatne tło kart */
  --cs-muted:#8A98A5;        /* tekst wtórny */
  --cs-success:#10B981; --cs-success-bg:#ECFDF5;
  --cs-info:#3B82F6;    --cs-info-bg:#EFF6FF;
  --cs-error:#EF4444;   --cs-error-bg:#FEF2F2;
  --cs-radius:14px; --cs-radius-sm:10px;
  --cs-shadow:0 10px 24px rgba(0,0,0,.06);
}

/* ========== Container ========== */
.cs-wc-container{
  max-width:1490px; margin:0 auto; padding:24px 16px;
}

/* ========== Nagłówki sekcji ========== */
.woocommerce .cs-wc-container h2,
.woocommerce .cs-wc-container h3{
  color:var(--cs-primary);
  letter-spacing:.2px;
}

/* ========== Komunikaty (notices) ========== */
.woocommerce .woocommerce-message{
  border:0; border-left:4px solid var(--cs-success);
  background:var(--cs-success-bg); color:var(--cs-primary);
  border-radius:var(--cs-radius); padding:14px 16px; box-shadow:var(--cs-shadow);
}
.woocommerce .woocommerce-info{
  border:0; border-left:4px solid var(--cs-info);
  background:var(--cs-info-bg); color:var(--cs-primary);
  border-radius:var(--cs-radius); padding:14px 16px; box-shadow:var(--cs-shadow);
}
.woocommerce .woocommerce-error{
  border:0; border-left:4px solid var(--cs-error);
  background:var(--cs-error-bg); color:var(--cs-primary);
  border-radius:var(--cs-radius); padding:14px 16px; box-shadow:var(--cs-shadow);
}

/* ========== Przyciski ========== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 20px; border-radius:999px; font-weight:700;
  background:var(--cs-primary); color:#fff; border:0; transition:.2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{ transform:translateY(-1px); box-shadow:var(--cs-shadow); }
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order{
  background:var(--cs-accent); color:var(--cs-primary);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover{
  filter:brightness(0.95);
}

/* link "Zobacz koszyk" w notice */
.woocommerce .woocommerce-message .button{
  background:#fff; color:var(--cs-primary); border:1px solid rgba(0,0,0,.06);
}

/* ========== Tabele (koszyk, podsumowanie, thankyou) ========== */
.woocommerce table.shop_table{
  width:100%; border-collapse:separate; border-spacing:0;
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:var(--cs-radius); overflow:hidden; box-shadow:var(--cs-shadow);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{ padding:14px 16px; }
.woocommerce table.shop_table th{ background:var(--cs-bg); color:var(--cs-primary); font-weight:700; }
.woocommerce table.shop_table tbody tr:nth-child(even){ background:#fff; }
.woocommerce table.shop_table tbody tr:nth-child(odd){ background:#FAFAFA; }

/* quantity input */
.woocommerce .quantity .qty{
  width:84px; text-align:center; padding:10px 12px;
  border:1px solid rgba(0,0,0,.15); border-radius:var(--cs-radius-sm);
}

/* koszyk: kupony i „Update cart” w jednej linii */
.woocommerce .cart .actions .coupon{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.woocommerce .cart .actions .input-text{
  padding:10px 12px; border:1px solid rgba(0,0,0,.15); border-radius:var(--cs-radius-sm);
}

/* ========== Formularze (checkout) ========== */
.woocommerce form .form-row{ margin-bottom:14px; }
.woocommerce form .form-row label{
  display:block; font-weight:600; margin-bottom:6px; color:var(--cs-primary);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  width:100%; padding:12px 14px; border-radius:var(--cs-radius-sm);
  border:1px solid rgba(0,0,0,.15); background:#fff; outline:none;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  border-color:var(--cs-primary); box-shadow:0 0 0 3px rgba(37,61,78,.12);
}

/* ========== Checkout grid (2 kolumny desktop) ========== */
.cs-checkout-grid{ display:grid; gap:24px; }
.cs-checkout-grid__customer{ min-width:0; }
.cs-checkout-grid__review{ min-width:0; }
@media (min-width: 1024px){
  .cs-checkout-grid{ grid-template-columns: 1fr .9fr; align-items:start; }
}

/* Skrzynki kupon/logowanie jako karty */
.woocommerce .woocommerce-form-login,
.woocommerce .checkout_coupon{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:var(--cs-radius);
  padding:16px; box-shadow:var(--cs-shadow); margin-bottom:16px;
}
.woocommerce .woocommerce-info a{ text-decoration:underline; }

/* Podsumowanie zamówienia */
.woocommerce-checkout-review-order{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:var(--cs-radius);
  padding:16px; box-shadow:var(--cs-shadow);
}

/* ========== Thank you ========== */
.woocommerce-order{
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:var(--cs-radius); padding:20px; box-shadow:var(--cs-shadow);
}
.woocommerce-order .woocommerce-notice--success{
  color:var(--cs-primary); background:var(--cs-success-bg);
  border-left:4px solid var(--cs-success); border-radius:var(--cs-radius); padding:14px 16px; margin-bottom:16px;
}
.woocommerce-order-overview{
  display:grid; grid-template-columns:1fr; gap:8px; margin:14px 0 0;
}
@media (min-width:768px){
  .woocommerce-order-overview{ grid-template-columns:repeat(3,1fr); }
}
.woocommerce table.order_details{ margin-top:16px; }

/* ========== Drobne ========== */
.woocommerce .select2-container .select2-selection{
  border:1px solid rgba(0,0,0,.15) !important; border-radius:var(--cs-radius-sm) !important; min-height:44px;
}
.woocommerce .select2-container .select2-selection__rendered{ line-height:44px; padding-left:12px; }
.woocommerce .select2-container .select2-selection__arrow{ height:44px; }

/* Ogólny kontener jak przy checkout */
.woocommerce-cart .woocommerce {
  max-width: 1490px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
}

/* Na desktopie: koszyk po lewej, suma po prawej */
@media (min-width: 900px) {
  .woocommerce-cart .woocommerce {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    flex-wrap: wrap;
  }

  .woocommerce-cart .woocommerce-cart-form {
    flex: 1 1 0;
  }

  .woocommerce-cart .cart-collaterals {
    flex: 0 0 320px;
  }
}

/* Tabela koszyka jako karta */
.woocommerce-cart .woocommerce-cart-form {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.75rem 1.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Trochę porządku w tabeli */
.woocommerce-cart table.shop_table {
  border: none;
  border-collapse: collapse;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  border: none;
  border-bottom: 1px solid #eee4d7;
  padding: 0.75rem 0.5rem;
}

.woocommerce-cart table.shop_table th {
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b6258;
}

/* Totals – osobna „karta” po prawej */
.woocommerce-cart .cart-collaterals .cart_totals {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.75rem 1.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.woocommerce-cart .cart-collaterals h2 {
  font-size: 1rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.woocommerce-cart .cart_totals table {
  border: none;
}

.woocommerce-cart .cart_totals table tr th,
.woocommerce-cart .cart_totals table tr td {
  border: none;
  padding: 0.4rem 0;
}

/* Przyciski w koszyku */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .button,
.woocommerce-cart button.button {
  border-radius: 9999px;
  padding: 0.75rem 1.75rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Na mobile: wszystko pod sobą */
@media (max-width: 899px) {
  .woocommerce-cart .woocommerce {
    padding-inline: 1rem;
  }

  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals .cart_totals {
    padding: 1.25rem 1rem;
  }
}


/* Kontener ogólny */
.woocommerce-account .woocommerce {
  max-width: 1490px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
}

/* Desktop: nawigacja z boku, treść obok */
@media (min-width: 900px) {
  .woocommerce-account .woocommerce {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 260px;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 0;
  }
}

/* Nawigacja – karta / panel boczny */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.5rem 1.25rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin-bottom: 0.4rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.6rem 0.9rem;
  border-radius: 9999px;
  font-size: 0.9rem;
  text-decoration: none;
  color: #1f1d1b;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: #111311;
  color: #ffffff;
}

/* Treść konta – karta */
.woocommerce-account .woocommerce-MyAccount-content {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.75rem 1.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Nagłówki / teksty w środku */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  margin-bottom: 0.75rem;
}

/* Formularze w Moje konto */
.woocommerce-account .woocommerce-MyAccount-content form p {
  margin-bottom: 0.75rem;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select {
  width: 100%;
  border-radius: 9999px;
  border: 1px solid #e1d6c9;
  padding: 0.55rem 0.9rem;
  font-size: 0.9rem;
}

/* Przyciski */
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content .button {
  border-radius: 9999px;
  padding: 0.7rem 1.6rem;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
}

/* Mobile: wszystko pod sobą */
@media (max-width: 899px) {
  .woocommerce-account .woocommerce {
    padding-inline: 1rem;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 1.25rem 1rem;
  }
}

/* GLOBALNY WRAPPER DLA MOJEGO KONTA */
.woocommerce-account .woocommerce {
  max-width: 1490px;
  margin-inline: auto;
  padding: 2rem 1.5rem;
}

/* SIDEBAR */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff;
  border-radius: 16px;
  padding: 1.5rem 1.25rem;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  max-width: 260px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.6rem 0.9rem;
  border-radius: 12px;
  color: #1F1D1B;
  text-decoration: none;
  transition: 0.15s;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: #111311;
  color: #fff;
}

/* CONTENT BLOCK / KARTA */
.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

@media (min-width: 900px) {
  .woocommerce-account .woocommerce {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 240px;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
  }
}

/* TABELA ZAMÓWIEŃ */
.woocommerce-account table.my_account_orders {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.woocommerce-account table.my_account_orders th {
  text-align: left;
  padding: 8px 4px;
  color: #6d6457;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid #eee4d7;
}

.woocommerce-account table.my_account_orders td {
  padding: 14px 4px;
  border-bottom: 1px solid #f1e8dd;
}

.woocommerce-account table.my_account_orders tr:hover td {
  background: #faf6f1;
}

/* 1. Główny wrapper Woo – konto, koszyk, checkout
   (działa także przy pustym koszyku)
*/
body.woocommerce-cart .woocommerce,
body.woocommerce-account .woocommerce,
body.woocommerce-checkout .woocommerce {
  max-width: 1490px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

/* 2. Notyfikacje Woo – też na szerokość contentu */
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-account .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper {
  max-width: 1490px;
  margin: 0 auto 16px;
  padding: 0 20px;
}

/* 3. Same boxy notyfikacji – zaokrąglenia itd. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  position: relative;
  border-radius: 9999px;
  padding: 0.9rem 1.5rem 0.9rem 3rem; /* więcej z lewej na ikonkę */
  box-sizing: border-box;
}

/* 4. Przesunięcie ikonek tak, żeby nie wchodziły na tekst */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  left: 1.4rem;          /* było bliżej krawędzi, teraz głębiej */
  top: 50%;
  transform: translateY(-50%);
}

body.woocommerce-account .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
  max-width: 1490px;      /* szerokość contentu */
  margin: 0 auto;         /* centrowanie */
  padding: 40px 20px 80px;/* oddech od headera/stopki */
}

/* Ułożenie nawigacji i treści */
body.woocommerce-account .woocommerce {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  flex-wrap: wrap;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 220px;
}

body.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 1 0;
}

/* Mobile: stack */
@media (max-width: 899px) {
  body.woocommerce-account .woocommerce {
    flex-direction: column;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 100%;
  }
}

/* Sidebar menu */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #ffffff;
  border-radius: 16px;
  padding: 16px 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin-bottom: 4px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 8px 14px;
  border-radius: 9999px;
  font-size: 0.9rem;
  text-decoration: none;
  color: #1F1D1B;
  transition: background-color .15s ease, color .15s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: #111311;
  color: #ffffff;
}

/* Karta z treścią (dashboard / zamówienia / adresy itp.) */
body.woocommerce-account .woocommerce-MyAccount-content {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px 22px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

/* ------ NOTYFIKACJE WOO ------ */

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  max-width: 1200px;
  margin: 0 auto 20px;
  padding: 16px 20px 16px 52px;
  border-radius: 12px;
  position: relative;
  font-size: 15px;
  line-height: 1.5;
}

/* SUCCESS */
.woocommerce-message {
  background: #e9f9ef;
  border-left: 4px solid #3cb371;
}

/* INFO */
.woocommerce-info {
  background: #e9f2ff;
  border-left: 4px solid #4a90e2;
}

/* ERROR */
.woocommerce-error {
  background: #fff1f1;
  border-left: 4px solid #d9534f;
}

/* USUWAMY DEFAULTOWE ICONS WOO ---------------------------------- */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.9;
}

/* ikona success */
.woocommerce-message::before {
  background-image: url('data:image/svg+xml;utf8,<svg fill="%233cb371" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.00039 16.2004L4.80039 12.0004L3.40039 13.4004L9.00039 19.0004L21.0004 7.00039L19.6004 5.60039L9.00039 16.2004Z"/></svg>');
}

/* ikona info */
.woocommerce-info::before {
  background-image: url('data:image/svg+xml;utf8,<svg fill="%234a90e2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M11 17h2v-6h-2v6zm0-8h2V7h-2v2zm1-7C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"/></svg>');
}

/* ikona error */
.woocommerce-error::before {
  background-image: url('data:image/svg+xml;utf8,<svg fill="%23d9534f" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>');
}

/* Tekst niech nie nachodzi na ikonę */
.woocommerce-message p,
.woocommerce-info p,
.woocommerce-error p {
  margin: 0;
  padding: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 45px !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  margin-left: auto !important;
  margin-right: 0 !important;
} 

.woocommerce-Address-title {
  font-weight: 600;
}

/* EDIT-ADDRESS: nagłówek sekcji adresu + przycisk Edytuj */
.woocommerce-Address .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 8px; /* lekki odstęp od adresu */
}

/* sam nagłówek */
.woocommerce-Address .woocommerce-Address-title h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
}

/* link "Edytyj adres..." jako przycisk */
.woocommerce-Address .woocommerce-Address-title .edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 9999px;
  border: 1px solid #111311;
  font-size: 13px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #111311;
  background: #fff;
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
  margin-left: 32px;
}

/* hover/focus – jak reszta przycisków CS */
.woocommerce-Address .woocommerce-Address-title .edit:hover,
.woocommerce-Address .woocommerce-Address-title .edit:focus-visible {
  background: #111311;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  outline: none;
}



/* mobile – żeby nic się nie rozjeżdżało */
@media (max-width: 768px) {
  .woocommerce-Address .woocommerce-Address-title {
    flex-direction: row;
    align-items: flex-start;
  }

  .woocommerce-Address .woocommerce-Address-title .edit {
    padding-inline: 14px;
    font-size: 12px;
    text-align: center;
  }
  .woocommerce-Address .edit {
    margin-left: 16px; /* odstęp od nagłówka */
  }
  .woocommerce-Address {
    margin-top: 40px;
  }
}
