
/* =========================================================
   KONTAKT — PREMIUM GLASS
   ========================================================= */

.sp-contact-v2-body {
    --con-ink:#0d2d45;
    --con-text:#587086;
    --con-blue:#147fe1;
    --con-cyan:#0ab6c8;
    --con-violet:#7c55f2;
    --con-line:rgba(53,101,135,.14);
    background:#f8fbfe;
}
.sp-contact-v2-body .sp-main { overflow:hidden; }
.sp-contact2 { color:var(--con-ink);background:#f8fbfe; }
.sp-contact2 * { box-sizing:border-box; }
.sp-contact2 a { text-decoration:none; }
.sp-contact2 h1,.sp-contact2 h2,.sp-contact2 h3,.sp-contact2 p { margin-top:0; }

/* HERO */
.sp-contact2-hero {
    position:relative;overflow:hidden;padding:64px 0 48px;
    background:
        radial-gradient(circle at 79% 28%,rgba(68,184,255,.16),transparent 25%),
        radial-gradient(circle at 98% 48%,rgba(188,75,239,.14),transparent 25%),
        linear-gradient(115deg,#fff 0%,#fbfdff 58%,#eef9ff 100%);
    border-bottom:1px solid var(--con-line);
}
.sp-contact2-hero__grid-bg {
    position:absolute;inset:0;pointer-events:none;opacity:.45;
    background-image:
        linear-gradient(rgba(49,105,143,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(49,105,143,.045) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(90deg,transparent 5%,#000 45%,#000);
}
.sp-contact2-hero__orb { position:absolute;border-radius:50%;filter:blur(76px);pointer-events:none; }
.sp-contact2-hero__orb--cyan { width:320px;height:320px;right:31%;top:34px;background:rgba(39,196,255,.15); }
.sp-contact2-hero__orb--violet { width:370px;height:370px;right:-100px;top:90px;background:rgba(197,78,239,.15); }
.sp-contact2-hero__grid {
    position:relative;z-index:2;display:grid;grid-template-columns:minmax(420px,.93fr) minmax(570px,1.07fr);
    gap:50px;align-items:center;
}
.sp-contact2-badge {
    width:max-content;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:20px;
    border:1px solid rgba(49,137,183,.2);border-radius:9px;background:rgba(255,255,255,.72);
    backdrop-filter:blur(12px);box-shadow:0 8px 22px rgba(35,78,108,.055);color:#087f94;
    font-size:9px;letter-spacing:.05em;
}
.sp-contact2-hero h1 {
    margin:0;max-width:790px;font-size:clamp(52px,4.4vw,74px);line-height:.98;letter-spacing:-.052em;color:var(--con-ink);
}
.sp-contact2-hero h1 em {
    font-style:normal;background:linear-gradient(90deg,#0aafbd,#147fe1 55%,#a93add);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.sp-contact2-hero__copy > p { max-width:650px;margin:23px 0 0;color:var(--con-text);font-size:14px;line-height:1.7; }
.sp-contact2-hero__actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:27px; }
.sp-contact2-hero__meta { display:flex;gap:8px;flex-wrap:wrap;margin-top:18px; }
.sp-contact2-hero__meta span {
    padding:6px 9px;border:1px solid #d7e4ea;border-radius:999px;background:rgba(255,255,255,.72);
    color:#667e91;font-size:9px;font-weight:800;
}

/* ROUTER */
.sp-contact2-console {
    position:relative;overflow:hidden;min-height:420px;border:1px solid rgba(255,255,255,.88);border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.79),rgba(243,249,255,.63));
    backdrop-filter:blur(19px);box-shadow:0 28px 60px rgba(36,76,107,.14);
}
.sp-contact2-console__top {
    min-height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;
    border-bottom:1px solid rgba(78,120,149,.12);
}
.sp-contact2-console__top > div { display:flex;align-items:center;gap:9px; }
.sp-contact2-console__dot {
    width:8px;height:8px;border-radius:50%;background:#13b7c8;box-shadow:0 0 0 6px rgba(19,183,200,.09);
}
.sp-contact2-console__top strong { font-size:9px;letter-spacing:.1em; }
.sp-contact2-console__top small { color:#8999a5;font-size:7px;font-weight:900;letter-spacing:.12em; }
.sp-contact2-console__lead {
    min-height:110px;display:grid;align-content:center;padding:22px 20px;text-align:center;
    background:radial-gradient(circle at 50% 55%,rgba(67,157,231,.11),transparent 48%);
}
.sp-contact2-console__lead small { color:#088ea4;font-size:8px;font-weight:900;letter-spacing:.12em; }
.sp-contact2-console__lead strong { display:block;margin-top:6px;font-size:23px;letter-spacing:-.03em; }
.sp-contact2-console__routes { display:grid;grid-template-columns:1fr 1fr; }
.sp-contact2-console__routes a {
    display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;min-height:110px;padding:15px 17px;
    color:var(--con-ink);border-top:1px solid rgba(78,120,149,.11);border-left:1px solid rgba(78,120,149,.09);
}
.sp-contact2-console__routes a:nth-child(odd) { border-left:0; }
.sp-contact2-console__routes a > span {
    width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#eef8fa;
    border:1px solid #cbe5e9;color:#0a8ea4;font-size:8px;font-weight:900;
}
.sp-contact2-console__routes strong { display:block;font-size:11px; }
.sp-contact2-console__routes small { display:block;margin-top:3px;color:#738798;font-size:8px; }
.sp-contact2-console__routes b { color:#397bd4;font-size:15px; }
.sp-contact2-console__scan {
    position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#13b3c6 35%,#7d65eb 65%,transparent);
    box-shadow:0 0 14px rgba(20,180,200,.32);animation:spConScan 7s linear infinite;
}
@keyframes spConScan { 0%{transform:translateY(0)} 50%{transform:translateY(418px)} 100%{transform:translateY(0)} }

/* DIRECT */
.sp-contact2-direct { padding:0;background:#fff; }
.sp-contact2-direct__grid {
    display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--con-line);border-top:0;
    border-radius:0 0 18px 18px;background:rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(37,75,103,.045);
}
.sp-contact2-direct__grid > * {
    min-height:90px;padding:16px 20px;border-left:1px solid var(--con-line);color:var(--con-ink);
}
.sp-contact2-direct__grid > *:first-child { border-left:0; }
.sp-contact2-direct span { color:#088ca2;font-size:7.5px;font-weight:900;letter-spacing:.1em; }
.sp-contact2-direct strong { display:block;margin-top:5px;font-size:15px; }
.sp-contact2-direct small { display:block;margin-top:3px;color:#788c9b;font-size:8px; }

/* HEAD */
.sp-contact2-section-head {
    display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:55px;align-items:end;margin-bottom:22px;
}
.sp-contact2-section-head h2 {
    max-width:790px;margin:0;color:var(--con-ink);font-size:clamp(34px,3vw,49px);line-height:1.02;letter-spacing:-.045em;
}
.sp-contact2-section-head > p { margin:0;color:#6d8395;font-size:11px;line-height:1.65; }

/* PLACE */
.sp-contact2-place { padding:54px 0;background:linear-gradient(180deg,#f8fbfe,#fff); }
.sp-contact2-place__panel {
    overflow:hidden;display:grid;grid-template-columns:.82fr 1.18fr;min-height:360px;
    border:1px solid var(--con-line);border-radius:20px;background:#fff;
    box-shadow:0 16px 40px rgba(36,76,107,.07);
}
.sp-contact2-place__info {
    position:relative;padding:30px;background:
        radial-gradient(circle at 10% 15%,rgba(25,180,198,.08),transparent 26%),
        linear-gradient(145deg,#f4fbfd,#faf9ff);
}
.sp-contact2-place__eyebrow { color:#098da3;font-size:8px;font-weight:900;letter-spacing:.11em; }
.sp-contact2-place__info h3 { margin:15px 0 5px;font-size:32px;letter-spacing:-.04em; }
.sp-contact2-place__info > p { margin:0;color:#637b8d;font-size:12px; }
.sp-contact2-place__chips { display:flex;gap:7px;flex-wrap:wrap;margin-top:22px; }
.sp-contact2-place__chips span {
    padding:6px 8px;border:1px solid #d5e4e9;border-radius:999px;background:rgba(255,255,255,.76);
    color:#647b8d;font-size:8px;font-weight:800;
}
.sp-contact2-place__actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:25px; }
.sp-contact2-place__map {
    position:relative;
    min-height:360px;
    overflow:hidden;
    background:
        radial-gradient(circle at 72% 24%,rgba(117,85,242,.13),transparent 23%),
        radial-gradient(circle at 26% 78%,rgba(11,182,200,.12),transparent 22%),
        linear-gradient(145deg,#edf8fb 0%,#edf5ff 56%,#f7efff 100%);
}
.sp-contact2-place__map--static::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.42;
    background-image:
        linear-gradient(rgba(40,92,126,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(40,92,126,.06) 1px,transparent 1px);
    background-size:36px 36px;
    pointer-events:none;
}
.sp-contact2-map-art {
    position:absolute;
    inset:0;
    pointer-events:none;
}
.sp-contact2-map-art__road {
    position:absolute;
    display:block;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(29,119,174,.08),rgba(29,119,174,.38),rgba(88,92,214,.22));
    box-shadow:0 0 0 1px rgba(255,255,255,.35);
    transform-origin:left center;
}
.sp-contact2-map-art__road--a { width:62%;left:-5%;top:31%;transform:rotate(18deg); }
.sp-contact2-map-art__road--b { width:70%;left:22%;top:63%;transform:rotate(-13deg); }
.sp-contact2-map-art__road--c { width:46%;left:36%;top:15%;transform:rotate(63deg); }
.sp-contact2-map-art__road--d { width:52%;left:8%;top:78%;transform:rotate(-34deg); }
.sp-contact2-map-art__district {
    position:absolute;
    display:block;
    border:1px solid rgba(39,115,158,.10);
    border-radius:28px;
    background:rgba(255,255,255,.18);
}
.sp-contact2-map-art__district--a { width:210px;height:120px;right:7%;top:12%;transform:rotate(-8deg); }
.sp-contact2-map-art__district--b { width:175px;height:98px;left:7%;bottom:12%;transform:rotate(9deg); }

.sp-contact2-map-pin {
    position:absolute;
    left:50%;
    top:48%;
    z-index:2;
    min-width:190px;
    padding:16px 17px 15px 52px;
    transform:translate(-50%,-50%);
    border:1px solid rgba(255,255,255,.86);
    border-radius:16px;
    background:rgba(255,255,255,.78);
    backdrop-filter:blur(16px);
    box-shadow:0 18px 38px rgba(33,74,104,.13);
}
.sp-contact2-map-pin > span {
    position:absolute;
    left:16px;
    top:50%;
    width:25px;
    height:25px;
    transform:translateY(-52%) rotate(45deg);
    border-radius:50% 50% 50% 7px;
    background:linear-gradient(135deg,#0bb5c4,#2186e8 62%,#8a50ef);
    box-shadow:0 8px 18px rgba(32,116,192,.24);
}
.sp-contact2-map-pin > span::after {
    content:"";
    position:absolute;
    width:7px;
    height:7px;
    left:9px;
    top:9px;
    border-radius:50%;
    background:#fff;
}
.sp-contact2-map-pin small {
    display:block;
    color:#078da3;
    font-size:7px;
    font-weight:900;
    letter-spacing:.11em;
}
.sp-contact2-map-pin strong {
    display:block;
    margin-top:3px;
    color:#12344c;
    font-size:14px;
    line-height:1.1;
}
.sp-contact2-map-pin em {
    display:block;
    margin-top:3px;
    color:#6a8192;
    font-size:9px;
    font-style:normal;
}
.sp-contact2-place__map-glass {
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.86);
    border-radius:13px;
    background:rgba(255,255,255,.76);
    backdrop-filter:blur(14px);
    box-shadow:0 10px 24px rgba(30,67,95,.11);
}
.sp-contact2-place__map-glass small {
    display:block;
    color:#078da3;
    font-size:7px;
    font-weight:900;
    letter-spacing:.1em;
}
.sp-contact2-place__map-glass strong {
    display:block;
    margin-top:2px;
    color:#17374e;
    font-size:11px;
}
.sp-contact2-place__map-glass a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 11px;
    border:1px solid rgba(55,123,170,.18);
    border-radius:9px;
    background:#fff;
    color:#126fae;
    font-size:8px;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 7px 16px rgba(34,78,108,.06);
}
.sp-contact2-place__map-glass a:hover {
    border-color:rgba(62,108,214,.30);
    color:#7c4fe0;
}

/* FORM */
.sp-contact2-form-section { padding:52px 0;background:#fff; }
.sp-contact2-form-section__grid { display:grid;grid-template-columns:.78fr 1.22fr;gap:38px;align-items:start; }
.sp-contact2-form-section__intro { position:sticky;top:110px; }
.sp-contact2-form-section__intro h2 {
    max-width:560px;margin:0 0 12px;font-size:clamp(34px,3vw,48px);line-height:1.02;letter-spacing:-.043em;
}
.sp-contact2-form-section__intro > p { max-width:580px;margin:0;color:#687f91;font-size:11px;line-height:1.68; }
.sp-contact2-form-section__tip {
    display:grid;grid-template-columns:42px 1fr;gap:12px;margin-top:22px;padding:16px;
    border:1px solid var(--con-line);border-radius:15px;background:linear-gradient(145deg,#f0faff,#fff);
}
.sp-contact2-form-section__tip > span {
    width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #cfe3e9;
    color:#0b91a8;font-size:11px;font-weight:900;
}
.sp-contact2-form-section__tip strong { display:block;font-size:11px; }
.sp-contact2-form-section__tip p { margin:4px 0 0;color:#6e8393;font-size:8.5px;line-height:1.5; }
.sp-contact2-form-section__tip a { display:inline-block;margin-top:8px;color:#1473cf;font-size:8.5px;font-weight:900; }

.sp-contact2-form-panel {
    overflow:hidden;border:1px solid var(--con-line);border-radius:20px;background:
        radial-gradient(circle at 88% 5%,rgba(126,85,239,.07),transparent 23%),
        rgba(255,255,255,.9);
    box-shadow:0 17px 42px rgba(36,76,107,.075);
}
.sp-contact2-form-panel__head {
    min-height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--con-line);
    background:rgba(247,251,253,.75);
}
.sp-contact2-form-panel__head > div { display:flex;align-items:center;gap:9px; }
.sp-contact2-form-panel__head strong { font-size:10px; }
.sp-contact2-form-panel__head small { color:#8798a4;font-size:7px;font-weight:900;letter-spacing:.1em; }

.sp-contact2-form { padding:20px; }
.sp-contact2-form__grid { display:grid;grid-template-columns:1fr 1fr;gap:13px; }
.sp-contact2-field--full { grid-column:1/-1; }
.sp-contact2-field label {
    display:block;margin:0 0 6px;color:#29475d;font-size:8.5px;font-weight:900;
}
.sp-contact2-field label > span { color:#a247d8; }
.sp-contact2-field input,
.sp-contact2-field select,
.sp-contact2-field textarea {
    width:100%;margin:0!important;padding:11px 12px!important;border:1px solid #cfdee6!important;border-radius:11px!important;
    background:rgba(255,255,255,.92)!important;color:#17374e!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
    font-size:10px!important;line-height:1.35!important;
}
.sp-contact2-field input,
.sp-contact2-field select { min-height:43px!important; }
.sp-contact2-field textarea { min-height:105px!important;resize:vertical; }
.sp-contact2-field input:focus,
.sp-contact2-field select:focus,
.sp-contact2-field textarea:focus {
    border-color:#65b7df!important;outline:0!important;box-shadow:0 0 0 3px rgba(53,153,217,.09)!important;
}
.sp-contact2-consent label {
    display:flex;gap:9px;align-items:flex-start;margin:2px 0 0;font-weight:500;color:#647c8e;font-size:8.3px;line-height:1.45;
}
.sp-contact2-consent input { width:15px!important;height:15px!important;min-height:0!important;margin-top:2px!important;padding:0!important;flex:0 0 auto; }
.sp-contact2-consent a { color:#1473cf;text-decoration:underline; }
.sp-contact2-form__foot {
    display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:15px;padding-top:14px;border-top:1px solid var(--con-line);
}
.sp-contact2-form__foot small { color:#7b8e9c;font-size:8px; }

/* messages */
.sp-contact2-form-panel .sp-form-message { margin:16px 20px 0; }

/* REGISTRY */
.sp-contact2-registry {
    position:relative;padding:36px 0;background:linear-gradient(90deg,#eef9fc,#f6f8ff 60%,#fff8fc);
    border-top:1px solid rgba(73,116,149,.11);border-bottom:1px solid rgba(73,116,149,.11);
}
.sp-contact2-registry::before {
    content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#0ab6c8,#147fe1,#a83ddb);
}
.sp-contact2-registry__panel { display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center; }
.sp-contact2-registry h2 { margin:0 0 5px;font-size:28px;letter-spacing:-.035em; }
.sp-contact2-registry p:last-child { margin:0;color:#647b8d;font-size:10px; }
.sp-contact2-registry dl { display:grid;grid-template-columns:repeat(3,120px);gap:8px;margin:0; }
.sp-contact2-registry dl div {
    padding:10px 12px;border:1px solid #d8e5ea;border-radius:10px;background:rgba(255,255,255,.75);
}
.sp-contact2-registry dt { color:#8798a4;font-size:7px;font-weight:900; }
.sp-contact2-registry dd { margin:3px 0 0;color:#17374e;font-size:9px;font-weight:900; }

/* RESPONSIVE */
@media(max-width:1150px){
    .sp-contact2-hero__grid { grid-template-columns:1fr; }
    .sp-contact2-form-section__grid { grid-template-columns:1fr; }
    .sp-contact2-form-section__intro { position:static; }
}
@media(max-width:900px){
    .sp-contact2-direct__grid { grid-template-columns:1fr 1fr; }
    .sp-contact2-direct__grid > *:nth-child(3) { border-left:0;border-top:1px solid var(--con-line); }
    .sp-contact2-direct__grid > *:nth-child(4) { border-top:1px solid var(--con-line); }
    .sp-contact2-section-head { grid-template-columns:1fr;gap:12px; }
    .sp-contact2-place__panel { grid-template-columns:1fr; }
    .sp-contact2-place__map { min-height:310px; }
    .sp-contact2-registry__panel { grid-template-columns:1fr; }
}
@media(max-width:650px){
    .sp-contact2-hero { padding-top:40px; }
    .sp-contact2-hero h1 { font-size:clamp(42px,12vw,58px);line-height:1.02;letter-spacing:-.046em; }
    .sp-contact2-hero__actions { flex-direction:column;align-items:stretch; }
    .sp-contact2-hero__actions .spv2g-btn { width:100%; }

    .sp-contact2-console { min-height:0; }
    .sp-contact2-console__routes { grid-template-columns:1fr; }
    .sp-contact2-console__routes a { border-left:0; }
    .sp-contact2-console__scan { display:none; }

    .sp-contact2-direct__grid { grid-template-columns:1fr; }
    .sp-contact2-direct__grid > * { border-left:0!important;border-top:1px solid var(--con-line); }
    .sp-contact2-direct__grid > *:first-child { border-top:0; }

    .sp-contact2-place__info { padding:22px 18px; }
    .sp-contact2-place__actions { flex-direction:column;align-items:stretch; }
    .sp-contact2-place__actions .spv2g-btn { width:100%; }
    .sp-contact2-map-pin { min-width:178px;left:50%;top:43%; }
    .sp-contact2-place__map-glass {
        left:12px;right:12px;bottom:12px;
        align-items:stretch;flex-direction:column;gap:9px;
    }
    .sp-contact2-place__map-glass a { width:100%; }

    .sp-contact2-form__grid { grid-template-columns:1fr; }
    .sp-contact2-field,
    .sp-contact2-field--full { grid-column:1/-1; }
    .sp-contact2-form { padding:17px; }
    .sp-contact2-form__foot { align-items:stretch;flex-direction:column; }
    .sp-contact2-form__foot .spv2g-btn { width:100%; }

    .sp-contact2-registry dl { grid-template-columns:1fr; }
}


/* v41.5 — kontakt mobile polish */
@media(max-width:650px){
    .sp-contact2-place__map {
        min-height:285px;
    }
    .sp-contact2-map-pin {
        min-width:165px;
        padding:14px 14px 13px 46px;
    }
    .sp-contact2-map-pin > span {
        left:14px;
        width:23px;
        height:23px;
    }
}
