/*
Theme Name: IT-O.pl
Theme URI: https://it-o.pl
Author: Błażej Kozera
Description: Lekki motyw blokowy firmy IT-O.pl Błażej Kozera — jasny, firmowy, w kolorach logo. Bez zewnętrznych zależności.
Version: 1.4.3
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GPLv2 or later
Text Domain: ito
*/

/* ---------- Podstawy ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--wp--preset--color--pomarancz); outline-offset: 2px; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.ito-main { padding: 0 !important; }
.ito-main--front > .wp-block-post-content > * { margin-block-start: 0; }
.ito-content h2 { margin-top: clamp(36px, 5vw, 56px); margin-bottom: 14px; }
.ito-content h3 { margin-top: 28px; }
.ito-content > :first-child { margin-top: 0; }
h3.wp-block-heading { font-size: 22px; }
.is-style-nadtytul { font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--wp--preset--color--pomarancz-ciemny); margin-bottom: 4px !important; }

/* ---------- Nagłówek ---------- */
.ito-header { position: sticky; top: 0; z-index: 100; }
.admin-bar .ito-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ito-header { top: 46px; } }
.ito-header__bar { background: #fff; border-bottom: 1px solid var(--wp--preset--color--linia); padding-top: 10px; padding-bottom: 10px; transition: box-shadow .2s; }
.ito-is-scrolled .ito-header__bar { box-shadow: 0 6px 24px rgba(43, 20, 48, .08); }
.ito-header__inner { width: 100%; gap: 24px; }
.ito-header__logo { margin: 0; line-height: 0; }
.ito-header__logo img { width: 50px !important; height: auto; }
.ito-header__right { gap: 28px; }
.ito-nav .wp-block-navigation__container { gap: 26px; }
.ito-nav a { color: var(--wp--preset--color--ciemny); text-decoration: none; }
.ito-nav .wp-block-navigation-item__content { padding: 6px 0; border-bottom: 2px solid transparent; }
.ito-nav .wp-block-navigation-item__content:hover,
.ito-nav .current-menu-item > .wp-block-navigation-item__content,
.ito-nav [aria-current="page"] { border-bottom-color: var(--wp--preset--color--pomarancz); color: var(--wp--preset--color--ciemny); }
.ito-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px clamp(16px, 4vw, 32px); background: #fff !important; color: var(--wp--preset--color--ciemny) !important; }
.ito-nav .is-menu-open .wp-block-navigation__container { gap: 4px; align-items: flex-start !important; }
.ito-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; }
.ito-nav-kontakt { display: none !important; }
.ito-nav .is-menu-open .ito-nav-kontakt { display: flex !important; }
.ito-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--display); font-size: 28px; font-weight: 700; }
.ito-header__cta .wp-block-button__link { padding: 10px 20px; }
.ito-header__tel { margin: 0; white-space: nowrap; }
.ito-header__tel a { display: inline-flex; align-items: center; gap: 8px; color: var(--wp--preset--color--ciemny); font-weight: 600; text-decoration: none; }
.ito-header__tel a::before { content: ""; width: 18px; height: 18px; background: var(--wp--preset--color--pomarancz-ciemny); -webkit-mask: var(--tel) center / contain no-repeat; mask: var(--tel) center / contain no-repeat; --tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.ito-header__tel a:hover { color: var(--wp--preset--color--fiolet); }
@media (max-width: 1100px) and (min-width: 600px) { .ito-header__tel { display: none; } }
@media (max-width: 599px) {
	.ito-header__logo img { width: 36px !important; }
	.ito-header__right { gap: 14px; }
	.ito-header__cta .wp-block-button__link { padding: 9px 14px; font-size: 15px; }
	.ito-header__tel a { font-size: 0; width: 40px; height: 40px; justify-content: center; border: 2px solid var(--wp--preset--color--linia); border-radius: 50%; gap: 0; }
	.ito-header__tel a::before { width: 20px; height: 20px; }
}

/* ---------- Przyciski ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--fiolet); border: 2px solid currentColor; padding: 11px 22px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--fiolet); color: #fff; border-color: var(--wp--preset--color--fiolet); }
.has-fiolet-ciemny-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.ito-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.ito-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--fiolet); border-color: #fff; }
.wp-block-button.is-style-pomarancz > .wp-block-button__link, .ito-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--wp--preset--color--pomarancz); color: #1d1a24; }
.ito-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #ff8a26; color: #1d1a24; }

/* ---------- Sekcje ---------- */
.ito-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.ito-section > * { max-width: var(--wp--style--global--wide-size); }
.ito-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--szary); }

