/* ==========================================================================
   Sprzedaż w katalogu: formularz „Dodaj firmę”, odnowienie wpisu, kasa i podsumowanie zamówienia.
   Ładowany tylko na stronach sprzedaży. Korzysta z tokenów z main.css.
   ========================================================================== */

/* Szersza treść niż na zwykłych stronach */
.ks-shop .wrap--text { width: min(100% - 2 * var(--gutter), 1080px); }
.ks-shop .entry-content { max-width: none; }
.ks-shop .post-body { padding-top: var(--s-6); }
.ks-shop .entry-content > .lead { max-width: 60ch; }

/* --- Formularz ---------------------------------------------------------- */
.ks-form { display: grid; gap: var(--s-6); max-width: 880px; }
.ks-set {
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface);
  padding: var(--s-5); margin: 0; min-width: 0;
}
.ks-set > legend {
  display: flex; align-items: center; gap: .6rem; padding: 0 var(--s-2);
  font: 800 var(--fs-h3)/1.2 var(--font-display); letter-spacing: -.02em;
}
.ks-step {
  display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%;
  background: var(--lime); color: var(--ink); font-size: 1rem; font-weight: 800;
}
.ks-note { margin: 0 0 var(--s-4); color: var(--ink-2); font-size: .95rem; }
.ks-note code { background: var(--mint); padding: .05em .35em; border-radius: 4px; }

