/* SC Akcje – style szablonów Elementora (Pojedynczy list, karty pętli). Ładowane na każdej stronie.
   Klasy CSS nadane widżetom (Zaawansowane → Klasy CSS) w szablonach: sc-hero-tytul, sc-list-*, sc-btn-obrys, sc-h-sekcja, sc-baner-*, sc-btn-bialy, sc-karta-el-*. */
:root { --sc-czerwony: var(--e-global-color-primary, #C92123); --sc-tekst: var(--e-global-color-text, #000); --sc-zielony: #186D00; --sc-font: var(--e-global-typography-primary-font-family, "Source Sans Pro"), "Source Sans 3", Arial, sans-serif; }
body .elementor [class*="sc-"] .elementor-heading-title, body .elementor [class*="sc-"].elementor-widget-text-editor, body .elementor [class*="sc-"] .elementor-button { font-family: var(--sc-font); }

/* Hero */
body .elementor .sc-hero-tytul .elementor-heading-title { color: #fff; font-size: 64px; font-weight: 800; line-height: .9; letter-spacing: -1px; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
body .elementor .sc-hero-maly { font-size: .38em; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; vertical-align: middle; margin-right: 6px; }
body .elementor .sc-kropka { color: var(--sc-czerwony); }

/* Dane listu */
body .elementor .sc-list-foto-wrap { position: relative; flex-shrink: 0; }
body .elementor .sc-list-foto img { width: 150px; height: 150px; object-fit: cover; border-radius: 50%; border: 5px dashed var(--sc-czerwony); padding: 4px; background: #fff; box-sizing: border-box; }
body .elementor .sc-list-foto:not(:has(img)) { width: 150px; height: 150px; border-radius: 50%; border: 5px dashed var(--sc-czerwony); background: var(--sc-czerwony) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='32' cy='34' r='16'/%3E%3Cpath d='M16 30c2-12 10-18 16-18s14 6 16 18M17 30c6 0 12-4 15-10 3 6 9 10 15 10'/%3E%3Ccircle cx='26' cy='35' r='1.6' fill='%23fff'/%3E%3Ccircle cx='38' cy='35' r='1.6' fill='%23fff'/%3E%3Cpath d='M27 41c3 3 7 3 10 0'/%3E%3C/svg%3E") center/60% no-repeat; box-sizing: border-box; }
body .elementor .sc-list-serce { position: absolute !important; right: 2px; bottom: 6px; width: 38px !important; }
body .elementor .sc-list-serce img { width: 38px; height: 38px; object-fit: contain; }
body .elementor .sc-list-numer .elementor-heading-title { font-size: 22px; font-weight: 400; color: var(--e-global-color-text, #000); }
body .elementor .sc-list-imie .elementor-heading-title { font-size: 26px; font-weight: 700; color: var(--e-global-color-text, #000); }
body .elementor .sc-list-opis { font-size: 16px; font-weight: 600; line-height: 1.55; }
body .elementor .sc-list-dopisek { font-size: 15px; font-weight: 600; }
body .elementor .sc-list-opis p:last-child, body .elementor .sc-list-dopisek p:last-child { margin-bottom: 0; }

/* Przycisk obrysowany (pigułka) */
body .elementor .sc-btn-obrys .elementor-button { background: #fff; color: var(--sc-czerwony); border: 2px solid var(--sc-czerwony); border-radius: 20px; padding: 7px 18px; font-size: 15px; font-weight: 700; }
body .elementor .sc-btn-obrys .elementor-button:hover { background: var(--sc-czerwony); color: #fff; }
body .elementor .sc-btn-obrys .elementor-button-icon { font-size: 18px; }

/* Skan listu z lupą */
body .elementor .sc-list-skan-wrap { position: relative; }
body .elementor .sc-list-skan img { width: 100%; max-width: 360px; border: 3px solid var(--sc-czerwony); border-radius: 16px; background: #fff; }
body .elementor .sc-list-skan:not(:has(img)) { display: none; }
body .elementor .sc-list-lupa { position: absolute !important; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; width: auto !important; }
body .elementor .sc-list-lupa img { width: 72px; height: auto; filter: drop-shadow(0 4px 10px rgba(0,0,0,.2)); }
body .elementor .sc-list-skan-wrap:not(:has(.sc-list-skan img)) .sc-list-lupa { display: none; }

/* Pełna historia (cała sekcja pojawia się tylko, gdy pole jest wypełnione) */
body .elementor .sc-historia { padding: 56px 0 8px; font-size: 16px; line-height: 1.6; }
body .elementor .sc-historia-tytul { font-family: var(--sc-font); font-size: 26px; font-weight: 400; margin: 0 0 16px; }

/* Nagłówki sekcji: „Zacznij realizować list” */
body .elementor .sc-serce-naglowek img { width: 34px; }
body .elementor .sc-h-sekcja .elementor-heading-title { font-size: 30px; font-weight: 400; color: var(--e-global-color-text, #000); }
body .elementor .sc-h-sekcja strong { font-weight: 700; }

/* Baner „Więcej listów” */
body .elementor .sc-serce-biale img { width: 26px; }
body .elementor .sc-baner-maly .elementor-heading-title { color: #fff; font-size: 30px; font-weight: 400; }
body .elementor .sc-baner-duzy .elementor-heading-title { color: #fff; font-size: 44px; font-weight: 700; line-height: 1; margin-bottom: 14px; }
body .elementor .sc-btn-bialy .elementor-button { background: transparent; color: #fff; border: 3px solid #fff; border-radius: 12px; padding: 9px 20px; font-size: 20px; font-weight: 700; }
body .elementor .sc-btn-bialy .elementor-button:hover { background: #fff; color: var(--sc-czerwony); }
body .elementor .sc-baner { overflow: visible; }
body .elementor .sc-baner-grafika { position: relative; align-self: stretch; justify-content: flex-end; }
body .elementor .sc-baner-mikolaj { text-align: center; }
body .elementor .sc-baner-mikolaj img { width: auto; max-height: 360px; margin: -150px 0 -56px; }

@media (max-width: 1024px) {
	body .elementor .sc-hero-tytul .elementor-heading-title { font-size: 52px; }
}
@media (max-width: 767px) {
	body .elementor .sc-hero-tytul .elementor-heading-title { font-size: 40px; }
	body .elementor .sc-list-foto img, body .elementor .sc-list-foto:not(:has(img)) { width: 120px; height: 120px; }
	body .elementor .sc-list-imie .elementor-heading-title { font-size: 22px; }
	body .elementor .sc-list-numer .elementor-heading-title { font-size: 18px; }
	body .elementor .sc-h-sekcja .elementor-heading-title { font-size: 24px; }
	body .elementor .sc-baner-maly .elementor-heading-title { font-size: 24px; }
	body .elementor .sc-baner-duzy .elementor-heading-title { font-size: 34px; }
	body .elementor .sc-baner-mikolaj img { max-height: 240px; margin: 20px 0 -56px; }
}

/* Karty pętli („Karta listu”, „Karta prezentu”) – wygląd jak karty bazy */
body .elementor .sc-karta-el { height: 100%; padding: 14px 16px 16px; border: 5px solid transparent; border-radius: 16px; background: linear-gradient(#fff, #fff) padding-box, repeating-linear-gradient(-45deg, var(--sc-czerwony) 0 6px, #fff 6px 12px) border-box; box-shadow: 0 10px 22px rgba(0,0,0,.08); text-align: left; font-family: var(--sc-font); --flex-align-items: stretch; align-items: stretch; }
body .elementor .sc-karta-el-prezent { background: linear-gradient(#fff, #fff) padding-box, linear-gradient(#F0F0F0, #F0F0F0) border-box; }
body .elementor .sc-karta-el-foto { text-align: center; }
body .elementor .sc-karta-el-foto img { width: 92px; height: 92px; object-fit: cover; border-radius: 50%; }
body .elementor .sc-karta-el-foto-prezent img { object-fit: contain; border-radius: 14px; }
body .elementor .sc-karta-el-list .sc-karta-el-foto:not(:has(img)) { width: 92px; height: 92px; margin: 0 auto; border-radius: 50%; background: var(--sc-czerwony) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='32' cy='34' r='16'/%3E%3Cpath d='M16 30c2-12 10-18 16-18s14 6 16 18M17 30c6 0 12-4 15-10 3 6 9 10 15 10'/%3E%3Ccircle cx='26' cy='35' r='1.6' fill='%23fff'/%3E%3Ccircle cx='38' cy='35' r='1.6' fill='%23fff'/%3E%3Cpath d='M27 41c3 3 7 3 10 0'/%3E%3C/svg%3E") center/58% no-repeat; }
body .elementor .sc-karta-el-tytul .elementor-heading-title { padding-bottom: 8px; border-bottom: 2px solid rgba(201,33,35,.35); font-family: var(--sc-font); font-size: 15px; font-weight: 700; line-height: 1.3; text-align: left; color: var(--sc-czerwony); }
body .elementor .sc-karta-el-nazwa .elementor-heading-title { color: var(--e-global-color-text, #000); }
body .elementor .sc-karta-el-kwota, body .elementor .sc-karta-el-list-link { font-family: var(--sc-font); font-size: 13px; text-align: left; color: #959595; }
body .elementor .sc-karta-el-list-link { font-weight: 700; color: var(--sc-czerwony); }
body .elementor .sc-karta-el-list-link a { color: inherit; }
body .elementor .sc-karta-el-kwota strong { color: var(--sc-czerwony); }
body .elementor .sc-karta-el p { margin: 0; }
body .elementor .sc-karta-el-status { text-align: left; }
body .elementor .sc-karta-el-btn, body .elementor .sc-karta-el-kup { margin-top: auto; text-align: left; }
body .elementor .sc-karta-el-btn .elementor-button { padding: 0; background: none; color: var(--sc-czerwony); font-family: var(--sc-font); font-size: 13px; font-weight: 700; }
body .elementor .sc-karta-el-btn .elementor-button-text::after { content: " \203A"; font-size: 1.3em; }

/* ===================== Koszyk i Zamówienie (widżety Elementor Pro „Koszyk” / „Zamówienie”) =====================
   Działa dla każdego takiego widżetu, bez dodatkowych klas. Kolory biorą się z globalnych kolorów Elementora (Główny, Tekst).
   Zmienne ustawiamy z niską szczegółowością – zmiany w zakładce „Styl” widżetu w Elementorze mają pierwszeństwo. */
body .elementor-widget-woocommerce-cart, body .elementor-widget-woocommerce-checkout-page {
	--sections-background-color: #fff; --sections-border-type: none; --sections-border-radius: 26px; --sections-padding: 28px 32px;
	--sections-title-color: var(--sc-tekst); --sections-title-spacing: 18px;
	--sections-descriptions-color: #4a4a4a; --sections-secondary-title-color: #4a4a4a; --sections-messages-color: #737373;
	--sections-checkboxes-color: #4a4a4a; --sections-radio-buttons-color: var(--sc-tekst);
	--links-normal-color: var(--sc-czerwony); --links-hover-color: var(--sc-czerwony);
	--product-link-normal-color: var(--sc-tekst); --product-link-hover-color: var(--sc-czerwony);
	--forms-labels-color: var(--sc-tekst); --forms-label-spacing: 6px; --forms-rows-gap: 8px;
	--forms-fields-normal-color: var(--sc-tekst); --forms-fields-focus-color: var(--sc-tekst);
	--forms-fields-border-radius: 12px; --forms-fields-padding: 12px 16px; --forms-fields-focus-border-color: var(--sc-czerwony);
	--forms-buttons-border-color: var(--sc-czerwony); --forms-buttons-hover-border-color: var(--sc-czerwony);
	--forms-buttons-normal-text-color: var(--sc-czerwony); --forms-buttons-hover-text-color: #fff;
	--forms-buttons-border-radius: 30px; --forms-buttons-padding: 10px 24px;
	--checkout-button-border-radius: 30px; --checkout-button-padding: 14px 24px; --checkout-button-normal-text-color: #fff; --checkout-button-hover-text-color: #fff;
	--purchase-button-border-radius: 30px; --purchase-button-padding: 14px 24px; --purchase-button-normal-text-color: #fff; --purchase-button-hover-text-color: #fff;
	--order-summary-remove-icon-normal-color: var(--sc-czerwony); --order-summary-remove-icon-hover-color: #fff;
	--order-summary-title-color: #737373; --order-summary-items-color: var(--sc-tekst); --order-summary-color: var(--sc-tekst); --order-summary-variations-color: #737373;
	--order-summary-items-divider-color: #ececec; --order-summary-items-divider-weight: 1px;
	--order-summary-totals-color: var(--sc-tekst); --order-summary-totals-divider-color: #ececec;
	--totals-color: var(--sc-tekst); --totals-divider-color: #ececec; --totals-divider-weight: 1px;
	color: var(--sc-tekst); font-family: var(--sc-font);
}
body .elementor-widget-woocommerce-cart .woocommerce, body .elementor-widget-woocommerce-checkout-page .woocommerce,
body .e-woo-select2-wrapper .select2-results__option { font-family: var(--sc-font); }
body .elementor-widget-woocommerce-cart .woocommerce button, body .elementor-widget-woocommerce-checkout-page .woocommerce button,
body .elementor-widget-woocommerce-cart .woocommerce input, body .elementor-widget-woocommerce-checkout-page .woocommerce input,
body .elementor-widget-woocommerce-checkout-page .woocommerce select, body .elementor-widget-woocommerce-checkout-page .woocommerce textarea { font-family: inherit; }

/* Sekcje: białe karty z cieniem jak panele realizacji listu */
body .elementor-widget-woocommerce-cart .e-cart-section,
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1,
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields,
body .elementor-widget-woocommerce-checkout-page .woocommerce .e-checkout__order_review,
body .elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box,
body .elementor-widget-woocommerce-checkout-page .woocommerce .e-woocommerce-login-section,
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout #payment { box-shadow: 0 6px 30px rgba(0,0,0,.08); }

/* Nagłówki sekcji */
body .elementor-widget-woocommerce-cart .woocommerce .cart_totals h2,
body .elementor-widget-woocommerce-checkout-page .woocommerce h3 { font-family: var(--sc-font); font-size: 20px; line-height: 1.3; font-weight: 700; text-transform: none; letter-spacing: 0; }
body .elementor-widget-woocommerce-cart .woocommerce .cart th { font-size: 13px; font-weight: 600; color: #737373; text-transform: none; }
body .elementor-widget-woocommerce-checkout-page .e-checkout-secondary-title { font-size: 15px; }

/* Pola formularzy */
body .elementor-widget-woocommerce-cart .woocommerce .input-text,
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row .input-text,
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row select,
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row textarea,
body .elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box .form-row .input-text,
body .elementor-widget-woocommerce-checkout-page .woocommerce .e-woocommerce-login-anchor .form-row .input-text {
	background-color: #F5F5F5; border: 1.5px solid transparent; font-size: 15px; line-height: 1.4; box-shadow: none;
}
body .elementor-widget-woocommerce-cart .woocommerce .input-text:focus,
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row .input-text:focus,
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row select:focus,
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row textarea:focus {
	background-color: #fff; border-color: var(--sc-czerwony); outline: 0; box-shadow: 0 0 0 3px rgba(201,33,35,.12);
}
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row select { min-height: 48px; }
body .elementor-widget-woocommerce-cart .woocommerce .input-text.qty { background: #fff; border: 1px solid #DFDCDF; max-width: 64px; text-align: center; }
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row label { font-size: 14px; font-weight: 600; }
body .elementor-widget-woocommerce-checkout-page .woocommerce .required { color: var(--sc-czerwony); text-decoration: none; border: 0; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout .form-row > span.description,
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout .form-row .description { display: block; margin-top: 4px; font-size: 13px; color: #737373; background: none; padding: 0; position: static; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout .form-row .description::before { display: none; }
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .sc-zgoda label { font-weight: 400; font-size: 13px; line-height: 1.5; color: #4a4a4a; display: flex; gap: 10px; align-items: flex-start; }
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .sc-zgoda input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--sc-czerwony); }
body .elementor-widget-woocommerce-checkout-page .woocommerce input[type="checkbox"], body .elementor-widget-woocommerce-checkout-page .woocommerce input[type="radio"] { accent-color: var(--sc-czerwony); }

/* Przyciski: główne czerwone „pigułki”, pomocnicze z obwódką */
body .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button,
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order {
	background-color: var(--sc-czerwony); border: 0; font-family: var(--sc-font); font-size: 17px; font-weight: 700; text-transform: none; letter-spacing: 0;
}
body .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button:hover,
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order:hover { background-color: var(--sc-czerwony); filter: brightness(.9); }
body .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button::after { content: " \203A"; font-size: 1.25em; line-height: 1; }
body .elementor-widget-woocommerce-cart .woocommerce button.button,
body .elementor-widget-woocommerce-checkout-page .woocommerce button.woocommerce-button { background-color: #fff; font-size: 14px; font-weight: 700; text-transform: none; }
body .elementor-widget-woocommerce-cart .woocommerce button.button:hover,
body .elementor-widget-woocommerce-checkout-page .woocommerce button.woocommerce-button:hover { background-color: var(--sc-czerwony); }

/* Koszyk: lista prezentów */
body .elementor-widget-woocommerce-cart .woocommerce table.cart td { vertical-align: middle; }
body .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name { text-align: start; }
body .elementor-widget-woocommerce-cart .woocommerce table.cart .product-thumbnail img { border-radius: 14px; width: 72px; height: 72px; object-fit: cover; background: #F5F5F5; }
body .elementor-widget-woocommerce-cart .woocommerce .product-name > a { font-weight: 700; font-size: 16px; text-decoration: none; }
body .elementor-widget-woocommerce-cart .woocommerce .product-price, body .elementor-widget-woocommerce-cart .woocommerce .product-subtotal { font-weight: 700; white-space: nowrap; }
body .elementor-widget-woocommerce-cart .woocommerce .product-subtotal .amount { color: var(--sc-czerwony); }
body .elementor-widget-woocommerce-cart .woocommerce .remove {
	display: inline-flex; align-items: center; justify-content: center; width: 24px !important; height: 24px; border: 1.5px solid var(--sc-czerwony); border-radius: 50%; font-size: 16px; line-height: 1; text-decoration: none;
}
body .elementor-widget-woocommerce-cart .woocommerce .remove:hover { background: var(--sc-czerwony) !important; }
/* Opis pozycji („Sposób”, „Dla”) – etykieta i wartość w jednej linii */
body .elementor-widget-woocommerce-cart dl.variation, body .elementor-widget-woocommerce-checkout-page dl.variation {
	display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 6px; margin: 6px 0 0; font-size: 13px; line-height: 1.45; color: #737373;
}
body .elementor-widget-woocommerce-cart dl.variation dt, body .elementor-widget-woocommerce-cart dl.variation dd,
body .elementor-widget-woocommerce-checkout-page dl.variation dt, body .elementor-widget-woocommerce-checkout-page dl.variation dd { margin: 0; padding: 0; float: none; font-weight: 400; }
body .elementor-widget-woocommerce-cart dl.variation dt, body .elementor-widget-woocommerce-checkout-page dl.variation dt { font-weight: 600; color: #4a4a4a; }
body .elementor-widget-woocommerce-cart dl.variation p, body .elementor-widget-woocommerce-checkout-page dl.variation p { margin: 0; }
body .elementor-widget-woocommerce-cart dl.variation a, body .elementor-widget-woocommerce-checkout-page dl.variation a { color: var(--sc-czerwony); text-decoration: none; }
/* Podsumowanie */
body .elementor-widget-woocommerce-cart .woocommerce .cart_totals .order-total .amount,
body .elementor-widget-woocommerce-checkout-page .woocommerce .order-total .amount { color: var(--sc-czerwony); font-size: 22px; font-weight: 700; }
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .product-name { font-weight: 700; }
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .product-total,
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot td { width: 1%; white-space: nowrap; text-align: end; }
body .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .sc-zgoda .optional { display: none; }
body .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tfoot td, body .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tfoot th { color: var(--sc-tekst); }
/* Płatność */
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment ul.payment_methods li { padding: 10px 0; border-bottom: 1px solid #ececec; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .payment_box { background-color: #F5F5F5; border-radius: 12px; font-size: 13px; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .payment_box::before { display: none; }
body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-info, body .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-error,
body .elementor-widget-woocommerce-cart .woocommerce .woocommerce-info { border-radius: 14px; }
/* Komunikaty WooCommerce na stronach koszyka i zamówienia */
body .elementor .sc-strona-sklepu .woocommerce-message, body .elementor .sc-strona-sklepu .woocommerce-info, body .elementor .sc-strona-sklepu .woocommerce-error {
	border-radius: 14px; border-top-width: 0; border-left: 4px solid var(--sc-zielony); background: #F5F5F5; font-family: var(--sc-font);
}
body .elementor .sc-strona-sklepu .woocommerce-error { border-left-color: var(--sc-czerwony); }
body .elementor .sc-strona-sklepu .woocommerce-message a, body .elementor .sc-strona-sklepu .woocommerce-info a { color: var(--sc-czerwony); font-weight: 700; }
body .elementor .sc-lead { max-width: 640px; margin: 0 auto 18px; text-align: center; color: #737373; font-family: var(--sc-font); }
body .elementor .sc-lead p { margin: 0; }
@media (max-width: 767px) {
	body .elementor-widget-woocommerce-cart, body .elementor-widget-woocommerce-checkout-page { --sections-padding: 20px 16px; --sections-border-radius: 20px; }
	/* Koszyk na telefonie: każda pozycja jako zwarta karta (nazwa, opis, kwota), bez pustych wierszy */
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item { position: relative; display: block; padding: 14px 0; }
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td { padding: 3px 0 !important; border: 0; background: transparent !important; }
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-remove { position: absolute; top: 14px; right: 0; width: auto; }
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-name { text-align: start !important; padding-right: 36px !important; }
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-name::before,
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-remove::before { display: none; }
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-price { display: none !important; }
	body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-quantity:has(input[type="hidden"]), body .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-quantity:not(:has(input)) { display: none !important; }
	body .elementor-widget-woocommerce-cart dl.variation { text-align: start; }
}

/* ===================== Strona główna (klasy sc-home-*) ===================== */
body .elementor .sc-home { font-family: var(--sc-font); }
body .elementor .sc-home .sc-h-sekcja .elementor-heading-title, body .elementor .sc-home .sc-h-sekcja h2.sc-h2 { font-size: 28px; font-weight: 400; color: var(--e-global-color-text, #000); margin: 0; }
body .elementor .sc-home .sc-h-sekcja strong { font-weight: 700; }
body .elementor .sc-h-lewy .elementor-heading-title { text-align: left; }
body .elementor .sc-h-bialy .elementor-heading-title { color: #fff; font-size: 28px; font-weight: 700; line-height: 1.25; }
body .elementor .sc-h-bialy strong { font-weight: 800; }
body .elementor .sc-home-tekst { font-size: 15px; line-height: 1.6; color: var(--e-global-color-text, #000); }
body .elementor .sc-tekst-bialy, body .elementor .sc-tekst-bialy p { color: #fff; }
body .elementor .sc-home-tekst p { margin: 0 0 8px; }
/* Przyciski */
body .elementor .sc-btn-czerwony .elementor-button { background: var(--sc-czerwony); color: #fff; border-radius: 20px; padding: 9px 20px; font-size: 16px; font-weight: 700; font-family: var(--sc-font); }
body .elementor .sc-btn-obwodka .elementor-button { border: 2px solid #fff; }
body .elementor .sc-btn-serce .elementor-button { border-width: 2px; border-radius: 20px; padding: 6px 18px; font-size: 16px; flex-direction: row-reverse; }
body .elementor .sc-btn-serce .elementor-button-content-wrapper { flex-direction: row-reverse; gap: 10px; }
/* Hero */
body .elementor .sc-home-hero-tytul .elementor-heading-title { color: var(--sc-czerwony); font-size: 72px; font-weight: 800; line-height: .88; letter-spacing: -1px; text-align: right;
	text-shadow: 3px 0 #fff, -3px 0 #fff, 0 3px #fff, 0 -3px #fff, 2px 2px #fff, -2px -2px #fff, 2px -2px #fff, -2px 2px #fff; }
body .elementor .sc-home-hero-tytul .sc-hero-maly { font-size: .42em; letter-spacing: 0; }
/* Kafle */
body .elementor .sc-kafel a { display: inline-block; }
body .elementor .sc-kafel-ikona img { height: 40px; width: auto; filter: brightness(0) invert(1); }
body .elementor .sc-kafel-tytul .elementor-heading-title { color: #fff; font-size: 20px; font-weight: 700; text-align: center; }
/* Wstęp */
body .elementor .sc-home-wstep-foto img { width: 100%; height: auto; }
/* Status akcji */
body .elementor .sc-home-licznik p { margin: 0; text-align: center; }
body .elementor .sc-licznik { color: var(--sc-czerwony); font-size: 16px; font-weight: 700; }
body .elementor .sc-licznik strong { font-size: 30px; }
body .elementor .sc-licznik-opis { font-size: 14px; font-weight: 700; color: var(--e-global-color-text, #000); }
body .elementor .sc-home-strzalka img { width: 70px; }
body .elementor .sc-home-dziewczynka img { max-height: 360px; width: auto; }
/* Misja w 4 krokach */
body .elementor .sc-kroki { margin-top: 40px; }
body .elementor .sc-krok-karta { position: relative; background: #fff; border-radius: 26px; box-shadow: 0 6px 24px rgba(0,0,0,.06); padding: 34px 18px 22px; }
body .elementor .sc-krok-karta + .sc-krok-karta::before { content: ''; position: absolute; left: -27px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%;
	border: 1.5px solid var(--sc-czerwony); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 5l-7 7 7 7' fill='none' stroke='%23C92123' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat; }
body .elementor .sc-krok-nr { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); width: auto !important; }
body .elementor .sc-krok-nr .elementor-heading-title { width: 30px; height: 30px; border-radius: 50%; background: var(--sc-czerwony); color: #fff; font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body .elementor .sc-krok-tytul .elementor-heading-title { font-size: 17px; font-weight: 400; text-align: center; color: var(--e-global-color-text, #000); }
body .elementor .sc-krok-tytul strong { font-weight: 700; }
body .elementor .sc-krok-tekst { font-size: 14px; line-height: 1.6; color: #737373; }
/* Czerwona sekcja z Mikołajem */
body .elementor .sc-home-mikolaj-kol { position: relative; }
body .elementor .sc-home-mikolaj img { max-height: 380px; width: auto; margin-bottom: -70px; }
body .elementor .sc-home-ho { position: absolute !important; left: 0; top: 0; width: 34% !important; z-index: 2; }
/* Finał */
.sc-final { margin: 30px 0 50px; }
.sc-final-naglowek { text-align: center; margin-bottom: 30px; }
.sc-final-naglowek h2 { font-size: 26px; font-weight: 400; margin: 6px 0 0; }
.sc-final-naglowek h2 strong { font-weight: 700; }
.sc-serce-mini { width: 30px; height: auto; }
.sc-final-kolumny { display: grid; grid-template-columns: 1fr 220px 1fr; gap: 24px; align-items: center; }
.sc-final-karta { background: #fff; border-radius: 26px; box-shadow: 0 6px 30px rgba(0,0,0,.08); padding: 34px 26px; text-align: center; }
.sc-final-karta h3 { font-size: 18px; font-weight: 700; margin: 0 0 14px; }
.sc-final-karta p { color: #555; }
.sc-final-worek img { width: 100%; height: auto; }
.sc-final .sc-przelew-konto { font-size: 17px; margin: 10px 0 6px; }
.sc-final .sc-paczka-samodzielna .sc-paczki { justify-content: center; }
.sc-final .sc-paczka-samodzielna .sc-naglowek { display: none; }
@media (max-width: 900px) { .sc-final-kolumny { grid-template-columns: 1fr; } .sc-final-worek { max-width: 200px; margin: 0 auto; } }
/* Baza na stronie głównej – filtry przyklejone pod czerwoną sekcją */
body .elementor .sc-home-baza .sc-baza-filtry { margin-top: -1px; }
/* Historia */
body .elementor .sc-os-podpisy p { margin: 0; font-size: 13px; }
body .elementor .sc-os-koniec { text-align: right; }
body .elementor .sc-liczniki { margin-top: 70px; }
body .elementor .sc-licznik-kol + .sc-licznik-kol { border-left: 1.5px solid var(--sc-czerwony); }
body .elementor .sc-licznik-ikona img { height: 44px; width: auto; }
body .elementor .sc-licznik-duzy { color: var(--sc-czerwony); font-size: 22px; font-weight: 700; margin: 6px 0 2px !important; }
/* Korzyści */
body .elementor .sc-korzysc { background: #fff; border-radius: 26px; box-shadow: 0 6px 24px rgba(0,0,0,.06); padding: 28px 22px; }
body .elementor .sc-korzysc-ikona img { height: 48px; width: auto; }
body .elementor .sc-korzysc-tytul .elementor-heading-title { font-size: 18px; font-weight: 700; color: var(--sc-czerwony); text-align: center; }
body .elementor .sc-korzysc-tekst { font-size: 14px; color: #555; }
/* Aktualności */
body .elementor .sc-home-wpisy .elementor-post__card { border-radius: 18px; box-shadow: 0 6px 24px rgba(0,0,0,.07); border: 0; }
body .elementor .sc-home-wpisy .elementor-post__read-more { color: var(--sc-czerwony); font-weight: 700; }
/* Strefa wiedzy */
body .elementor .sc-faq-panel { background: #fff; border-radius: 30px; padding: 26px 18px; box-shadow: 0 6px 24px rgba(0,0,0,.05); }
body .elementor .sc-faq-tytul .elementor-heading-title { color: var(--sc-czerwony); font-size: 20px; font-weight: 700; padding-left: 14px; }
body .elementor .sc-faq .elementor-accordion-item { border: 0; margin-bottom: 12px; border-radius: 22px; box-shadow: 0 2px 10px rgba(0,0,0,.07); background: #fff; overflow: hidden; }
body .elementor .sc-faq .elementor-tab-title { font-size: 14px; font-weight: 700; padding: 12px 18px; border: 0; }
body .elementor .sc-faq .elementor-tab-title a, body .elementor .sc-faq .elementor-accordion-icon { color: var(--e-global-color-text, #000); }
body .elementor .sc-faq .elementor-tab-content { font-size: 13px; color: #737373; border: 0; padding: 0 18px 14px; }
body .elementor .sc-koordynator-foto img { width: 150px; height: 150px; object-fit: cover; border-radius: 50%; border: 6px dashed var(--sc-czerwony); outline: 6px dashed #186D00; outline-offset: -6px; }
body .elementor .sc-koordynator-imie .elementor-heading-title { font-size: 17px; font-weight: 700; color: var(--e-global-color-text, #000); }
body .elementor .sc-koordynator-rola .elementor-heading-title { color: var(--sc-czerwony); font-size: 16px; padding-bottom: 8px; border-bottom: 2px solid var(--sc-czerwony); }
body .elementor .sc-koordynator-tekst { font-size: 14px; }
body .elementor .sc-koordynator-kontakt a { color: var(--sc-czerwony); font-weight: 700; margin-right: 14px; }
/* Newsletter */
body .elementor .sc-nl-etykieta .elementor-heading-title { color: #fff; font-size: 14px; text-align: center; }
body .elementor .sc-nl-kol { border-right: 1.5px solid rgba(255,255,255,.8); }
/* Partnerzy */
body .elementor .sc-partnerzy-etykieta { border-radius: 0 30px 30px 0; min-height: 150px; padding: 20px 30px; }
body .elementor .sc-partnerzy-tytul .elementor-heading-title { color: #fff; font-size: 20px; font-weight: 700; text-align: center; }
body .elementor .sc-partnerzy-karuzela { background: #F5F5F5; padding: 20px 50px; }
body .elementor .sc-partnerzy-karuzela .elementor-swiper-button { color: #fff; background: var(--sc-czerwony); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }

@media (max-width: 1024px) {
	body .elementor .sc-home-hero-tytul .elementor-heading-title { font-size: 56px; }
	body .elementor .sc-krok-karta + .sc-krok-karta::before { display: none; }
}
@media (max-width: 767px) {
	body .elementor .sc-home-hero-tytul .elementor-heading-title { font-size: 42px; }
	body .elementor .sc-home .sc-h-sekcja .elementor-heading-title, body .elementor .sc-home .sc-h-sekcja h2.sc-h2, body .elementor .sc-h-bialy .elementor-heading-title { font-size: 22px; }
	body .elementor .sc-krok-karta { margin-top: 18px; }
	body .elementor .sc-licznik-kol + .sc-licznik-kol { border-left: 0; border-top: 1.5px solid var(--sc-czerwony); padding-top: 16px; }
	body .elementor .sc-home-mikolaj img { max-height: 240px; margin-bottom: -40px; }
	body .elementor .sc-nl-kol { border-right: 0; }
	body .elementor .sc-partnerzy-etykieta { border-radius: 0; min-height: 0; }
	body .elementor .sc-partnerzy-karuzela { padding: 16px; }
	body .elementor .sc-home-strzalka { display: none; }
}