/* Hero */
.ito-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(1200px 500px at 85% -10%, rgba(246, 107, 0, .55), transparent 60%), linear-gradient(135deg, #2b1430 0%, #4a0b48 55%, #7a0073 100%); padding-top: clamp(64px, 10vw, 128px) !important; padding-bottom: clamp(64px, 10vw, 128px) !important; }
.ito-hero::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: clamp(220px, 32vw, 460px); aspect-ratio: 1; border: 26px solid rgba(246, 107, 0, .35); border-radius: 48px; transform: translateY(var(--ito-plx, 0px)) rotate(18deg); pointer-events: none; }
.ito-hero h1 { color: #fff; }
.ito-hero > h1, .ito-hero > .ito-lead { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; margin-right: auto !important; }
.ito-hero > h1 { max-width: 820px !important; }
.ito-hero > .ito-lead { color: rgba(255, 255, 255, .86); max-width: 680px !important; }
.ito-hero .is-style-nadtytul { color: #ffb26b; }

/* Pasek tytułu podstron */
.ito-pagehead { background: linear-gradient(135deg, #2b1430 0%, #5a0a55 100%); padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 72px); }
.ito-pagehead h1 { color: #fff; margin: 0; }
.ito-content { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.ito-content > .alignfull:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)) !important; }

/* Karty */
.wp-block-group.is-style-karta { background: #fff; border: 1px solid var(--wp--preset--color--linia); border-top: 4px solid var(--wp--preset--color--pomarancz); border-radius: 10px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 10px 30px rgba(43, 20, 48, .06); height: 100%; box-sizing: border-box; display: flex; flex-direction: column; }
.wp-block-group.is-style-karta h3 { margin-top: 0; }
.wp-block-group.is-style-karta > p:last-child:has(> a:only-child) { margin-top: auto; }
.wp-block-column:nth-child(2) > .wp-block-group.is-style-karta { border-top-color: var(--wp--preset--color--fiolet); }
.ito-cards { gap: clamp(16px, 2.5vw, 28px) !important; }
.ito-ico { width: 48px; height: 48px; border-radius: 12px; background: rgba(246, 107, 0, .12); display: grid; place-items: center; margin: 0 0 8px !important; }
.ito-ico::before { content: ""; width: 26px; height: 26px; background: var(--wp--preset--color--pomarancz-ciemny); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.ito-ico--firma { --i: 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%3Crect x='2' y='4' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
.ito-ico--serwer { --i: 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'%3E%3Crect x='3' y='3' width='18' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='18' height='7' rx='1.5'/%3E%3Cpath d='M7 6.5h.01M7 17.5h.01M11 6.5h6M11 17.5h6'/%3E%3C/svg%3E"); }
.ito-ico--nfz { --i: 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='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M12 11v6M9 14h6'/%3E%3C/svg%3E"); }
.wp-block-column:nth-child(2) .ito-ico { background: rgba(122, 0, 115, .1); }
.wp-block-column:nth-child(2) .ito-ico::before { background: var(--wp--preset--color--fiolet); }

/* Lista z ptaszkami */
.wp-block-list.is-style-ptaszki { list-style: none; padding-left: 0; }
.wp-block-list.is-style-ptaszki li { position: relative; padding-left: 30px; margin-bottom: 8px; }
.wp-block-list.is-style-ptaszki li::before { content: ""; position: absolute; left: 0; top: .35em; width: 18px; height: 18px; border-radius: 50%; background: var(--wp--preset--color--pomarancz) 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 / 12px no-repeat; }

/* Liczbowane kroki */
.ito-steps { counter-reset: s; list-style: none; padding-left: 0; }
.ito-steps > li { counter-increment: s; position: relative; padding-left: 48px; margin-bottom: 14px; min-height: 34px; }
.ito-steps > li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; background: var(--wp--preset--color--fiolet); color: #fff; font-weight: 600; display: grid; place-items: center; font-size: 15px; }

/* Cennik */
.wp-block-table.is-style-cennik { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table.is-style-cennik table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border: 1px solid var(--wp--preset--color--linia); border-radius: 10px; overflow: hidden; }
.wp-block-table.is-style-cennik th, .wp-block-table.is-style-cennik td { border: 0; border-bottom: 1px solid var(--wp--preset--color--linia); padding: 10px 12px; text-align: center; vertical-align: middle; }
.wp-block-table.is-style-cennik th:first-child, .wp-block-table.is-style-cennik td:first-child { text-align: left; position: sticky; left: 0; background: inherit; }
.wp-block-table.is-style-cennik thead th, .wp-block-table.is-style-cennik thead th:first-child { background: var(--wp--preset--color--fiolet-ciemny); color: #fff; font-family: var(--wp--preset--font-family--display); font-size: 18px; letter-spacing: .5px; }
.ito-plany table { min-width: 680px; }
.ito-plany thead th:not(:first-child) { cursor: pointer; transition: background .2s; }
.wp-block-table.is-style-cennik tbody tr { background: #fff; }
.wp-block-table.is-style-cennik tbody tr:nth-child(even) { background: #faf9fb; }
.ito-plany tbody tr:last-child td, .ito-plany tbody tr:nth-last-child(2) td, .ito-plany tbody tr:nth-last-child(3) td { font-weight: 600; color: var(--wp--preset--color--ciemny); background: #fff4ea; }
.wp-block-table.is-style-cennik tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.is-style-cennik figcaption { font-size: 13px; color: var(--wp--preset--color--szary); text-align: left; }

/* Pasek CTA */
.ito-cta { background: linear-gradient(120deg, #7a0073, #2b1430); color: #fff; }
.ito-cta h2 { color: #fff; margin: 0; }
.ito-cta p { color: rgba(255, 255, 255, .85); }
.ito-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--wp--preset--color--pomarancz); color: #1d1a24; }
.ito-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #ff8a26; }
.ito-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
.ito-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--fiolet); border-color: #fff; }

/* Cytat „do uzupełnienia” nie występuje na stronie — notatki są w dokumencie. */

/* ---------- Stopka ---------- */
.ito-footer { margin-top: 0 !important; }
.ito-foot { background: var(--wp--preset--color--fiolet-ciemny); color: rgba(255, 255, 255, .78); padding-top: var(--wp--preset--spacing--50); padding-bottom: 28px; font-size: 15px; }
.ito-foot a { color: #fff; text-decoration: none; }
.ito-foot a:hover { color: #ffb26b; text-decoration: underline; }
.ito-foot__name { font-family: var(--wp--preset--font-family--display); font-size: 22px; color: #fff; margin-top: 0; }
.ito-foot__head { font-weight: 600; color: #ffb26b; text-transform: uppercase; letter-spacing: 1.2px; font-size: 13px; margin-top: 0; }
.ito-foot__list { list-style: none; padding: 0; margin: 0; }
.ito-foot__list li { margin-bottom: 6px; }
.ito-foot__copy { border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 18px; margin-top: 28px !important; font-size: 13px; }

/* ---------- Formularz (wspólny mu-plugin bk-kontakt) ---------- */
.bk-form { font-size: 15px; max-width: 640px; }
.bk-form p { margin: 0 0 14px; }
.bk-form label { display: block; margin-bottom: 4px; font-weight: 600; color: var(--wp--preset--color--ciemny); }
.bk-form input[type="text"], .bk-form input[type="email"], .bk-form input[type="tel"], .bk-form select, .bk-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #cfc9d6; border-radius: 6px; padding: 11px 12px; font: inherit; font-size: 16px; color: #33313b; background: #fff; }
.bk-form input:focus, .bk-form select:focus, .bk-form textarea:focus { border-color: var(--wp--preset--color--fiolet); outline: none; box-shadow: 0 0 0 3px rgba(122, 0, 115, .15); }
.bk-form textarea { min-height: 150px; resize: vertical; }
.bk-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 599px) { .bk-form__row { grid-template-columns: 1fr; } }
.bk-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bk-form__submit { border: 0; border-radius: 6px; background: var(--wp--preset--color--fiolet); color: #fff; padding: 14px 28px; font: inherit; font-weight: 600; cursor: pointer; }
.bk-form__submit:hover { background: var(--wp--preset--color--fiolet-ciemny); }
.bk-form__submit[disabled] { opacity: .6; cursor: wait; }
.bk-form__note { font-size: 13px; line-height: 1.5; color: var(--wp--preset--color--szary); }
.bk-form__msg { padding: 10px 12px; border-radius: 6px; margin-bottom: 14px; }
.bk-form__msg--ok { background: #e7f6ec; color: #1f6b3a; }
.bk-form__msg--err { background: #fdeaea; color: #8a1f1f; }
.bk-form .cf-turnstile { margin: 4px 0 14px; min-height: 65px; }

/* ---- 1.1: Pomoc zdalna w nagłówku, szersze menu ---- */
.ito-header__cta { gap: 10px; flex-wrap: nowrap; }
.ito-btn-pomoc .wp-block-button__link { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.ito-btn-pomoc .wp-block-button__link::before { content: ""; width: 18px; height: 18px; flex: none; background: currentColor; -webkit-mask: var(--hs) center / contain no-repeat; mask: var(--hs) center / contain no-repeat; --hs: 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 16v5M9 9.5l2 2 4-4'/%3E%3C/svg%3E"); }
.ito-btn-pomoc .wp-block-button__link:hover { background: #ff8a26; color: #1d1a24; }
.ito-btn-kontakt .wp-block-button__link { white-space: nowrap; }
.ito-pomoc-short { display: none; }
.ito-nav .wp-block-navigation__container { gap: 22px; }
@media (min-width: 1280px) { .ito-nav .wp-block-navigation__container { flex-wrap: nowrap; } }
.ito-nav .wp-block-navigation-item__content { white-space: nowrap; }
/* telefon w nagłówku zawsze jako ikona (numer jest w menu, CTA i stopce) */
@media all {
	.ito-header__tel { display: block !important; }
	.ito-header__tel a { font-size: 0; width: 40px; height: 40px; justify-content: center; border: 2px solid var(--wp--preset--color--linia); border-radius: 50%; gap: 0; }
	.ito-header__tel a::before { width: 20px; height: 20px; }
}
/* menu „hamburger” już poniżej 1280 px (rdzeń WP robi to dopiero poniżej 600 px) */
@media (min-width: 600px) and (max-width: 1279px) {
	.ito-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ito-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.ito-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
}
@media (max-width: 599px) {
	.ito-header__right { gap: 10px; }
	.ito-pomoc-long { display: none; }
	.ito-pomoc-short { display: inline; }
	.ito-btn-pomoc .wp-block-button__link { padding: 9px 12px; gap: 6px; }
}
@media (max-width: 379px) { .ito-header__cta .ito-btn-kontakt { display: none; } }
.ito-foot__pomoc { margin-top: 18px; }
.ito-foot__pomoc .wp-block-button__link { padding: 10px 18px; font-size: 15px; }

/* ---- 1.1: nowe ikony i elementy stron ---- */
.ito-ico--sprzet { --i: 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%3Crect x='3' y='4' width='14' height='10' rx='1.5'/%3E%3Cpath d='M7 18h6M10 14v4'/%3E%3Crect x='18' y='8' width='4' height='11' rx='1'/%3E%3C/svg%3E"); }
.ito-ico--dom { --i: 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='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E"); }
.ito-ico--pomoc { --i: 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='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='2.5' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17.5' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19.5 19c0 1.5-2 2.5-5 2.5'/%3E%3C/svg%3E"); }
.ito-ico--drukarka { --i: 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='M6 9V3h12v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='2'/%3E%3Cpath d='M7 14h10v7H7z'/%3E%3C/svg%3E"); }
.ito-ico--siec { --i: 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%3Crect x='2' y='14' width='20' height='6' rx='1.5'/%3E%3Cpath d='M6 17h.01M10 17h.01M12 14V9'/%3E%3Cpath d='M8 7a6 6 0 0 1 8 0M5.5 4.5a9.5 9.5 0 0 1 13 0'/%3E%3C/svg%3E"); }
.ito-ico--monitor { --i: 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%3Crect x='2' y='3' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 16v5'/%3E%3Cpath d='M7 12l3-3 2 2 4-4'/%3E%3C/svg%3E"); }
.ito-ico--licencja { --i: 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='M12 3l8 3v6c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.ito-ico--auto { --i: 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%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M4.9 19.1L7 17M17 7l2.1-2.1'/%3E%3C/svg%3E"); }
.ito-ico--radio { --i: 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%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M8.5 8.5a5 5 0 0 0 0 7M15.5 8.5a5 5 0 0 1 0 7M5.6 5.6a9 9 0 0 0 0 12.8M18.4 5.6a9 9 0 0 1 0 12.8'/%3E%3C/svg%3E"); }
.ito-cards--2 { margin-top: clamp(16px, 2.5vw, 28px) !important; }
.ito-mala { font-size: 14px; color: var(--wp--preset--color--szary); }
.ito-pomoc-kroki { background: var(--wp--preset--color--jasne); border: 1px solid var(--wp--preset--color--linia); border-radius: 12px; padding: clamp(20px, 3vw, 32px); }
.ito-steps--duze > li { font-size: 19px; padding-left: 58px; min-height: 42px; margin-bottom: 20px; }
.ito-steps--duze > li::before { width: 42px; height: 42px; font-size: 18px; background: var(--wp--preset--color--pomarancz); color: #1d1a24; }
.ito-btn-dl .wp-block-button__link { font-size: 18px; padding: 16px 26px; }
.ito-pomoc-karty .is-style-karta .wp-block-buttons { margin-top: auto; }
.ito-pomoc-karty .is-style-karta > :last-child { margin-top: 0; }
.ito-uwaga { background: #fff4ea; border-left: 4px solid var(--wp--preset--color--pomarancz); border-radius: 6px; padding: 14px 18px; }
.ito-faq { list-style: none; padding-left: 0; }
.ito-faq > li { padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--linia); }


/* ---- 1.1.1: Smart home jako osobna część (dla domu) ---- */
.ito-nav .ito-nav-dom { position: relative; }
@media (min-width: 1280px) {
	.ito-nav .ito-nav-dom { padding-left: 22px; border-left: 1px solid var(--wp--preset--color--linia); }
}
.ito-nav .ito-nav-dom > .wp-block-navigation-item__content { display: inline-flex; align-items: center; gap: 7px; color: #0f6e5a; }
.ito-nav .ito-nav-dom > .wp-block-navigation-item__content::before { content: ""; width: 17px; height: 17px; flex: none; background: currentColor; -webkit-mask: var(--dm) center / contain no-repeat; mask: var(--dm) center / contain no-repeat; --dm: 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E"); }
.ito-nav .ito-nav-dom > .wp-block-navigation-item__content:hover, .ito-nav .ito-nav-dom [aria-current="page"] { border-bottom-color: #19a37f; color: #0f6e5a; }
.ito-nav .is-menu-open .ito-nav-dom { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--wp--preset--color--linia); }
.ito-cards--dwie .wp-block-column:empty { display: none; }
.ito-dom { background: linear-gradient(135deg, #eaf7f2 0%, #f3faf7 60%, #fff 100%); border-top: 1px solid #cfe9df; border-bottom: 1px solid #cfe9df; }
.ito-dom .is-style-nadtytul { color: #0f6e5a; }
.ito-dom .ito-dom-cols { gap: clamp(24px, 5vw, 64px) !important; align-items: center; }
.ito-dom .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #0f6e5a; color: #fff; }
.ito-dom .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #0a5344; }
.ito-dom .wp-block-button.is-style-outline > .wp-block-button__link { color: #0f6e5a; border-color: #0f6e5a; }
.ito-dom .ito-dom-lista { background: #fff; border: 1px solid #cfe9df; border-radius: 12px; padding: clamp(20px, 3vw, 32px) !important; box-shadow: 0 10px 30px rgba(15, 110, 90, .07); }
.ito-dom .is-style-ptaszki li::before { background-color: #19a37f; }
.ito-header__logo { flex-shrink: 0; }
@media (min-width: 1280px) { .ito-nav .wp-block-navigation__container { gap: 16px; } .ito-nav .ito-nav-dom { padding-left: 16px; } .ito-header__right { gap: 18px; } }
.ito-nav .is-menu-open .ito-nav-dom > .wp-block-navigation-item__content::before { width: 24px; height: 24px; }

/* ---- 1.2: nagłówki podstron z hasłem i grafiką działu ---- */
.ito-pagehead { position: relative; overflow: hidden; background: radial-gradient(900px 380px at 88% -20%, rgba(246, 107, 0, .45), transparent 60%), linear-gradient(135deg, #2b1430 0%, #4a0b48 55%, #7a0073 100%); padding-top: clamp(44px, 7vw, 88px); padding-bottom: clamp(44px, 7vw, 88px); }
.ito-pagehead > * { position: relative; z-index: 1; }
.ito-pagehead > h1, .ito-pagehead > .ito-pagehead__label, .ito-pagehead > .ito-pagehead__lead { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; margin-right: auto !important; max-width: min(640px, 58%) !important; }
.ito-pagehead__label { color: #ffb26b; margin-bottom: 10px !important; }
.ito-pagehead__lead { margin-top: 14px !important; }
.ito-pagehead__lead p { margin: 0; color: rgba(255, 255, 255, .86); font-size: var(--wp--preset--font-size--large); line-height: 1.55; }
.ito-pagehead::before { content: ""; position: absolute; right: -50px; bottom: -110px; width: clamp(200px, 26vw, 380px); aspect-ratio: 1; border: 22px solid rgba(246, 107, 0, .22); border-radius: 44px; transform: translateY(var(--ito-plx2, 0px)) rotate(18deg); pointer-events: none; }
.ito-pagehead::after { content: ""; position: absolute; top: 50%; right: max(16px, calc((100% - 1200px) / 2 - 10px)); width: clamp(240px, 36vw, 470px); aspect-ratio: 3 / 2; transform: translateY(calc(-50% + var(--ito-plx, 0px))); background: var(--gr) center / contain no-repeat; pointer-events: none; opacity: .95; }
.ito-gr-firma { --gr: url("assets/img/naglowki/firma.svg"); }
.ito-gr-serwer { --gr: url("assets/img/naglowki/serwer.svg"); }
.ito-gr-sprzet { --gr: url("assets/img/naglowki/sprzet.svg"); }
.ito-gr-dom { --gr: url("assets/img/naglowki/dom.svg"); }
.ito-gr-nfz { --gr: url("assets/img/naglowki/nfz.svg"); }
.ito-gr-firma-o { --gr: url("assets/img/naglowki/firma-o.svg"); }
.ito-gr-pomoc { --gr: url("assets/img/naglowki/pomoc.svg"); }
.ito-gr-kontakt { --gr: url("assets/img/naglowki/kontakt.svg"); }
.ito-gr-prawo { --gr: url("assets/img/naglowki/prawo.svg"); }
.ito-gr-dom .ito-pagehead { background: radial-gradient(900px 380px at 88% -20%, rgba(63, 209, 168, .35), transparent 60%), linear-gradient(135deg, #10332b 0%, #0f5546 55%, #157a63 100%); }
.ito-gr-dom .ito-pagehead::before { border-color: rgba(63, 209, 168, .22); }
.ito-gr-dom .ito-pagehead__label { color: #8ff0d2; }
@media (max-width: 781px) {
	.ito-pagehead > h1, .ito-pagehead > .ito-pagehead__label, .ito-pagehead > .ito-pagehead__lead { max-width: 100% !important; }
	.ito-pagehead { padding-bottom: clamp(120px, 34vw, 170px); }
	.ito-pagehead::after { top: auto; bottom: 10px; right: 8px; transform: translateY(var(--ito-plx, 0px)); width: clamp(170px, 50vw, 240px); opacity: .8; }
	.ito-pagehead__lead p { font-size: 17px; }
}

/* telefon: rozwija się w przycisk z numerem po najechaniu (komputer) */
@media (hover: hover) and (min-width: 600px) {
	.ito-header__tel { position: relative; width: 40px; height: 40px; }
	.ito-header__tel a { position: absolute; right: 0; top: 0; height: 40px; width: 40px; justify-content: flex-start; padding: 0 0 0 9px; box-sizing: border-box; overflow: hidden; white-space: nowrap; background: #fff; transition: width .25s ease, background .2s, border-color .2s, color .2s; z-index: 2; border-radius: 20px; }
	.ito-header__tel a::before { flex: none; }
	.ito-header__tel a::after { content: "609 549 832"; font-size: 16px; font-weight: 600; margin-left: 10px; opacity: 0; transition: opacity .15s; }
	.ito-header__tel a:hover, .ito-header__tel a:focus-visible { width: 168px; border-color: var(--wp--preset--color--linia); background: #fff; color: var(--wp--preset--color--pomarancz-ciemny); box-shadow: 0 4px 14px rgba(43, 20, 48, .08); }
	.ito-header__tel a:hover::after, .ito-header__tel a:focus-visible::after { opacity: 1; transition-delay: .08s; }
}

/* ---- 1.3: zielona kolorystyka „Dla domu” (podstrona Smart home i sekcja na głównej) ---- */
.ito-gr-dom { --dom: #0f6e5a; --dom-ciemny: #0a5344; --dom-jasny: #19a37f; --dom-tlo: #eaf7f2; }
.ito-gr-dom .ito-content a:not(.wp-block-button__link) { color: var(--dom); }
.ito-gr-dom .ito-content a:not(.wp-block-button__link):hover { color: var(--dom-jasny); }
.ito-gr-dom .wp-block-group.is-style-karta { border-top-color: var(--dom-jasny) !important; }
.ito-gr-dom .wp-block-column:nth-child(2) > .wp-block-group.is-style-karta { border-top-color: var(--dom) !important; }
.ito-gr-dom .ito-ico, .ito-gr-dom .wp-block-column:nth-child(2) .ito-ico { background: rgba(25, 163, 127, .13); }
.ito-gr-dom .ito-ico::before, .ito-gr-dom .wp-block-column:nth-child(2) .ito-ico::before { background: var(--dom); }
.ito-gr-dom .wp-block-list.is-style-ptaszki li::before { background-color: var(--dom-jasny); }
.ito-gr-dom .ito-steps > li::before { background: var(--dom); }
.ito-gr-dom .ito-faq > li { border-bottom-color: #cfe9df; }
.ito-gr-dom .ito-cta { background: linear-gradient(120deg, #157a63, #10332b); }
.ito-gr-dom .ito-main .ito-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #3fd1a8; color: #10332b; }
.ito-gr-dom .ito-main .ito-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #6fe0c0; }
.ito-gr-dom .ito-main .ito-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--dom); }
.ito-gr-dom .ito-main .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--dom); color: #fff; }
.ito-gr-dom .ito-main .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--dom); border-color: var(--dom); }
.ito-gr-dom .ito-main .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--dom); border-color: var(--dom); color: #fff; }
.ito-dom .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #0f6e5a; border-color: #0f6e5a; color: #fff; }
.ito-gr-dom .ito-main .ito-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
.ito-gr-dom .ito-main .ito-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--dom); }

/* ---- 1.3.1: pomarańczowe przyciski podświetlają się w całości ---- */
.wp-block-button.is-style-pomarancz > .wp-block-button__link { border: 2px solid var(--wp--preset--color--pomarancz); transition: background .2s, border-color .2s, color .2s; }
.wp-block-button.is-style-pomarancz > .wp-block-button__link:hover, .wp-block-button.is-style-pomarancz > .wp-block-button__link:focus-visible { background: #ff8a26; border-color: #ff8a26; color: #1d1a24; }
.ito-pomoc-karty .wp-block-buttons + .wp-block-buttons { margin-top: 10px; }
.ito-pomoc-karty .ito-btn-dl, .ito-pomoc-karty .ito-btn-dl .wp-block-button__link { width: 100%; box-sizing: border-box; }
.ito-btn-dl.is-style-outline > .wp-block-button__link { border-width: 2px; }
.ito-btn-dl.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--fiolet); border-color: var(--wp--preset--color--fiolet); color: #fff; }
.wp-block-button > .wp-block-button__link:hover, .ito-foot .wp-block-button__link, .ito-foot .wp-block-button__link:hover { text-decoration: none !important; }

/* ---- 1.4: ożywienie strony głównej ---- */
.ito-ico--rozmowa { --i: 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='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3Cpath d='M8.5 11h.01M12 11h.01M15.5 11h.01'/%3E%3C/svg%3E"); }
.ito-ico--audyt { --i: 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%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.3-4.3M8.5 11l1.8 1.8 3.4-3.6'/%3E%3C/svg%3E"); }
.ito-ico--oferta { --i: 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='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E"); }
.ito-ico--opieka { --i: 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='M12 3l8 3v6c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }

/* hero: grafika, tagi */
.ito-hero__art { position: absolute; top: 50%; right: max(0px, calc((100% - 1200px) / 2 - 20px)); width: clamp(300px, 40vw, 560px); transform: translateY(calc(-50% + var(--ito-plx, 0px))); pointer-events: none; margin: 0 !important; z-index: 0; }
.ito-hero__art svg { width: 100%; height: auto; display: block; }
.ito-hero > *:not(.ito-hero__art) { position: relative; z-index: 1; }
.ito-hero .ito-led { animation: ito-blink 1.6s steps(1) infinite; }
.ito-hero .ito-led--2 { animation-delay: .8s; }
.ito-hero .ito-pulse { animation: ito-pulse 3s ease-in-out infinite; }
@keyframes ito-blink { 50% { opacity: .15; } }
@keyframes ito-pulse { 50% { opacity: .3; } }
.ito-hero .ito-draw { stroke-dasharray: 160; stroke-dashoffset: 160; animation: ito-draw 2.2s .4s ease forwards; }
@keyframes ito-draw { to { stroke-dashoffset: 0; } }
.wp-block-list.is-style-tagi, .ito-hero__tagi { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; margin-right: auto !important; max-width: 640px !important; margin-top: 26px !important; }
.wp-block-list.is-style-tagi li { margin: 0; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .9); border-radius: 30px; padding: 4px 13px; font-size: 13px; line-height: 1.5; transition: border-color .2s, background .2s; }
.wp-block-list.is-style-tagi li::before { content: "#"; color: #ffb26b; margin-right: 2px; }
.wp-block-list.is-style-tagi li:hover { border-color: #ffb26b; background: rgba(246, 107, 0, .12); }
.ito-hero > .wp-block-buttons { margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important; }
@media (max-width: 1023px) {
	.ito-hero__art { width: 340px; right: -60px; opacity: .35; }
}
@media (max-width: 599px) { .ito-hero__art { width: 260px; right: -90px; top: auto; bottom: -40px; transform: translateY(var(--ito-plx, 0px)); opacity: .25; } .wp-block-list.is-style-tagi li { font-size: 12px; padding: 3px 10px; } }

/* pasek liczb */
.ito-stats-wrap { background: #fff; border-bottom: 1px solid var(--wp--preset--color--linia); box-shadow: 0 14px 30px -20px rgba(43, 20, 48, .25); position: relative; z-index: 2; margin-top: 0 !important; }
.ito-stats { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 clamp(16px, 4vw, 32px); }
.ito-stats > div { padding: 28px 0 26px 26px; border-left: 1px solid var(--wp--preset--color--linia); }
.ito-stats > div:first-child { border-left: 0; padding-left: 0; }
.ito-stats b { display: block; font-family: var(--wp--preset--font-family--display); font-size: 46px; line-height: 1; color: var(--wp--preset--color--ciemny); }
.ito-stats em { font-style: normal; color: var(--wp--preset--color--pomarancz); }
.ito-stats span { font-size: 14px; color: var(--wp--preset--color--szary); line-height: 1.4; display: block; margin-top: 6px; }
@media (max-width: 781px) {
	.ito-stats { grid-template-columns: 1fr 1fr; }
	.ito-stats > div { padding: 20px 0 18px 16px; }
	.ito-stats > div:nth-child(odd) { border-left: 0; padding-left: 0; }
	.ito-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--wp--preset--color--linia); }
	.ito-stats b { font-size: 36px; }
}

/* kroki współpracy */
.ito-kroki { list-style: none; padding: 0; margin: 34px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2.5vw, 28px); counter-reset: k; position: relative; }
.ito-kroki::before { content: ""; position: absolute; top: 34px; left: 12%; right: 12%; border-top: 2px dashed var(--wp--preset--color--linia); z-index: 0; }
.ito-kroki li { counter-increment: k; position: relative; z-index: 1; text-align: center; padding: 0 6px; }
.ito-kroki .ito-ico { width: 68px; height: 68px; border-radius: 18px; margin: 0 auto 16px !important; background: #fff; border: 2px solid var(--wp--preset--color--linia); box-shadow: 0 10px 24px rgba(43, 20, 48, .08); transition: border-color .25s, transform .25s; }
.ito-kroki .ito-ico::before { width: 30px; height: 30px; }
.ito-kroki li:hover .ito-ico { border-color: var(--wp--preset--color--pomarancz); transform: translateY(-4px); }
.ito-kroki b { display: block; font-family: var(--wp--preset--font-family--display); font-size: 22px; color: var(--wp--preset--color--ciemny); }
.ito-kroki b::before { content: counter(k) ". "; color: var(--wp--preset--color--pomarancz); }
.ito-kroki p { margin: 8px 0 0; font-size: 15px; color: var(--wp--preset--color--szary); line-height: 1.55; }
@media (max-width: 781px) { .ito-kroki { grid-template-columns: 1fr 1fr; row-gap: 32px; } .ito-kroki::before { display: none; } }
@media (max-width: 479px) { .ito-kroki { grid-template-columns: 1fr; } .ito-kroki li { text-align: left; display: grid; grid-template-columns: 60px 1fr; column-gap: 16px; padding: 0; } .ito-kroki .ito-ico { grid-row: span 2; width: 56px; height: 56px; margin: 0 !important; } .ito-kroki p { margin: 4px 0 0; } }

/* karty: uniesienie i poświata */
.wp-block-group.is-style-karta { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; position: relative; overflow: hidden; }
.wp-block-group.is-style-karta { --akc: 246, 107, 0; }
.wp-block-column:nth-child(2) > .wp-block-group.is-style-karta { --akc: 122, 0, 115; }
.ito-gr-dom .wp-block-group.is-style-karta { --akc: 25, 163, 127; }
.ito-gr-dom .wp-block-column:nth-child(2) > .wp-block-group.is-style-karta { --akc: 15, 110, 90; }
.wp-block-group.is-style-karta:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -24px rgba(var(--akc), .45); }
.wp-block-group.is-style-karta::after { content: ""; position: absolute; right: -50px; top: -50px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(rgba(var(--akc), .2), transparent 70%); opacity: 0; transition: opacity .25s; pointer-events: none; }
.wp-block-group.is-style-karta:hover::after { opacity: 1; }
.wp-block-group.is-style-karta:hover .ito-ico { transform: scale(1.08) rotate(-4deg); }
.ito-ico { transition: transform .25s ease; }

/* pasy z wezwaniem: wzór i paralaksa */
.ito-cta { position: relative; overflow: hidden; }
.ito-cta > * { position: relative; z-index: 1; }
.ito-cta::before { content: ""; position: absolute; left: -80px; top: -120px; width: 320px; aspect-ratio: 1; border: 22px solid rgba(255, 255, 255, .07); border-radius: 44px; transform: translateY(var(--ito-plx, 0px)) rotate(18deg); pointer-events: none; }
.ito-cta::after { content: ""; position: absolute; right: 6%; bottom: -60px; width: 220px; aspect-ratio: 1; border: 16px solid rgba(246, 107, 0, .28); border-radius: 36px; transform: translateY(calc(var(--ito-plx2, 0px) * -1)) rotate(-12deg); pointer-events: none; }
.ito-cta { background-image: radial-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(120deg, #7a0073, #2b1430); background-size: 26px 26px, auto; }
.ito-gr-dom .ito-main .ito-cta { background-image: radial-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(120deg, #157a63, #10332b); }
.ito-gr-dom .ito-cta::after { border-color: rgba(63, 209, 168, .3); }

/* pojawianie się przy przewijaniu */
.ito-js .ito-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.ito-js .ito-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ito-js .ito-reveal { opacity: 1; transform: none; transition: none; } .ito-hero__art *, .ito-hero .ito-draw { animation: none !important; stroke-dashoffset: 0 !important; } .wp-block-group.is-style-karta:hover { transform: none; } }

@media (min-width: 1024px) { .ito-hero > h1 { max-width: min(700px, 54%) !important; } .ito-hero > .ito-lead, .ito-hero__tagi { max-width: min(620px, 52%) !important; } }

/* ---- 1.4.2: plany obsługi — podświetlenie i wybór kolumny (ramka nakładana, wyższa niż tabela) ---- */
.wp-block-table.ito-plany { position: relative; padding: 36px 4px 16px !important; }
.ito-plany__ramka { position: absolute; box-sizing: border-box; top: 0; left: 0; width: 0; height: 0; border: 3px solid var(--wp--preset--color--pomarancz); border-radius: 12px; box-shadow: 0 18px 40px -16px rgba(246, 107, 0, .55); pointer-events: none; z-index: 3; opacity: 0; transition: left .3s ease, width .3s ease, opacity .2s; }
.ito-plany__ramka.is-on { opacity: 1; }
.ito-plany__ramka::before { content: "Wybrany plan"; position: absolute; left: 50%; top: -1px; transform: translate(-50%, -100%); background: var(--wp--preset--color--pomarancz); color: #1d1a24; font: 600 11px/1 var(--wp--preset--font-family--body); letter-spacing: 1px; text-transform: uppercase; padding: 5px 10px 4px; border-radius: 6px 6px 0 0; white-space: nowrap; }
.ito-plany thead th:not(:first-child) { cursor: pointer; transition: background .2s; }
.ito-plany td:not(:first-child) { cursor: pointer; transition: background .15s, color .15s; }
.ito-plany tbody tr td.ito-col-hover { background: #f5eff7 !important; }
.ito-plany tbody tr:nth-last-child(-n+3) td.ito-col-hover { background: #e8d9ee !important; }
.ito-plany thead th.ito-col-hover { background: var(--wp--preset--color--fiolet) !important; }
.ito-plany tbody tr td.ito-col-sel { background: #ffeedd !important; color: var(--wp--preset--color--ciemny); }
.ito-plany tbody tr:nth-last-child(-n+3) td.ito-col-sel { background: var(--wp--preset--color--pomarancz) !important; color: #1d1a24 !important; font-size: 17px; }
.ito-plany thead th.ito-col-sel { background: var(--wp--preset--color--pomarancz) !important; color: #1d1a24 !important; }
.ito-plany thead th:focus-visible { outline: 3px solid #ffb26b; outline-offset: -3px; }
.ito-plany th:first-child, .ito-plany td:first-child { z-index: 4; }
.wp-block-table.ito-plany figcaption { margin-top: 26px; }
