:root{--ice-bg:#F5F8FB;--ice-surface:#FFFFFF;--ice-ink:#0B1F33;--ice-accent:#0E6FD6;--ice-deep:#08243C;--ice-frost:#DCEAF7;--ice-muted:#52697E;--ice-line:#D3E0EC}
body{background:var(--ice-bg)}
.ice-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ice-ink)}
.ice-logo__mark{color:var(--ice-accent);flex:0 0 auto}
.ice-logo__word{display:flex;flex-direction:column;line-height:1;font-family:Archivo,sans-serif}
.ice-logo__word b{font-weight:800;font-size:21px;letter-spacing:-.4px}
.ice-logo__word i{font-style:normal;font-weight:600;font-size:10px;letter-spacing:3.1px;color:var(--ice-muted);margin-top:4px}
.ice-logo--light{color:#fff}
.ice-logo--light .ice-logo__word i{color:#9FB4C7}
.ice-fonebig{display:inline-block;margin:0 0 16px;font-family:Archivo,sans-serif;font-weight:800;font-size:27px;letter-spacing:-.5px;color:#fff;text-decoration:none}
.ice-fonebig:hover{color:var(--ice-frost)}
.ice-ph{position:relative;display:block;width:100%;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#DCEAF7 0%,#F0F6FC 42%,#C4DBF1 100%);border:1px solid var(--ice-line)}
.ice-ph::after{content:attr(data-label);position:absolute;left:18px;bottom:16px;font:600 12px/1 Barlow,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#4E7CA5}
.ice-ph--43{aspect-ratio:4/3}
.ice-ph--169{aspect-ratio:16/9}
.ice-ph--11{aspect-ratio:1/1}
.ice-ph--tall{aspect-ratio:3/4}
.ice-cta-block{margin:26px 0 6px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ice-cta{display:inline-block;padding:15px 26px;border-radius:8px;font:600 16px/1.1 Barlow,sans-serif;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}
.ice-cta--primary{background:var(--ice-accent);color:#fff}
.ice-cta--primary:hover{background:var(--ice-deep);color:#fff}
.ice-cta--ghost{background:transparent;color:var(--ice-ink);border:1px solid var(--ice-line)}
.ice-cta--ghost:hover{border-color:var(--ice-accent);color:var(--ice-accent)}
.ice-cta--sm{padding:11px 18px;font-size:15px}
.ice-cta-note{margin:14px 0 0;font-size:15px;color:var(--ice-muted);flex:1 1 100%}
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--ice-line);border-radius:16px;padding:16px;text-align:left;box-shadow:0 18px 40px rgba(11,31,51,.05)}
.woocommerce ul.products li.product img{border-radius:10px;margin-bottom:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Archivo,sans-serif;font-weight:700;font-size:19px!important;color:var(--ice-ink);padding:0!important;margin:0 0 6px}
.woocommerce ul.products li.product .price{color:var(--ice-ink);font-family:Archivo,sans-serif;font-weight:800;font-size:18px;display:block;margin-bottom:14px}
.woocommerce ul.products li.product .price .amount{color:var(--ice-ink)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:none}
.woocommerce div.product .product_title{font-family:Archivo,sans-serif;font-weight:800}
.woocommerce div.product p.price{color:var(--ice-ink);font-family:Archivo,sans-serif;font-weight:800;font-size:28px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--ice-frost);border:none;border-radius:8px 8px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border:1px solid var(--ice-line);border-bottom-color:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--ice-line)}
.woocommerce .woocommerce-breadcrumb{color:var(--ice-muted);font-size:14px}
.ice-table{width:100%;border-collapse:collapse;font-family:Barlow,sans-serif;background:#fff;border:1px solid var(--ice-line);border-radius:16px;overflow:hidden}
.ice-table th{background:var(--ice-frost);color:var(--ice-ink);text-align:left;font:600 13px/1.2 Barlow,sans-serif;letter-spacing:1.2px;text-transform:uppercase;padding:16px 18px}
.ice-table td{padding:16px 18px;border-top:1px solid var(--ice-line);color:var(--ice-ink);font-size:16px}
.ice-table td strong{font-family:Archivo,sans-serif;font-weight:800}
.ice-table td.ice-num{font-family:Archivo,sans-serif;font-weight:800;white-space:nowrap}
.ice-tablewrap{overflow-x:auto;border-radius:16px}
.ice-spec{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--ice-line);border:1px solid var(--ice-line);border-radius:16px;overflow:hidden}
.ice-spec li{display:flex;justify-content:space-between;gap:16px;background:#fff;padding:14px 18px;font-family:Barlow,sans-serif;font-size:16px;color:var(--ice-muted)}
.ice-spec li span{color:var(--ice-ink);font-family:Archivo,sans-serif;font-weight:700}
.ice-quote{margin:0;padding:0 0 0 22px;border-left:3px solid var(--ice-accent);font-family:Archivo,sans-serif;font-weight:700;font-size:22px;line-height:1.35;color:var(--ice-ink)}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{font-family:Barlow,sans-serif}
.ice-hero-figure{position:relative}
.ice-badge{position:absolute;right:-14px;bottom:26px;background:#fff;border:1px solid var(--ice-line);border-radius:16px;padding:16px 20px;box-shadow:0 18px 40px rgba(11,31,51,.10)}
.ice-badge b{display:block;font-family:Archivo,sans-serif;font-weight:800;font-size:30px;line-height:1;color:var(--ice-accent)}
.ice-badge span{display:block;margin-top:6px;font:600 11px/1 Barlow,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--ice-muted)}
@media(max-width:1024px){.ice-badge{right:12px;bottom:12px;padding:12px 16px}.ice-badge b{font-size:24px}}
.ice-form .elementor-field-group>label{font:600 13px/1.2 Barlow,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ice-muted);margin-bottom:8px}
.ice-form .elementor-field-textual{border:1px solid var(--ice-line)!important;border-radius:8px!important;background:#fff!important;color:var(--ice-ink)!important;padding:14px 16px!important;font-family:Barlow,sans-serif!important}
.ice-form .elementor-field-textual:focus{border-color:var(--ice-accent)!important;box-shadow:0 0 0 3px rgba(14,111,214,.15)!important;outline:none}
@media(max-width:767px){.ice-fonebig{font-size:24px}}

/* Karty produktow */
.woocommerce ul.products li.product{display:flex;flex-direction:column;height:100%}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{order:1}
.woocommerce ul.products li.product .astra-shop-summary-wrap{order:2;margin-bottom:16px}
.woocommerce ul.products li.product .ice-cta{order:3;align-self:flex-start;margin-top:auto}
.woocommerce ul.products li.product a.button{display:none!important}
.woocommerce ul.products li.product .ast-woo-product-category{display:block;margin-bottom:6px;font:600 11px/1 Barlow,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#0E6FD6}
.ice-price-ask{font:600 15px/1.2 Barlow,sans-serif;color:#52697E}
.ice-price-note{font:400 14px/1.2 Barlow,sans-serif;color:#52697E}
.woocommerce div.product .ice-price-note{font-size:16px}
.woocommerce ul.products{display:grid!important;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important}
@media(max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}

/* Kontakt, formularz, pasek mobilny */
.ice-fone{display:inline-block;margin:0 0 18px;font-family:Archivo,sans-serif;font-weight:800;font-size:34px;letter-spacing:-.8px;line-height:1;color:#0B1F33;text-decoration:none}
.ice-fone:hover{color:#0E6FD6}
.ice-spec li a{color:#0E6FD6;text-decoration:none}
.ice-spec li a:hover{text-decoration:underline}
.ice-aside__lead{margin:0 0 8px;font:600 12px/1 Barlow,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#52697E}
.elementor-widget-google_maps iframe{border-radius:16px;border:1px solid #D3E0EC}
.ice-form .elementor-field-type-acceptance label{font-size:15px;color:#52697E;text-transform:none;letter-spacing:0}
.ice-callbar{display:none}
@media(max-width:767px){body{padding-bottom:76px}.ice-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:998;gap:10px;padding:10px 14px;background:#fff;border-top:1px solid #D3E0EC;box-shadow:0 -8px 24px rgba(11,31,51,.08)}.ice-callbar a{flex:1;text-align:center;padding:14px 10px;border-radius:8px;font:600 15px/1 Barlow,sans-serif;text-decoration:none}.ice-callbar .is-primary{background:#0E6FD6;color:#fff}.ice-callbar .is-ghost{border:1px solid #D3E0EC;color:#0B1F33}}

/* Naglowek: menu zawsze w jednej linii na desktopie */
#masthead .elementor-nav-menu--layout-horizontal .elementor-nav-menu{flex-wrap:nowrap;display:flex;align-items:center}
#masthead .elementor-nav-menu--main .elementor-item{white-space:nowrap}
#masthead .elementor-nav-menu--main .elementor-nav-menu>li>a{flex-grow:0}
#masthead .elementor-widget-nav-menu{flex-shrink:1;min-width:0}
#masthead .elementor-widget-button{flex-shrink:0}
@media(max-width:1240px) and (min-width:1025px){#masthead .elementor-nav-menu--main .elementor-item{font-size:14px;padding-left:8px;padding-right:8px}}
@media(max-width:1024px){#masthead .elementor-nav-menu--dropdown .elementor-item{white-space:normal}}

/* Blok lokalizacji */
.ice-loc__head{display:flex;align-items:center;gap:9px;color:#0E6FD6;font:600 12px/1 Barlow,sans-serif;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:14px}
.ice-loc__addr{margin:0 0 20px;font-family:Archivo,sans-serif;font-weight:800;font-size:22px;line-height:1.32;color:#0B1F33}
.ice-loc .ice-spec{margin-bottom:22px}
.ice-loc .ice-cta{display:inline-block}
#masthead .elementor-nav-menu--main .elementor-nav-menu{display:flex;flex-wrap:nowrap;align-items:center}
#masthead .elementor-nav-menu--main .elementor-nav-menu>li{display:flex}
#masthead .elementor-nav-menu--dropdown .elementor-nav-menu{display:block;flex-wrap:wrap}
#masthead .elementor-nav-menu--dropdown .elementor-nav-menu>li{display:block}

/* ===== Przyciski ===== */
.elementor-button .elementor-button-text{display:inline-block}
.elementor-button-icon svg{width:1em;height:auto}
.ice-b .elementor-button{transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.ice-b--primary .elementor-button{background-color:#0E6FD6;color:#FFFFFF;fill:#FFFFFF}
.ice-b--primary .elementor-button:hover,.ice-b--primary .elementor-button:focus{background-color:#08243C;color:#FFFFFF;fill:#FFFFFF}
.ice-b--ghost .elementor-button{background-color:#FFFFFF;color:#0B1F33;fill:#0B1F33;border:1px solid #D3E0EC}
.ice-b--ghost .elementor-button:hover,.ice-b--ghost .elementor-button:focus{background-color:#F0F6FC;color:#0E6FD6;fill:#0E6FD6;border-color:#0E6FD6}
.ice-b--light .elementor-button{background-color:#FFFFFF;color:#08243C;fill:#08243C}
.ice-b--light .elementor-button:hover,.ice-b--light .elementor-button:focus{background-color:#DCEAF7;color:#08243C;fill:#08243C}
.ice-b--ghost-dark .elementor-button{background-color:transparent;color:#FFFFFF;fill:#FFFFFF;border:1px solid #2A5573}
.ice-b--ghost-dark .elementor-button:hover,.ice-b--ghost-dark .elementor-button:focus{background-color:#FFFFFF;color:#08243C;fill:#08243C;border-color:#FFFFFF}

/* ===== Formularz: pola wyboru ===== */
.ice-form .elementor-select-wrapper{position:relative}
.ice-form select.elementor-field-textual{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:54px;padding:14px 48px 14px 16px!important;border:1px solid #D3E0EC!important;border-radius:8px!important;background-color:#FFFFFF!important;color:#0B1F33!important;font-family:Barlow,sans-serif!important;font-size:16px;line-height:1.35}
.ice-form select.elementor-field-textual:focus{border-color:#0E6FD6!important;box-shadow:0 0 0 3px rgba(14,111,214,.15)!important;outline:none}
.ice-form .select-caret-down-wrapper{position:absolute;top:50%;right:16px;transform:translateY(-50%);display:flex;align-items:center;pointer-events:none;opacity:1}
.ice-form .select-caret-down-wrapper svg{width:12px;height:12px;fill:#52697E}
.ice-form .elementor-field-textual{min-height:54px}
.ice-form textarea.elementor-field-textual{min-height:132px}
.ice-form .elementor-field-group>label{color:#31465A}
.ice-form .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:10px;align-items:flex-start}
.ice-form .elementor-field-type-acceptance input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:#0E6FD6}
.ice-form .elementor-button{min-height:54px}

/* ===== Hero: slider pelnoekranowy ===== */
.ice-hero{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px}
.ice-heroslides .elementor-slides .swiper-slide{min-height:calc(100vh - 74px)}
.ice-heroslides .swiper-slide-bg{height:calc(100vh - 74px);min-height:100%}
.ice-heroslides .swiper-slide-inner{position:relative;padding-left:max(24px,calc((100vw - 1180px) / 2))!important;padding-right:max(24px,calc((100vw - 1180px) / 2))!important}
.ice-heroslides .swiper-slide-inner::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 80% 24%,rgba(14,111,214,.38),rgba(8,36,60,0) 62%),linear-gradient(90deg,rgba(8,36,60,.94) 0%,rgba(8,36,60,.62) 52%,rgba(8,36,60,.18) 100%)}
.ice-heroslides .swiper-slide-contents{position:relative;z-index:2}
.ice-heroslides .elementor-slide-heading{max-width:16ch}
.ice-heroslides .elementor-slide-description{max-width:56ch}
.ice-heroslides .elementor-swiper-button{color:#FFFFFF;text-shadow:0 2px 12px rgba(8,36,60,.55)}
.ice-heroslides .swiper-pagination-bullet{opacity:1;background:#7F97AC}
.ice-heroslides .swiper-pagination-bullet-active{background:#FFFFFF}
.ice-heroslides .elementor-slide-button{border:none}
@media(max-width:1024px){
.ice-heroslides .elementor-slides .swiper-slide{min-height:78vh}
.ice-heroslides .swiper-slide-bg{height:78vh}
.ice-heroslides .swiper-slide-inner{padding-left:24px!important;padding-right:24px!important}
.ice-heroslides .swiper-slide-inner::before{background:linear-gradient(180deg,rgba(8,36,60,.86) 0%,rgba(8,36,60,.68) 100%)}
.ice-heroslides .elementor-slide-heading{max-width:none}
}
@media(max-width:767px){
.ice-heroslides .elementor-slides .swiper-slide{min-height:74vh}
.ice-heroslides .swiper-slide-bg{height:74vh}
}
.ice-sronly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Pelna szerokosc stron budowanych Elementorem */
.elementor-page #content .ast-container{max-width:100%;width:100%;padding-left:0;padding-right:0}
.ast-page-builder-template #content .ast-container{max-width:100%;padding-left:0;padding-right:0}
.elementor-page #primary{margin:0;padding:0}
.ice-heroslides .swiper-slide-contents{min-width:min(620px,100%)}

/* ===== Etykiety przyciskow: gwarancja czytelnosci ===== */
a.ice-cta,.woocommerce ul.products li.product a.ice-cta,.woocommerce div.product a.ice-cta,.ice-loc a.ice-cta{text-decoration:none!important;-webkit-text-fill-color:currentColor;font-family:Barlow,sans-serif;font-weight:600;line-height:1.15;text-align:center}
a.ice-cta.ice-cta--primary,.woocommerce ul.products li.product a.ice-cta.ice-cta--primary,.woocommerce div.product a.ice-cta.ice-cta--primary,.ice-loc a.ice-cta.ice-cta--primary{background-color:#0E6FD6!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;border:1px solid #0E6FD6!important}
a.ice-cta.ice-cta--primary:hover,.woocommerce ul.products li.product a.ice-cta.ice-cta--primary:hover,.woocommerce div.product a.ice-cta.ice-cta--primary:hover,.ice-loc a.ice-cta.ice-cta--primary:hover{background-color:#08243C!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;border-color:#08243C!important}
a.ice-cta.ice-cta--ghost,.woocommerce div.product a.ice-cta.ice-cta--ghost{background-color:#FFFFFF!important;color:#0B1F33!important;-webkit-text-fill-color:#0B1F33!important;border:1px solid #D3E0EC!important}
a.ice-cta.ice-cta--ghost:hover,.woocommerce div.product a.ice-cta.ice-cta--ghost:hover{background-color:#F0F6FC!important;color:#0E6FD6!important;-webkit-text-fill-color:#0E6FD6!important;border-color:#0E6FD6!important}
a.ice-cta.ice-cta--sm{padding:12px 20px!important;font-size:15px!important}
.ice-callbar a.is-primary{background-color:#0E6FD6!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important}
.ice-callbar a.is-ghost{color:#0B1F33!important;-webkit-text-fill-color:#0B1F33!important}
.elementor-button .elementor-button-text,.elementor-slide-button{-webkit-text-fill-color:currentColor}
