/* EL-HYDRO – Kafelki Usług 3D v1.4.0
   Izolacja stylów od Plumer/Elementor. Dwustronne karty + opcjonalna ścianka marki. */
.ehs3d-root{
  --ehs3d-accent:#1672b8;--ehs3d-dark:#145b91;--ehs3d-outline:#b7d6e9;
  --ehs3d-height:390px;--ehs3d-speed:1600ms;--ehs3d-depth:96px;
  --ehs3d-cols:3;--ehs3d-cols-tablet:2;--ehs3d-cols-mobile:1;
  --ehs3d-gap:34px;--ehs3d-perspective:1850px;
  --ehs3d-shadow-alpha:.209;--ehs3d-shadow-hover-alpha:.348;
  --ehs3d-shadow-y:16px;--ehs3d-shadow-blur:40px;
  --ehs3d-shadow-hover-y:30px;--ehs3d-shadow-hover-blur:65px;
  --ehs3d-lift:7px;--ehs3d-hover-scale:1.03;
  --ehs3d-inner-color:#d9effa;--ehs3d-inner-width:2px;--ehs3d-inner-inset:8px;
  width:100%;max-width:100%;margin:0 auto;box-sizing:border-box;
  color:#1a2834;font-family:inherit;container-type:inline-size;container-name:ehs3d;
}
.ehs3d-root *, .ehs3d-root *::before, .ehs3d-root *::after{box-sizing:border-box}
.ehs3d-root button,.ehs3d-root a{font-family:inherit}
.ehs3d-root .ehs3d-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 24px;padding:4px 0 8px}
.ehs3d-root .ehs3d-filter{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d7e6f0;border-radius:100px;padding:10px 18px;font-size:13px;font-weight:700;line-height:1.25;color:#25465f;cursor:pointer;box-shadow:0 3px 10px rgba(22,82,133,.05);text-transform:none;transition:background .2s,color .2s,transform .2s}
.ehs3d-root .ehs3d-filter:hover{border-color:var(--ehs3d-accent);transform:translateY(-1px)}
.ehs3d-root .ehs3d-filter.is-active{background:var(--ehs3d-accent);color:white;border-color:var(--ehs3d-accent)}
.ehs3d-root .ehs3d-grid{display:grid !important;grid-template-columns:repeat(var(--ehs3d-cols),minmax(0,1fr)) !important;gap:var(--ehs3d-gap) !important;align-items:stretch !important;width:100% !important;max-width:100%;margin:0 !important;padding:0 !important}
.ehs3d-root .ehs3d-card{min-width:0 !important;margin:0 !important;padding:0 !important;position:relative !important;background:transparent !important;isolation:isolate;list-style:none}
.ehs3d-root .ehs3d-card[hidden],.ehs3d-root .ehs3d-more[hidden]{display:none !important}
/* Cień niezależny od ścian obracającej się bryły, bez spłaszczania 3D. */
.ehs3d-root .ehs3d-card::before{
  content:"";position:absolute;z-index:0;inset:4px;border-radius:20px;pointer-events:none;
  box-shadow:0 var(--ehs3d-shadow-y) var(--ehs3d-shadow-blur) rgba(9,52,87,var(--ehs3d-shadow-alpha)),
    0 3px 11px rgba(9,52,87,.08);
  transition:box-shadow .32s ease,transform .32s ease;
}
.ehs3d-root .ehs3d-card.is-flipped::before,
.ehs3d-root .ehs3d-card:hover::before{
  box-shadow:0 var(--ehs3d-shadow-hover-y) var(--ehs3d-shadow-hover-blur) rgba(9,52,87,var(--ehs3d-shadow-hover-alpha)),
    0 7px 20px rgba(12,75,115,.14);
}
.ehs3d-root .ehs3d-card.ehs3d-last-centered{transform:translateX(calc(50% + var(--ehs3d-gap)/2))}

.ehs3d-root .ehs3d-stage{display:block;position:relative;z-index:1;width:100%;height:var(--ehs3d-height);perspective:var(--ehs3d-perspective);perspective-origin:50% 50%;touch-action:pan-y;
  transition:transform .3s cubic-bezier(.2,.75,.2,1);transform-origin:center center;}
@media (hover:hover) and (pointer:fine){.ehs3d-root .ehs3d-card:hover .ehs3d-stage{transform:translateY(calc(-1 * var(--ehs3d-lift))) scale(var(--ehs3d-hover-scale));}}
.ehs3d-root .ehs3d-card.is-flipped .ehs3d-stage{transform:translateY(calc(-1 * var(--ehs3d-lift))) scale(var(--ehs3d-hover-scale));}

.ehs3d-root .ehs3d-rotor{position:relative;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform:rotateY(0deg);will-change:transform}
.ehs3d-root .ehs3d-face{
  position:absolute !important;inset:0 !important;display:flex;width:100% !important;height:100% !important;
  margin:0 !important;min-width:0;border:2px solid var(--ehs3d-outline);
  border-radius:19px;overflow:hidden;background:#fff;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  box-shadow:0 4px 11px rgba(21,69,108,.07),inset 0 1px rgba(255,255,255,.45);
}
.ehs3d-root .ehs3d-front{transform:rotateY(0deg) translateZ(var(--ehs3d-depth));flex-direction:column;}
.ehs3d-root .ehs3d-brand{transform:rotateY(-120deg) translateZ(var(--ehs3d-depth));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;background:linear-gradient(135deg,#092d50 0%,var(--ehs3d-accent) 58%,#06293e 100%);color:#fff;border-color:var(--ehs3d-accent)}
.ehs3d-root .ehs3d-back{transform:rotateY(-240deg) translateZ(var(--ehs3d-depth));display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:22px 24px;background:linear-gradient(140deg,#0a1d2f,#112d46 70%,#09233e);border-color:var(--ehs3d-outline);color:#fff}
.ehs3d-root.ehs3d-no-brand .ehs3d-brand{display:none}
.ehs3d-root.ehs3d-no-brand .ehs3d-front{transform:rotateY(0deg) translateZ(1px)}
.ehs3d-root.ehs3d-no-brand .ehs3d-back{transform:rotateY(-180deg) translateZ(1px)}
.ehs3d-root .ehs3d-photo-wrap{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:linear-gradient(130deg,#eaf4fb,#b8d9ea)}
.ehs3d-root .ehs3d-photo-wrap .ehs3d-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ehs3d-root .ehs3d-photo-wrap::after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(to bottom,rgba(3,16,28,.28),rgba(3,16,28,.43) 38%,rgba(2,15,29,.65))}
.ehs3d-root.ehs3d-has-inner-border .ehs3d-photo-wrap::before{
  content:"";pointer-events:none;position:absolute;z-index:2;inset:var(--ehs3d-inner-inset);
  border:var(--ehs3d-inner-width) solid var(--ehs3d-inner-color);
  border-radius:12px;box-shadow:0 0 0 1px rgba(0,42,70,.09),inset 0 0 16px rgba(255,255,255,.05);
}

.ehs3d-root .ehs3d-card:hover .ehs3d-photo-wrap img{transform:scale(1.035)}
.ehs3d-root .ehs3d-fallback{background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.23),transparent 43%),linear-gradient(125deg,#145b91,#1687c9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.ehs3d-root .ehs3d-fallback svg{width:72px;height:72px;opacity:.66}
.ehs3d-root .ehs3d-fallback span{font-size:23px;line-height:1.2;font-weight:900;letter-spacing:.13em;color:#fff}
/* Domyślnie: poprzedni układ – pełne zdjęcie, tekst na fotografii. */
.ehs3d-root.ehs3d-style-fullphoto .ehs3d-front-bottom{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:25px 22px;text-align:center;background:transparent;z-index:3;}
.ehs3d-root.ehs3d-style-fullphoto .ehs3d-front-title{margin:0;color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.45);font-size:clamp(19px,2.1vw,25px);font-weight:800;line-height:1.25;text-align:center;letter-spacing:-.025em;text-transform:none;}
.ehs3d-root.ehs3d-style-fullphoto .ehs3d-tag{position:absolute;top:17px;left:18px;border-radius:100px;background:rgba(255,255,255,.17);color:#fff;font-size:11px;font-weight:800;padding:5px 11px;backdrop-filter:blur(8px)}
.ehs3d-root.ehs3d-style-fullphoto .ehs3d-turn-front{margin:0 !important;font-size:13px !important;font-weight:650;color:#fff !important;text-shadow:0 1px 6px rgba(0,0,0,.55);}
.ehs3d-root.ehs3d-style-fullphoto .ehs3d-turn-icon{color:#fff}
/* Alternatywnie: biała karta z osobnym zdjęciem i podpisem. */
.ehs3d-root.ehs3d-style-framed .ehs3d-front{padding:9px;background:#fff;}
.ehs3d-root.ehs3d-style-framed .ehs3d-photo-wrap{position:relative;inset:auto;height:auto;flex:1 1 0;min-height:0;border-radius:12px}
.ehs3d-root.ehs3d-style-framed .ehs3d-photo-wrap::after{display:none}
.ehs3d-root.ehs3d-style-framed .ehs3d-front-bottom{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:13px 9px 4px;gap:5px;min-height:125px}
.ehs3d-root.ehs3d-style-framed .ehs3d-front-title{margin:0;color:#102b45 !important;font-size:clamp(17px,1.8vw,21px);font-weight:800;line-height:1.25}
.ehs3d-root.ehs3d-style-framed .ehs3d-tag{display:inline-block;background:#e9f5fc;color:var(--ehs3d-dark);padding:5px 10px;border-radius:100px;font-size:11px;font-weight:800}
.ehs3d-root.ehs3d-style-framed .ehs3d-turn-front{font-size:12px !important;color:var(--ehs3d-accent) !important;margin:auto 0 0 !important;text-align:left}
.ehs3d-root .ehs3d-turn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;background:transparent !important;border:0 !important;padding:4px 0 !important;min-height:28px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.35;text-transform:none;box-shadow:none !important;outline-offset:3px}
.ehs3d-root .ehs3d-turn-icon{font-size:19px;font-weight:400}
.ehs3d-root .ehs3d-brand-mark{font-size:46px;line-height:1;color:#8ae1ff;opacity:.9}
.ehs3d-root .ehs3d-brand-text{font-size:clamp(23px,3.6vw,38px);font-weight:900;letter-spacing:.075em;line-height:1.12;text-shadow:0 3px 12px #00223d;overflow-wrap:anywhere}
.ehs3d-root .ehs3d-brand-line{width:80px;height:3px;border-radius:8px;background:#ff7567}
.ehs3d-root .ehs3d-brand-subtitle{font-size:12px;line-height:1.5;color:#e3f3fc}
.ehs3d-root .ehs3d-back-tag{display:inline-block;align-self:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#d4eeff;padding:5px 12px;border-radius:30px;font-size:11px;font-weight:700;margin-bottom:12px}
.ehs3d-root .ehs3d-back-title{margin:0 0 12px;color:#fff !important;text-align:center;font-size:clamp(19px,1.9vw,24px);line-height:1.25;font-weight:800;letter-spacing:-.02em;text-transform:none}
.ehs3d-root .ehs3d-back-description{margin:0 0 14px !important;color:#eef7ff !important;font-size:clamp(12px,1.1vw,14px);line-height:1.53;text-align:center;font-weight:400;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ehs3d-root .ehs3d-features{display:flex;flex-direction:column;gap:6px;list-style:none !important;margin:2px 0 14px !important;padding:0 !important}
.ehs3d-root .ehs3d-features li{position:relative;list-style:none !important;padding:0 0 0 19px !important;margin:0 !important;color:#edf7fc !important;font-size:12px;line-height:1.3}
.ehs3d-root .ehs3d-features li::before{content:"✓";position:absolute;left:0;top:0;color:#8acef2;font-weight:900}
.ehs3d-root .ehs3d-back-actions{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.ehs3d-root .ehs3d-cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;background:var(--ehs3d-accent) !important;color:#fff !important;text-decoration:none !important;border:0;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:800;line-height:1.25;box-shadow:0 6px 15px rgba(0,0,0,.14)}
.ehs3d-root .ehs3d-cta:hover{background:#e63f28 !important;color:#fff !important}
.ehs3d-root .ehs3d-turn-back{color:#fff !important;font-size:12px !important;white-space:nowrap}
.ehs3d-root .ehs3d-no-link{color:#e0eaf2;font-size:12px}
.ehs3d-root .ehs3d-bottom{display:flex;justify-content:center}
.ehs3d-root .ehs3d-more{display:inline-flex;align-items:center;gap:8px;margin:28px auto 0;padding:12px 25px;border:1px solid var(--ehs3d-accent);border-radius:100px;background:#fff;color:var(--ehs3d-dark);font-size:14px;font-weight:800;cursor:pointer}
.ehs3d-root .ehs3d-more:hover{background:var(--ehs3d-accent);color:#fff}
.ehs3d-root .ehs3d-filter:focus-visible,.ehs3d-root .ehs3d-turn:focus-visible,.ehs3d-root .ehs3d-cta:focus-visible,.ehs3d-root .ehs3d-more:focus-visible{outline:3px solid #ff8d31 !important;outline-offset:3px}
.ehs3d-root .ehs3d-status{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
/* Kolumny reagują na dostępną szerokość Elementora, nie na szerokość ekranu. */
@container ehs3d (max-width:850px){.ehs3d-root .ehs3d-grid{--ehs3d-gap:26px;grid-template-columns:repeat(var(--ehs3d-cols-tablet),minmax(0,1fr)) !important;gap:var(--ehs3d-gap) !important}}
@container ehs3d (max-width:500px){.ehs3d-root .ehs3d-grid{--ehs3d-gap:22px;grid-template-columns:repeat(var(--ehs3d-cols-mobile),minmax(0,1fr)) !important;gap:var(--ehs3d-gap) !important}.ehs3d-root .ehs3d-filter{padding:9px 12px;font-size:12px}}
@media(max-width:850px){.ehs3d-root:not(.ehs3d-query-supported) .ehs3d-grid{grid-template-columns:repeat(var(--ehs3d-cols-tablet),minmax(0,1fr)) !important}}
@media(max-width:500px){.ehs3d-root:not(.ehs3d-query-supported) .ehs3d-grid{grid-template-columns:repeat(var(--ehs3d-cols-mobile),minmax(0,1fr)) !important}}
@media(max-width:600px){.ehs3d-root .ehs3d-stage{height: min(var(--ehs3d-height),440px)}.ehs3d-root .ehs3d-back{padding:18px 21px}}
@media(prefers-reduced-motion:reduce){.ehs3d-root *{transition-duration:.01ms !important}}

/* Wyświetlaj animacje przestrzenne delikatniej dla osób ograniczających ruch. */
@media (prefers-reduced-motion:reduce){
  .ehs3d-root .ehs3d-stage,.ehs3d-root .ehs3d-card::before{transition-duration:.01ms!important}
  .ehs3d-root .ehs3d-card.is-flipped .ehs3d-stage{transform:none}
}

/* v1.4: stabilne trafianie w przycisk na hybrydowych tabletach (dotyk + widok desktopowy). */
.ehs3d-root .ehs3d-brand { pointer-events:none !important; }
.ehs3d-root .ehs3d-card:not(.is-flipped) .ehs3d-back { pointer-events:none !important; }
.ehs3d-root .ehs3d-card.is-flipped .ehs3d-front { pointer-events:none !important; }
.ehs3d-root .ehs3d-card.is-flipped .ehs3d-back { pointer-events:auto !important; }
.ehs3d-root .ehs3d-cta { position:relative; z-index:4; touch-action:manipulation; -webkit-tap-highlight-color:rgba(22,114,184,.16); }
