/* WooCommerce w systemie „Clarity”: koszyk, zamówienie, potwierdzenie, logowanie, konto oraz formularz zakupu na karcie produktu.
   Tokeny i komponenty pochodzą z system.css; tu tylko dopasowanie znaczników WooCommerce. */

/* komunikaty */
.woocommerce-notices-wrapper { display:flex; flex-direction:column; gap:12px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0; padding:16px 18px; border-radius:16px; background:var(--lp-bg); border:0; box-shadow:inset 0 0 0 1px var(--lp-ln); color:var(--lp-tx2); font-size:.95rem; list-style:none; }
.woocommerce-message { background:color-mix(in srgb,#00d6d8 16%,var(--lp-sf)); box-shadow:none; }
.woocommerce-info { background:color-mix(in srgb,#f2e500 22%,var(--lp-sf)); box-shadow:none; }
.woocommerce-error { box-shadow:inset 0 0 0 1px var(--err); color:var(--lp-tx); }
.woocommerce-message .button, .woocommerce-info .button { order:2; margin-left:auto; }
.woocommerce-error li { margin:0; }

/* przyciski */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit,
.single_add_to_cart_button, .wc-block-components-button:not(.is-link), .wp-block-button__link, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 24px; border:0; border-radius:999px; background:#00d6d8; color:#020304; font:inherit; font-size:16px; font-weight:600; line-height:1; cursor:pointer; text-decoration:none; transition:opacity .2s,background .2s; }
.woocommerce .button:hover, .woocommerce button.button:hover, .single_add_to_cart_button:hover, .wc-block-components-button:not(.is-link):hover { opacity:.88; background:#00d6d8; color:#020304; }
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt { background:var(--lp-inv); color:var(--lp-inv-tx); }
.woocommerce .button.alt:hover { background:var(--lp-inv); color:var(--lp-inv-tx); }
.woocommerce .button:disabled, .woocommerce .button.disabled, .single_add_to_cart_button:disabled, .single_add_to_cart_button.disabled { opacity:.38; pointer-events:none; }
.single_add_to_cart_button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width:100%; min-height:56px; font-size:1.05rem; }

/* formularze */
.woocommerce form .form-row { display:flex; flex-direction:column; gap:6px; margin:0 0 14px; padding:0; }
.woocommerce form .form-row label, .wc-block-components-text-input label { font-size:.86rem; font-weight:600; color:var(--lp-tx); }
.woocommerce form .form-row .required { color:var(--err); }
.woocommerce input[type=text], .woocommerce input[type=email], .woocommerce input[type=tel], .woocommerce input[type=password], .woocommerce input[type=number], .woocommerce input[type=date], .woocommerce textarea, .woocommerce select,
.wc-block-components-text-input input, .wc-block-components-textarea textarea, .wc-blocks-components-select__select, .wc-block-components-combobox .components-combobox-control__input {
  width:100%; height:52px; padding:0 18px; border-radius:14px; border:1px solid var(--lp-ln); background:var(--lp-bg); color:var(--lp-tx); font:inherit; font-size:16px; outline:none; box-shadow:none; transition:border-color .2s; }
.woocommerce textarea { height:auto; min-height:110px; padding:14px 18px; }
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus, .wc-block-components-text-input input:focus { border-color:var(--lp-at); box-shadow:none; }
.woocommerce form .form-row.woocommerce-invalid input, .wc-block-components-text-input.has-error input { border-color:var(--err); }
.woocommerce form .form-row .woocommerce-input-wrapper { display:block; }
.woocommerce input[type=checkbox], .woocommerce input[type=radio], .wc-block-components-checkbox input { width:20px; height:20px; accent-color:#00d6d8; flex:none; }
.woocommerce .woocommerce-form__label-for-checkbox, .woocommerce .checkbox { display:flex !important; align-items:flex-start; gap:10px; font-weight:400 !important; }
.woocommerce form .show-password-input { right:14px; }

/* tabele (zamówienia, podsumowania) */
.woocommerce table.shop_table { width:100%; border:0; border-collapse:collapse; margin:0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding:14px 12px; border:0; border-top:1px solid var(--lp-ln); text-align:left; vertical-align:middle; font-size:.95rem; }
.woocommerce table.shop_table thead th { border-top:0; font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--lp-mu); }
.woocommerce table.shop_table tfoot th { color:var(--lp-mu); font-weight:500; }
.woocommerce table.shop_table tfoot tr:last-child :is(th,td) { font-size:1.15rem; font-weight:700; color:var(--lp-tx); }
.woocommerce table.shop_table a { color:var(--lp-at); font-weight:600; }
.woocommerce-order-overview { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0; margin:0 0 24px; padding:0; list-style:none; border-radius:20px; background:var(--lp-bg); overflow:hidden; }
.woocommerce-order-overview li { margin:0; padding:16px 20px; border-left:1px solid var(--lp-ln); font-size:.8rem; color:var(--lp-mu); }
.woocommerce-order-overview li:first-child { border-left:0; }
.woocommerce-order-overview li strong { display:block; margin-top:4px; font-size:1rem; color:var(--lp-tx); }
.woocommerce-column__title, .woocommerce-order-details__title, .woocommerce-customer-details h2, .woocommerce-Address-title h2 { margin:28px 0 12px; font-size:1.3rem; font-weight:700; letter-spacing:-.025em; }
.woocommerce address { font-style:normal; line-height:1.6; padding:18px 20px; border-radius:18px; background:var(--lp-bg); border:0; }

/* strona z treścią WooCommerce */
.woo-page > .woo-content { min-width:0; }
.woo-content :is(h2,h3) { letter-spacing:-.025em; }

/* panel konta */
.woo-content > .woocommerce { display:flex; flex-direction:column; gap:20px; }
.woocommerce-account.logged-in .woo-content > .woocommerce { display:grid; grid-template-columns:260px minmax(0,1fr); gap:clamp(20px,3vw,48px); align-items:start; }
.woocommerce-MyAccount-navigation { min-width:0; }
.woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.woocommerce-MyAccount-navigation a { display:flex; align-items:center; min-height:48px; padding:0 14px; border-radius:14px; font-weight:500; color:var(--lp-tx2); transition:background .2s,color .2s; }
.woocommerce-MyAccount-navigation a:hover { background:color-mix(in srgb,var(--lp-tx) 5%,transparent); color:var(--lp-tx); }
.woocommerce-MyAccount-navigation .is-active a { background:#00d6d8; color:#020304; font-weight:600; }
.woocommerce-MyAccount-content { min-width:0; display:flex; flex-direction:column; gap:14px; }
.woocommerce-form-login, .woocommerce-form-register { display:flex; flex-direction:column; gap:6px; padding:0; border:0; margin:0; }
.u-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.u-columns .u-column1, .u-columns .u-column2 { padding:clamp(22px,2.6vw,36px); border-radius:24px; background:var(--lp-bg); }
.u-columns h2 { margin:0 0 16px; font-size:clamp(26px,2.4vw,34px); font-weight:700; letter-spacing:-.035em; line-height:1.1; }
.woocommerce-LostPassword a { color:var(--lp-at); font-weight:600; }

/* formularz zakupu na karcie produktu */
.pd-cart form.cart { display:flex; flex-direction:column; gap:12px; margin:0; }
.pd-cart .quantity { display:none; }
.pd-cart .d240-booking-form { display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:18px; background:var(--lp-bg); }
.pd-cart .d240-booking-form label { font-size:.86rem; font-weight:600; }
.pd-cart .d240-booking-form input, .pd-cart .d240-booking-form select { height:48px; padding:0 14px; border-radius:12px; border:1px solid var(--lp-ln); background:var(--lp-sf); font:inherit; font-size:16px; width:100%; }
.pd-cart .d240-booking-form button { min-height:44px; padding:0 20px; border:0; border-radius:999px; background:var(--lp-inv); color:var(--lp-inv-tx); font:inherit; font-weight:600; cursor:pointer; }
.pd-cart .d240-booking-form button:disabled { opacity:.38; cursor:default; }
.pd-cart .d240-booking-form [data-booking-status] { margin:0; font-size:.88rem; color:var(--lp-mu); }
.pd-cart .woocommerce-info { margin-bottom:6px; }

@media (max-width:1000px) {
  .woocommerce-account.logged-in .woo-content > .woocommerce { grid-template-columns:1fr; }
  .woocommerce-MyAccount-navigation ul { flex-direction:row; overflow-x:auto; scrollbar-width:none; gap:6px; }
  .woocommerce-MyAccount-navigation a { white-space:nowrap; }
  .u-columns { grid-template-columns:1fr; }
}

/* Koszyk i zamówienie (bloki WooCommerce): kafle, pigułki, pola jak w systemie */
.woo-content .wp-block-woocommerce-cart, .woo-content .wp-block-woocommerce-checkout { max-width:none; margin:0; }
.woo-blocks .wp-block-woocommerce-cart, .woo-blocks .wp-block-woocommerce-checkout { display:block; margin:0 !important; padding:0 !important; }
.woo-blocks .wc-block-components-sidebar-layout { display:grid !important; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:20px; align-items:start; margin:0 !important; padding:0 !important; }
.woo-blocks .wc-block-components-sidebar-layout .wc-block-components-main { width:auto !important; padding:0 !important; margin:0 !important; }
.woo-blocks .wc-block-components-sidebar-layout .wc-block-components-sidebar { position:sticky; top:84px; width:auto !important; margin:0 !important; padding:clamp(22px,2.6vw,32px) !important; border-radius:28px; background:var(--lp-sf); }
.wc-block-cart__main, .wc-block-checkout__main { display:flex; flex-direction:column; gap:20px; }
.woo-blocks table.wc-block-cart-items { width:100%; border-collapse:separate; border-spacing:0; padding:8px 28px; border-radius:28px; background:var(--lp-sf); display:table; }
.wc-block-cart-items th { padding:18px 8px; font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--lp-mu); border:0 !important; }
.wc-block-cart-items td { padding:22px 8px !important; border-top:1px solid var(--lp-ln) !important; vertical-align:middle; }
.wc-block-cart-items .wc-block-cart-item__image img { width:96px; height:96px; border-radius:16px; object-fit:cover; }
.wc-block-components-product-name { font-size:1.1rem; font-weight:600; letter-spacing:-.02em; color:var(--lp-tx); text-decoration:none; }
.wc-block-components-product-price, .wc-block-components-product-price__value { font-weight:700; }
.wc-block-components-product-metadata, .wc-block-components-product-details { font-size:.9rem; color:var(--lp-mu); }
.wc-block-cart-item__remove-link, .wc-block-components-product-details__name { color:var(--lp-mu); font-size:.88rem; text-decoration:none; }
.wc-block-cart-item__remove-link:hover { color:var(--err); }
.wc-block-components-quantity-selector { border-radius:999px; border:1px solid var(--lp-ln); background:var(--lp-bg); }
.wc-block-cart__totals-title, .wc-block-components-order-summary__title, .wc-block-components-checkout-step__title { font-size:1.35rem !important; font-weight:700; letter-spacing:-.025em; text-transform:none !important; padding:0 !important; }
.wc-block-components-totals-wrapper { padding:14px 0 !important; border-color:var(--lp-ln) !important; }
.wc-block-components-totals-item { font-size:.98rem; }
.wc-block-components-totals-item__value { font-weight:600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size:1.6rem; letter-spacing:-.03em; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight:600; }
.wc-block-cart__submit-container { padding:0 !important; }
.wc-block-components-panel__button { font-weight:600; color:var(--lp-at); }

.woo-blocks .wc-block-components-checkout-step { margin:0 !important; padding:clamp(22px,2.6vw,36px) !important; border:0 !important; border-radius:28px !important; background:var(--lp-sf) !important; }
.wc-block-components-checkout-step__heading { margin:0 0 18px !important; }
.wc-block-components-checkout-step__description { color:var(--lp-mu); font-size:.92rem; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color:var(--lp-at) !important; box-shadow:none !important; }
.wc-block-components-text-input label { color:var(--lp-mu); }
.wc-block-components-radio-control__option { padding:16px 18px 16px 52px !important; border-radius:18px !important; background:var(--lp-bg); box-shadow:none !important; margin-bottom:10px; }
.wc-block-components-radio-control__option-checked { background:var(--lp-sf); box-shadow:inset 0 0 0 2px #020304 !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control-accordion-content { border-radius:18px; }
.wc-block-components-checkbox label, .wc-block-components-checkbox__label { font-size:.95rem; color:var(--lp-tx2); }
.wc-block-checkout__actions { padding:0 !important; }
.wc-block-components-checkout-return-to-cart-button { color:var(--lp-at); font-weight:600; text-decoration:none; }
.wc-block-components-order-summary-item__image img { border-radius:12px; }
.wc-block-components-validation-error { color:var(--err); font-size:.84rem; }
.wc-block-components-notice-banner.is-error { box-shadow:inset 0 0 0 1px var(--err); }
.wc-block-components-notice-banner { border-radius:16px; }
/* komunikaty bloków WooCommerce mają własne jasne tła — w obu motywach te same tokeny co komunikaty klasyczne */
body.d240-site .wc-block-components-notice-banner { background:var(--lp-sf); color:var(--lp-tx); border-color:var(--lp-ln); }
body.d240-site .wc-block-components-notice-banner.is-success { background:color-mix(in srgb,#00d6d8 16%,var(--lp-sf)); }
body.d240-site .wc-block-components-notice-banner.is-info, body.d240-site .wc-block-components-notice-banner.is-warning { background:color-mix(in srgb,#f2e500 22%,var(--lp-sf)); }
body.d240-site .wc-block-components-notice-banner.is-error { background:color-mix(in srgb,var(--err) 10%,var(--lp-sf)); }

@media (max-width:1000px) {
  .woo-blocks .wc-block-components-sidebar-layout { grid-template-columns:1fr; }
  .woo-blocks .wc-block-components-sidebar-layout .wc-block-components-sidebar { position:static; }
}
@media (max-width:640px) {
  .wc-block-cart-items .wc-block-cart-item__image img { width:72px; height:72px; }
}

/* potwierdzenie zamówienia i odstępy między krokami kasy */
.po-head { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:0 6px; }
.po-ok { display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:#020304; color:#00d6d8; }
.po-ok .lp-ic { width:34px; height:34px; stroke-width:2; }
.woo-blocks .wc-block-checkout__form { display:flex; flex-direction:column; gap:20px; }