.ks-grid { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.ks-grid--hours { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.ks-field--wide { grid-column: 1 / -1; }
.ks-field { min-width: 0; }
.ks-field > label { display: block; margin-bottom: .3rem; font-weight: 700; font-size: .95rem; color: var(--ink-2); }
.ks-req { font-weight: 500; color: var(--muted); font-size: .85em; }
.ks-field input[type="text"], .ks-field input[type="url"], .ks-field input[type="email"], .ks-field input[type="tel"],
.ks-field select, .ks-field textarea {
  width: 100%; min-height: 48px; padding: .65rem .9rem; font: inherit; color: var(--ink);
  background: #fff; border: 1.5px solid var(--line-strong); border-radius: var(--r-md);
}
.ks-field textarea { min-height: 9rem; resize: vertical; line-height: 1.5; }
.ks-field input:focus, .ks-field select:focus, .ks-field textarea:focus { border-color: var(--ink); }
.ks-field.has-error input, .ks-field.has-error select, .ks-field.has-error textarea { border-color: #b3261e; }
.ks-hint { margin: .35rem 0 0; color: var(--muted); font-size: .9rem; }
.ks-err { margin: .35rem 0 0; color: #b3261e; font-weight: 600; font-size: .92rem; }
.ks-count { margin: .25rem 0 var(--s-4); color: var(--muted); font-size: .9rem; text-align: right; }
.ks-count.is-over { color: #b3261e; font-weight: 700; }

.ks-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.ks-details { margin: var(--s-3) 0 var(--s-4); border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--s-3) var(--s-4); background: var(--mint); }
.ks-details > summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.ks-details[open] > summary { margin-bottom: var(--s-3); }

.ks-confirm { padding: var(--s-4) var(--s-5); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--mint); }
.ks-confirm.has-error { border-color: #b3261e; }
.ks-check { display: flex; align-items: flex-start; gap: .75rem; font-weight: 500; cursor: pointer; }
.ks-check input { flex: none; width: 1.4rem; height: 1.4rem; margin-top: .2rem; accent-color: var(--primary); }
.ks-actions { display: grid; gap: var(--s-3); justify-items: start; }
.btn--large { min-height: 56px; padding-inline: 2rem; font-size: 1.1rem; }

.ks-errors {
  border: 2px solid #b3261e; background: #fdecea; border-radius: var(--r-lg); padding: var(--s-4) var(--s-5);
}
.ks-errors p { margin: 0 0 .4rem; }
.ks-errors ul { margin: 0; padding-left: 1.2rem; }
.ks-errors a { color: #7a1510; font-weight: 600; }
.ks-success { border: 1px solid #8cc63f; background: var(--lime-soft); border-radius: var(--r-lg); padding: var(--s-4) var(--s-5); }
.ks-success p { margin: 0; }
.ks-admin-note { margin: 0 0 var(--s-5); padding: .75rem 1rem; border: 1px solid #dba617; border-radius: var(--r-md); background: #fff4d6; color: #3b2e00; font-size: .95rem; }
.ks-admin-note a { color: #3b2e00; }
.ks-decide { background: #fff1a8; color: inherit; padding: 0 .15em; border-radius: 3px; }

/* --- Karty wyboru wpisu -------------------------------------------------- */
.ks-plans { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.ks-plan { position: relative; }
.ks-plan > input[type="radio"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.ks-plan__body {
  position: relative; display: flex; flex-direction: column; gap: .4rem; height: 100%;
  padding: var(--s-5); border: 2px solid var(--line); border-radius: var(--r-lg); background: var(--surface);
  transition: border-color .15s, box-shadow .15s, background-color .15s;
}
label.ks-plan__body { cursor: pointer; }
.ks-plan--featured .ks-plan__body { border-color: var(--line-strong); }
.ks-plan > input:checked + .ks-plan__body { border-color: var(--primary); background: var(--lime-soft); box-shadow: 0 0 0 2px var(--primary) inset; }
.ks-plan > input:focus-visible + .ks-plan__body { outline: 3px solid var(--focus); outline-offset: 3px; }
.ks-plan > input:checked + .ks-plan__body::after {
  content: ""; position: absolute; top: var(--s-4); right: var(--s-4); width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.ks-plan__flag { align-self: flex-start; padding: .15rem .65rem; border-radius: var(--r-pill); background: var(--lime); color: var(--ink); font-size: .8rem; font-weight: 800; }
.ks-plan__name { font: 800 var(--fs-h3)/1.2 var(--font-display); letter-spacing: -.02em; padding-right: 2rem; }
.ks-plan__price { font: 800 clamp(2rem, 1.6rem + 1.6vw, 2.6rem)/1 var(--font-display); letter-spacing: -.03em; }
.ks-plan__vat { color: var(--muted); font-size: .9rem; }
.ks-plan__lead { color: var(--ink-2); margin-top: .3rem; }
.ks-plan__points { margin: .4rem 0 0; padding: 0; list-style: none; display: grid; gap: .4rem; }
.ks-plan__points li { position: relative; padding-left: 1.6rem; font-size: .97rem; }
.ks-plan__points li::before {
  content: ""; position: absolute; left: 0; top: .35em; width: 1rem; height: 1rem; border-radius: 50%;
  background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.ks-plans__cta { margin-top: var(--s-5); }

/* --- Strona odnowienia ---------------------------------------------------- */
.ks-renew { display: grid; gap: var(--s-5); max-width: 760px; }
.ks-card { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); padding: var(--s-5); }
.ks-card h2 { font-size: var(--fs-h3); margin-bottom: .4em; }
.ks-facts { display: grid; gap: .5rem; margin: var(--s-3) 0; }
.ks-facts div { display: flex; flex-wrap: wrap; gap: .25rem var(--s-4); }
.ks-facts dt { min-width: 9rem; font-weight: 700; color: var(--ink-2); }
.ks-facts dd { margin: 0; }
.ks-closed p:last-child { margin-bottom: 0; }

/* --- Pytania ------------------------------------------------------------- */
.ks-faq { border-bottom: 1px solid var(--line); padding: .25rem 0; }
.ks-faq > summary { cursor: pointer; font-weight: 700; min-height: 48px; display: flex; align-items: center; }
.ks-faq p { margin: 0 0 var(--s-3); color: var(--ink-2); }

/* --- Kasa i zamówienie WooCommerce --------------------------------------- */
.ks-checkout-intro { max-width: 60ch; color: var(--ink-2); }
.woocommerce { max-width: 1080px; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  list-style: none; margin: 0 0 var(--s-5); padding: var(--s-4) var(--s-5);
  border-radius: var(--r-md); border-left: 6px solid var(--primary); background: var(--lime-soft);
}
.woocommerce-error { border-left-color: #b3261e; background: #fdecea; }
.woocommerce-error li { margin: 0 0 .3rem; }
.woocommerce-error a, .woocommerce-message a, .woocommerce-info a { font-weight: 700; }
.woocommerce-message .button, .woocommerce-info .button { display: none; }

form.checkout { display: grid; gap: var(--s-6); align-items: start; }
form.checkout > .woocommerce-NoticeGroup, form.checkout > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.ks-review-col { min-width: 0; }
.ks-shop .page-hero { padding-bottom: var(--s-5); }
#customer_details .col-1, #customer_details .col-2 { width: auto; float: none; }
.woocommerce-billing-fields > h3, #order_review_heading { display: none; }
.ks-checkout-h { font-size: var(--fs-h3); margin: 0 0 var(--s-4); }
.woocommerce-billing-fields__field-wrapper { display: grid; gap: 0 var(--s-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce form .form-row { margin: 0 0 var(--s-4); min-width: 0; }
.woocommerce form .form-row-wide { grid-column: 1 / -1; }
.woocommerce form .form-row[hidden] { display: none; }
.woocommerce form .form-row > label { display: block; margin-bottom: .3rem; font-weight: 700; font-size: .95rem; color: var(--ink-2); }
.woocommerce form .form-row .optional { display: none; }
.woocommerce form .form-row .required { color: #b3261e; text-decoration: none; font-weight: 700; }
.woocommerce form .form-row .description, .woocommerce form .form-row .ks-req-js { color: var(--muted); font-size: .9rem; font-weight: 500; }
.woocommerce form .form-row .description { display: block; margin-top: .35rem; }
.woocommerce input.input-text, .woocommerce select, .woocommerce textarea, .woocommerce .select2-selection {
  width: 100%; min-height: 48px; padding: .65rem .9rem; font: inherit; color: var(--ink);
  background: #fff; border: 1.5px solid var(--line-strong); border-radius: var(--r-md);
}
.woocommerce input.input-text:focus, .woocommerce select:focus { border-color: var(--ink); }
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: #b3261e; }
.woocommerce .woocommerce-input-wrapper { display: block; }
#billing_country_field { display: none !important; }

/* wybór „Kupuję jako” jako dwa przyciski */
.ks-choice { border: 0; margin: 0; padding: 0; min-width: 0; }
.ks-choice > legend { padding: 0; margin-bottom: .45rem; font-weight: 700; font-size: .95rem; color: var(--ink-2); }
.ks-choice__options { display: flex; flex-wrap: wrap; gap: var(--s-3); }
.ks-choice__option {
  display: inline-flex; align-items: center; gap: .6rem; min-height: 48px; padding: .55rem 1.1rem;
  border: 1.5px solid var(--line-strong); border-radius: var(--r-pill); background: #fff; font-weight: 600; cursor: pointer;
}
.ks-choice__option input { flex: none; width: 1.2rem; height: 1.2rem; margin: 0; accent-color: var(--primary); }
.ks-choice__option:has(input:checked) { border-color: var(--primary); background: var(--lime-soft); box-shadow: 0 0 0 1px var(--primary) inset; }
.ks-choice__option:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 2px; }

.woocommerce form .form-row.ks-consent label, .woocommerce form .form-row label.checkbox, .woocommerce form .form-row .woocommerce-form__label-for-checkbox {
  display: flex; align-items: flex-start; gap: .65rem; min-height: 44px; padding-block: .4rem; font-weight: 500; cursor: pointer;
}
.woocommerce form .form-row input[type="checkbox"] { flex: none; width: 1.3rem; height: 1.3rem; margin-top: .2rem; accent-color: var(--primary); }

#order_review { border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--s-5); background: var(--surface); align-self: start; }
table.shop_table { width: 100%; border-collapse: collapse; margin: 0 0 var(--s-4); }
table.shop_table th, table.shop_table td { padding: .75rem .4rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
table.shop_table td:last-child, table.shop_table tfoot td { text-align: right; }
table.shop_table tfoot th { font-weight: 600; }
table.shop_table .order-total th, table.shop_table .order-total td { border-bottom: 0; font-weight: 800; font-size: 1.2rem; }
table.shop_table .product-quantity { font-weight: 600; color: var(--muted); }
table.shop_table .includes_tax { display: block; font-weight: 500; font-size: .85rem; color: var(--muted); white-space: nowrap; }
.ks-card > h2:first-child { margin-top: 0; }
/* tabele WooCommerce wewnątrz treści strony nie mają kratki (reguła .entry-content table z main.css) */
.ks-shop .entry-content table.shop_table th, .ks-shop .entry-content table.shop_table td { border: 0; border-bottom: 1px solid var(--line); }
.ks-shop .entry-content table.shop_table tr:last-child th, .ks-shop .entry-content table.shop_table tr:last-child td { border-bottom: 0; }
table.shop_table .cart-subtotal { display: none; }
.woocommerce ul.wc-item-meta { list-style: none; margin: .3rem 0 0; padding: 0; font-size: .9rem; color: var(--ink-2); }
.woocommerce ul.wc-item-meta li { margin: 0; }
.woocommerce ul.wc-item-meta li p { display: inline; margin: 0; }
.woocommerce dl.variation { margin: .3rem 0 0; font-size: .9rem; color: var(--ink-2); }
.woocommerce dl.variation dt { display: inline; font-weight: 700; }
.woocommerce dl.variation dd { display: inline; margin: 0 .5rem 0 0; }
.woocommerce dl.variation dd p { display: inline; margin: 0; }
.woocommerce a.remove { color: #b3261e; font-weight: 700; text-decoration: none; }

#payment { background: transparent; }
#payment ul.payment_methods { list-style: none; margin: 0 0 var(--s-4); padding: 0; display: grid; gap: var(--s-3); }
#payment ul.payment_methods > li { border: 1.5px solid var(--line-strong); border-radius: var(--r-md); padding: var(--s-3) var(--s-4); background: #fff; }
#payment ul.payment_methods > li > label { font-weight: 700; cursor: pointer; }
#payment ul.payment_methods input[type="radio"] { margin-right: .5rem; accent-color: var(--primary); }
#payment div.payment_box { margin-top: .6rem; padding: .7rem .9rem; border-radius: var(--r-sm); background: var(--mint); font-size: .95rem; }
#payment div.payment_box p { margin: 0; }
.woocommerce-privacy-policy-text { font-size: .9rem; color: var(--ink-2); }
.woocommerce-terms-and-conditions-wrapper { margin: var(--s-4) 0; }
#place_order, .woocommerce a.button, .woocommerce button.button, .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 56px; width: 100%;
  padding: .8rem 1.6rem; border: 2px solid transparent; border-radius: var(--r-pill);
  background: var(--primary); color: #fff; font: 800 1.1rem/1.1 var(--font-body); text-decoration: none; cursor: pointer;
}
#place_order:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .wc-proceed-to-checkout a.checkout-button:hover { background: var(--primary-d); color: #fff; }
.woocommerce a.button.wc-forward { width: auto; }

/* koszyk */
.woocommerce-cart-form { overflow-x: auto; }
.cart_totals { max-width: 420px; margin-left: auto; }
.cart-collaterals h2 { font-size: var(--fs-h3); }

/* podsumowanie zamówienia */
.woocommerce-order { max-width: 760px; }
.woocommerce-order > p.woocommerce-thankyou-order-received { font: 800 var(--fs-h2)/1.1 var(--font-display); letter-spacing: -.03em; margin-bottom: var(--s-5); }
ul.woocommerce-order-overview { list-style: none; margin: 0 0 var(--s-5); padding: 0; display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
ul.woocommerce-order-overview li { background: var(--mint); border-radius: var(--r-md); padding: .75rem 1rem; font-size: .9rem; color: var(--ink-2); min-width: 0; overflow-wrap: anywhere; }
ul.woocommerce-order-overview li strong { display: block; font-size: 1.05rem; color: var(--ink); }
.woocommerce-order h2, .woocommerce-bacs-bank-details h2, .wc-bacs-bank-details-heading { font-size: var(--fs-h3); margin: var(--s-5) 0 var(--s-3); }
.wc-bacs-bank-details { list-style: none; margin: 0 0 var(--s-5); padding: var(--s-4) var(--s-5); display: grid; gap: .4rem; border: 2px solid var(--primary); border-radius: var(--r-lg); background: var(--lime-soft); }
.wc-bacs-bank-details li { font-size: .95rem; }
.wc-bacs-bank-details li strong { font-size: 1.05rem; }
.woocommerce-customer-details address { font-style: normal; }
.ks-next { margin: var(--s-5) 0; padding: var(--s-5); border-radius: var(--r-lg); background: var(--mint); }
.ks-next h2 { font-size: var(--fs-h3); margin-top: 0; }
.ks-next ol { margin: 0 0 var(--s-3); padding-left: 1.3rem; display: grid; gap: .4rem; }

@media (min-width: 900px) {
  form.checkout { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .ks-review-col { position: sticky; top: 6rem; }
}
@media (max-width: 599px) {
  .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
  .ks-set { padding: var(--s-4); }
  .ks-facts dt { min-width: 100%; }
}

/* Oferta współpracy */
.ks-offers { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); margin: var(--s-5) 0; }
.ks-offer { display: flex; flex-direction: column; gap: .4rem; padding: var(--s-5); border: 2px solid var(--line); border-radius: var(--r-lg); background: var(--surface); }
.ks-offer__name, .entry-content .ks-offer__name { margin: 0; font: 800 var(--fs-h3)/1.2 var(--font-display); letter-spacing: -.02em; }
.ks-offer__price { margin: 0; font: 800 clamp(1.8rem, 1.5rem + 1.2vw, 2.3rem)/1 var(--font-display); letter-spacing: -.03em; }
.ks-offer__price span { font-size: .45em; font-weight: 600; color: var(--muted); letter-spacing: 0; }
.ks-offer__lead { margin: 0; color: var(--ink-2); }
.ks-offer .ks-plan__points { flex: 1; margin-bottom: var(--s-3); }
.ks-form--narrow { max-width: 640px; }
.ks-count.is-over { color: #b3261e; font-weight: 700; }

/* --- Konta: logowanie, rejestracja i panel ---------------------------------- */
.ks-gate { padding: var(--s-5); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--mint); max-width: 960px; }
.ks-gate h2 { margin-top: 0; }
.ks-gate__lead { max-width: 60ch; color: var(--ink-2); }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword { padding: var(--s-5); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); }
.u-columns.col2-set { display: grid; gap: var(--s-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.u-columns .u-column1, .u-columns .u-column2 { float: none; width: auto; }
.u-columns h2 { font-size: var(--fs-h3); margin: 0 0 var(--s-3); }
.woocommerce-form .form-row, .woocommerce-form-row { margin: 0 0 var(--s-4); }
.woocommerce-form .form-row > label, .woocommerce-form-row > label { display: block; margin-bottom: .3rem; font-weight: 700; font-size: .95rem; color: var(--ink-2); }
.woocommerce-form .required { color: #b3261e; text-decoration: none; }
.woocommerce-LostPassword { margin: var(--s-3) 0 0; font-size: .95rem; }
.woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: .65rem; min-height: 44px; padding-block: .3rem; font-weight: 500; cursor: pointer; }
.woocommerce-form__label-for-checkbox input { flex: none; width: 1.3rem; height: 1.3rem; margin-top: .2rem; accent-color: var(--primary); }
.woocommerce-form-login__rememberme { margin-right: var(--s-3); }
.woocommerce-privacy-policy-text { font-size: .9rem; color: var(--ink-2); }

/* panel konta: menu u góry, treść pod spodem */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-MyAccount-navigation { margin: 0 0 var(--s-5); }
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation a {
  display: inline-flex; align-items: center; min-height: 44px; padding: .45rem 1rem; border-radius: var(--r-pill);
  border: 1.5px solid var(--line-strong); color: var(--ink); font-weight: 600; text-decoration: none; background: #fff;
}
.woocommerce-MyAccount-navigation a:hover { background: var(--mint); }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a[aria-current="page"] { background: var(--green-d); border-color: var(--green-d); color: #fff; }
.woocommerce-MyAccount-content { min-width: 0; }
.ks-account-h { font-size: var(--fs-h2); margin: 0 0 var(--s-4); }

.ks-dash__hello { margin: 0 0 .2em; }
.ks-dash__lead { color: var(--ink-2); max-width: 60ch; }
.ks-dash__actions { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); margin: var(--s-5) 0; }
.ks-dash__card {
  display: flex; flex-direction: column; gap: .2rem; padding: var(--s-4) var(--s-5); border: 2px solid var(--line); border-radius: var(--r-lg);
  background: var(--surface); color: var(--ink); text-decoration: none; min-height: 44px;
}
.ks-dash__card:hover { border-color: var(--primary); background: var(--lime-soft); color: var(--ink); }
.ks-dash__card strong { font: 800 var(--fs-h3)/1.2 var(--font-display); letter-spacing: -.02em; }
.ks-dash__card span { color: var(--ink-2); font-size: .95rem; }
.ks-dash__attention { margin: var(--s-5) 0; padding: var(--s-4) var(--s-5); border-radius: var(--r-lg); background: #fff4d6; border: 1px solid #dba617; }
.ks-dash__attention h3 { margin: 0 0 var(--s-3); font-size: 1.1rem; }
.ks-dash__attention ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); }
.ks-dash__attention li { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; justify-content: space-between; color: #3b2e00; }
.ks-dash__stats { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin: var(--s-5) 0; }
.ks-dash__stats div { padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: var(--mint); }
.ks-dash__stats dt { font-size: .9rem; color: var(--ink-2); }
.ks-dash__stats dd { margin: 0; font: 800 1.8rem/1.1 var(--font-display); }
.ks-dash__stats a { color: var(--ink); text-decoration: none; }
.ks-dash__privacy { color: var(--muted); font-size: .92rem; }

.ks-table-wrap { overflow-x: auto; margin: 0 0 var(--s-4); }
.ks-table { width: 100%; border-collapse: collapse; }
.ks-table th, .ks-table td { padding: .75rem .6rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ks-table thead th { font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
.ks-table tbody th { font-weight: 700; }
.ks-table__note td { background: var(--mint); font-size: .92rem; color: var(--ink-2); }
.ks-actions-cell { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.ks-inline-form { display: inline; margin: 0; }
.ks-pill { display: inline-block; padding: .15rem .7rem; border-radius: var(--r-pill); background: var(--mint); font-weight: 700; font-size: .85rem; }
.ks-pill--aktywny { background: #d7f0dd; color: #14532d; }
.ks-pill--oplacony { background: #fff1c2; color: #6b4a00; }
.ks-pill--oczekuje { background: #e3ecfb; color: #1d3f7a; }
.ks-pill--odrzucony, .ks-pill--anulowany { background: #fbe0e0; color: #7a1d1d; }
.ks-pill--wygasl, .ks-pill--wstrzymany { background: #ececec; color: #444; }
@media (max-width: 700px) {
  .ks-table thead { position: absolute; left: -9999px; }
  .ks-table, .ks-table tbody, .ks-table tr, .ks-table th, .ks-table td { display: block; width: 100%; }
  .ks-table tr { margin-bottom: var(--s-4); border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--s-2); }
  .ks-table th, .ks-table td { border: 0; padding: .35rem .5rem; }
  .ks-table td[data-label]::before, .ks-table th[data-label]::before { content: attr(data-label) ": "; font-weight: 700; color: var(--ink-2); }
  .ks-table__note { border: 0 !important; padding: 0 !important; }
}

.ks-field input[type="file"] { width: 100%; min-height: 48px; padding: .6rem .8rem; border: 1.5px dashed var(--line-strong); border-radius: var(--r-md); background: #fff; font: inherit; }
.ks-thumb { display: inline-block; vertical-align: middle; border-radius: var(--r-sm); margin-left: .5rem; }

/* pola i przyciski formularzy WooCommerce poza kasą (logowanie, rejestracja, dane konta) */
.woocommerce-Input, .woocommerce-form input.input-text, .woocommerce-EditAccountForm input.input-text, .woocommerce-address-fields input.input-text,
.woocommerce-address-fields select, .woocommerce-EditAccountForm select {
  width: 100%; min-height: 48px; padding: .65rem .9rem; font: inherit; color: var(--ink);
  background: #fff; border: 1.5px solid var(--line-strong); border-radius: var(--r-md);
}
.woocommerce-Input:focus, .woocommerce-form input.input-text:focus { border-color: var(--ink); }
.woocommerce-button, .woocommerce-Button, .woocommerce-form button[type="submit"], .woocommerce-EditAccountForm button[type="submit"], .woocommerce-address-fields button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .7rem 1.4rem;
  border: 2px solid transparent; border-radius: var(--r-pill); background: var(--primary); color: #fff;
  font: 700 1rem/1.1 var(--font-body); cursor: pointer;
}
.woocommerce-button:hover, .woocommerce-Button:hover, .woocommerce-form button[type="submit"]:hover { background: var(--primary-d); }
.woocommerce-EditAccountForm fieldset { border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--s-4); margin: var(--s-4) 0; }
.woocommerce-EditAccountForm legend { font-weight: 700; padding: 0 var(--s-2); }
.woocommerce-address-fields__field-wrapper { display: grid; gap: 0 var(--s-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 599px) { .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; } }
.woocommerce-error, .woocommerce-message, .woocommerce-info { max-width: 960px; }

/* Przycisk „Pokaż hasło”: WooCommerce dokłada go skryptem, a motyw nie ładuje stylów WooCommerce, więc bez tego
   zostaje pusty, malutki przycisk pod polem. Cel dotykowy 48 px, ikona oka (klasa display-password = hasło widoczne). */
.password-input { position: relative; display: block;
  --ks-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  --ks-eye-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cpath d='M1 1l22 22'/%3E%3C/svg%3E"); }
.password-input input.input-text, .password-input .woocommerce-Input { display: block; padding-right: 3.4rem; }
.show-password-input {
  position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: center;
  width: 48px; height: 100%; min-height: 48px; margin: 0; padding: 0; border: 0; border-radius: 0 var(--r-md) var(--r-md) 0;
  background: transparent; color: var(--ink-2); cursor: pointer;
}
.show-password-input::after {
  content: ""; display: block; width: 22px; height: 22px; background: currentColor;
  -webkit-mask: var(--ks-eye) center / contain no-repeat; mask: var(--ks-eye) center / contain no-repeat;
}
.show-password-input.display-password::after { -webkit-mask-image: var(--ks-eye-off); mask-image: var(--ks-eye-off); }
.show-password-input:hover { color: var(--ink); }

/* --- Tabele zamówień w koncie: przewijanie wewnątrz tabeli tylko na wąskich ekranach ------------- */
@media (max-width: 700px) {
  .woocommerce-orders-table { display: block; max-width: 100%; overflow-x: auto; }
}

/* --- Rozwijane bloki: widoczny wskaźnik rozwinięcia (strzałka), bo flex wyłącza natywny trójkąt --- */
.ks-faq > summary, .ks-details > summary { list-style: none; gap: .75rem; }
.ks-faq > summary::-webkit-details-marker, .ks-details > summary::-webkit-details-marker { display: none; }
.ks-faq > summary::after, .ks-details > summary::after {
  content: ""; flex: none; margin-left: auto; width: .55rem; height: .55rem;
  border-right: 2.5px solid var(--ink-2); border-bottom: 2.5px solid var(--ink-2);
  transform: rotate(45deg); transition: transform .15s ease;
}
.ks-faq[open] > summary::after, .ks-details[open] > summary::after { transform: rotate(-135deg); }
@media (prefers-reduced-motion: reduce) {
  .ks-faq > summary::after, .ks-details > summary::after { transition: none; }
}
