/* =============================================================================
   Tripinvest ES — warstwa edytorska strony głównej (PL / EN / ES).
   Ładowana przez pl|en|es/index.php; sekcje renderuje includes/home-sections.php.
   Świadomie poza Tailwindem: cienkie linie, wersaliki z rozstrzeloną spacją,
   lekkie kroje w dużych stopniach, asymetryczne siatki.
   Przy zmianach podbij ?v= w <link> na wszystkich trzech stronach.
   ============================================================================= */
/* ==========================================================================
   Strona główna PL — warstwa edytorska (poza Tailwindem).
   Zamiast kafelków z ikonami: cienkie linie, wersaliki z rozstrzeloną spacją,
   lekkie kroje w dużych stopniach i asymetryczne siatki.
   Prefiks .ti- , żeby nie kolidowało z niczym w tailwind.css / style.css.
   ========================================================================== */
:root {
    --ti-ink:      #0b1c36;
    --ti-ink-2:    #445a74;
    --ti-ink-3:    #8a9bb0;
    --ti-bone:     #f5f3ef;
    --ti-line:     rgba(11,28,54,.13);
    --ti-line-dk:  rgba(255,255,255,.14);
    --ti-brass:    #b8942e;
    --ti-gold:     #f7ad0c;
    --ti-ease:     cubic-bezier(.22,.61,.36,1);
}

.ti-sec        { padding: clamp(4.5rem, 8vw, 8rem) 0; background:#fff; color:var(--ti-ink); }
.ti-sec--bone  { background: var(--ti-bone); }
.ti-sec--dark  { background:#08172c; color:#fff; }
.ti-sec--tight { padding: clamp(3rem, 5vw, 5rem) 0; }
.ti-wrap       { max-width: 1240px; margin:0 auto; padding: 0 clamp(1.15rem, 4vw, 2.25rem); }
.ti-wrap--slim { max-width: 980px; }

/* ---- typografia ---- */
.ti-eyebrow {
    display:flex; align-items:center; gap:.85rem;
    font-size:.6875rem; letter-spacing:.28em; text-transform:uppercase;
    color:var(--ti-brass); font-weight:600; margin:0 0 1.4rem;
}
.ti-eyebrow b { font-weight:400; color:var(--ti-ink-3); font-variant-numeric:tabular-nums; }
.ti-eyebrow::after { content:""; flex:0 0 3.5rem; height:1px; background:currentColor; opacity:.45; }
.ti-sec--dark .ti-eyebrow        { color:var(--ti-gold); }
.ti-sec--dark .ti-eyebrow b      { color:rgba(255,255,255,.45); }

.ti-title {
    font-size: clamp(2rem, 1.1rem + 2.9vw, 3.45rem);
    font-weight:300; line-height:1.12; letter-spacing:-.022em;
    margin:0 0 1.5rem; max-width:16ch;
}
.ti-title--wide { max-width:22ch; }
.ti-title em    { font-style:normal; font-weight:500; }
.ti-title u     { text-decoration:none; box-shadow: inset 0 -2px 0 var(--ti-gold); padding-bottom:.06em; white-space:nowrap; }

.ti-lead  { font-size:clamp(1rem,.95rem + .25vw,1.125rem); line-height:1.72; color:var(--ti-ink-2); max-width:48ch; margin:0 0 1.15rem; font-weight:400; }
.ti-body  { font-size:.9375rem; line-height:1.78; color:var(--ti-ink-2); max-width:52ch; margin:0 0 1rem; }
.ti-sec--dark .ti-lead, .ti-sec--dark .ti-body { color:rgba(255,255,255,.72); }

/* ---- odnośniki i przyciski ---- */
.ti-link {
    display:inline-flex; align-items:center; gap:.7rem;
    font-size:.6875rem; letter-spacing:.22em; text-transform:uppercase; font-weight:600;
    color:var(--ti-ink); text-decoration:none; padding-bottom:.5rem; position:relative;
}
.ti-link::before { content:""; position:absolute; left:0; bottom:0; height:1px; width:100%; background:var(--ti-line); }
.ti-link::after  { content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--ti-brass); transition:width .5s var(--ti-ease); }
.ti-link:hover::after { width:100%; }
.ti-link i { font-size:.75rem; color:var(--ti-brass); transition:transform .4s var(--ti-ease); }
.ti-link:hover i { transform:translateX(4px); }
.ti-sec--dark .ti-link { color:#fff; }
.ti-sec--dark .ti-link::before { background:var(--ti-line-dk); }
.ti-sec--dark .ti-link::after,
.ti-sec--dark .ti-link i { background:var(--ti-gold); }
.ti-sec--dark .ti-link i { background:none; color:var(--ti-gold); }

.ti-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:.75rem;
    padding:1.05rem 2.1rem; border-radius:2px; border:1px solid var(--ti-gold);
    background:var(--ti-gold); color:#0b1c36; text-decoration:none;
    font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
    transition:background .35s var(--ti-ease), color .35s var(--ti-ease), transform .35s var(--ti-ease);
}
.ti-btn:hover { background:transparent; color:var(--ti-gold); }
.ti-btn--ghost { background:transparent; border-color:var(--ti-line); color:var(--ti-ink); }
.ti-btn--ghost:hover { border-color:var(--ti-ink); background:var(--ti-ink); color:#fff; }
.ti-sec--dark .ti-btn--ghost { border-color:var(--ti-line-dk); color:#fff; }
.ti-sec--dark .ti-btn--ghost:hover { background:#fff; color:var(--ti-ink); border-color:#fff; }

/* ---- sekcja 01: manifest ---- */
.ti-split { display:grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap:clamp(2.5rem,6vw,5rem); align-items:center; }
.ti-facts { margin:2.6rem 0 2.2rem; }
.ti-facts > div { display:grid; grid-template-columns: 8.5rem 1fr; gap:1.25rem; padding:1.05rem 0; border-top:1px solid var(--ti-line); }
.ti-facts > div:last-child { border-bottom:1px solid var(--ti-line); }
.ti-facts dt { font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ti-ink-3); padding-top:.2rem; }
.ti-facts dd { margin:0; font-size:.9375rem; line-height:1.6; color:var(--ti-ink); }
.ti-facts dd span { display:block; font-size:.8125rem; color:var(--ti-ink-2); margin-top:.15rem; }

.ti-collage { margin:0; position:relative; }
.ti-collage__main { width:100%; height:clamp(20rem,34vw,29rem); object-fit:cover; border-radius:2px; display:block; }
.ti-collage__sub  { position:absolute; right:-1.5rem; bottom:-2.75rem; width:13.5rem; height:10.5rem; object-fit:cover;
                    border-radius:2px; border:6px solid #fff; box-shadow:0 24px 50px -28px rgba(11,28,54,.55); }
.ti-collage__plate { position:absolute; left:0; bottom:-2.75rem; background:#08172c; color:#fff; padding:1.15rem 1.5rem; border-radius:2px; }
.ti-collage__plate strong { display:block; font-size:1.05rem; font-weight:500; letter-spacing:.06em; }
.ti-collage__plate span { display:block; font-size:.625rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ti-gold); margin-top:.3rem; }

/* ---- inwestycja sygnowana ---- */
.ti-feature { position:relative; display:grid; grid-template-columns: 1.05fr .95fr; background:#08172c; border-radius:2px; overflow:hidden; text-decoration:none; }
.ti-feature__media { position:relative; overflow:hidden; min-height:clamp(17rem,30vw,28rem); }
.ti-feature__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ti-ease); }
.ti-feature:hover .ti-feature__media img { transform:scale(1.05); }
.ti-feature__body { padding:clamp(2rem,4vw,3.5rem); color:#fff; display:flex; flex-direction:column; justify-content:center; }
.ti-feature__name { font-size:clamp(2rem,1.3rem + 1.9vw,2.9rem); font-weight:300; letter-spacing:-.02em; line-height:1.1; margin:0 0 .35rem; }
.ti-feature__price { font-size:1.0625rem; color:var(--ti-gold); font-weight:500; letter-spacing:.01em; margin:0 0 1.6rem; }
.ti-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ti-line-dk); margin-bottom:1.8rem; }
.ti-specs div { padding:.9rem 0; border-bottom:1px solid var(--ti-line-dk); }
.ti-specs div:nth-child(odd) { padding-right:1.25rem; }
.ti-specs div:nth-child(even) { padding-left:1.25rem; border-left:1px solid var(--ti-line-dk); }
.ti-specs dt { font-size:.625rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:.3rem; }
.ti-specs dd { margin:0; font-size:.9375rem; color:#fff; font-weight:400; }

/* ---- karty ofert ---- */
.ti-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,2.6vw,2.25rem); }
.ti-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ti-prop { position:relative; background:#fff; border:1px solid var(--ti-line); border-radius:2px; overflow:hidden; display:flex; flex-direction:column; transition:border-color .4s var(--ti-ease), box-shadow .5s var(--ti-ease); }
.ti-prop:hover { border-color:rgba(11,28,54,.3); box-shadow:0 30px 60px -40px rgba(11,28,54,.5); }
.ti-prop__media { position:relative; aspect-ratio:4/3; overflow:hidden; background:#e8e4dd; }
.ti-prop__media img { width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ti-ease); }
.ti-prop:hover .ti-prop__media img { transform:scale(1.045); }
.ti-tag { position:absolute; top:1rem; left:1rem; background:rgba(255,255,255,.94); color:var(--ti-ink);
          font-size:.625rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; padding:.45rem .8rem; border-radius:2px; }
.ti-fav { position:absolute; top:.8rem; right:.8rem; width:2.5rem; height:2.5rem; display:flex; align-items:center; justify-content:center;
          background:rgba(255,255,255,.92); border:0; border-radius:999px; color:var(--ti-ink-2); cursor:pointer; transition:color .3s, background .3s; }
.ti-fav:hover { color:#d64545; background:#fff; }
.ti-fav i { font-size:.95rem !important; }
.ti-prop__body { padding:1.5rem 1.5rem 1.35rem; display:flex; flex-direction:column; flex:1; }
.ti-prop__place { font-size:.625rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ti-ink-3); margin:0 0 .6rem; }
.ti-prop__title { font-size:1rem; font-weight:500; line-height:1.45; margin:0 0 1rem; color:var(--ti-ink);
                  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
                  min-height:2.9em; /* dwie linie — ceny w rzędzie kart trzymają jedną linię bazową */ }
.ti-prop__price { font-size:1.375rem; font-weight:300; letter-spacing:-.01em; margin:0 0 1.1rem; color:var(--ti-ink); font-variant-numeric:tabular-nums; }
.ti-prop__specs { display:flex; gap:1.5rem; padding:.9rem 0; border-top:1px solid var(--ti-line); font-size:.8125rem; color:var(--ti-ink-2); font-variant-numeric:tabular-nums; }
.ti-prop__foot { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:.9rem; border-top:1px solid var(--ti-line); }
.ti-prop__id { font-size:.625rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ti-ink-3); }
.ti-prop__go { font-size:.6875rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--ti-ink); text-decoration:none; display:inline-flex; gap:.55rem; align-items:center; }
.ti-prop__go i { font-size:.7rem; color:var(--ti-brass); transition:transform .4s var(--ti-ease); }
.ti-prop:hover .ti-prop__go i { transform:translateX(4px); }
.ti-prop__link { position:absolute; inset:0; z-index:1; }
.ti-prop .ti-fav, .ti-prop__go { position:relative; z-index:2; }

/* warianty na ciemnym tle */
.ti-sec--dark .ti-prop { background:rgba(255,255,255,.035); border-color:var(--ti-line-dk); }
.ti-sec--dark .ti-prop:hover { border-color:rgba(255,255,255,.32); box-shadow:none; }
.ti-sec--dark .ti-prop__title, .ti-sec--dark .ti-prop__price { color:#fff; }
.ti-sec--dark .ti-prop__place, .ti-sec--dark .ti-prop__id { color:rgba(255,255,255,.5); }
.ti-sec--dark .ti-prop__specs { color:rgba(255,255,255,.72); border-top-color:var(--ti-line-dk); }
.ti-sec--dark .ti-prop__foot { border-top-color:var(--ti-line-dk); }
.ti-sec--dark .ti-prop__go { color:#fff; }
.ti-sec--dark .ti-prop__go i { color:var(--ti-gold); }

/* pierwsza karta w sekcji „widok na morze" — szeroka */
.ti-grid--sea { grid-template-columns: 1.35fr 1fr 1fr; }
.ti-grid--sea .ti-prop__media { aspect-ratio:auto; height:clamp(13rem,17vw,16rem); }

/* ---- nagłówek sekcji z prawą kolumną ---- */
.ti-head { display:grid; grid-template-columns: 1fr auto; gap:2rem; align-items:end; margin-bottom:clamp(2.25rem,4vw,3.5rem); }
.ti-head .ti-title { margin-bottom:0; }

/* ---- proces ---- */
.ti-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--ti-line-dk); }
.ti-steps > div { padding:2.2rem 1.75rem 0 0; }
.ti-steps > div + div { border-left:1px solid var(--ti-line-dk); padding-left:1.75rem; }
.ti-steps b { display:block; font-size:2.25rem; font-weight:200; color:var(--ti-gold); line-height:1; margin-bottom:1.1rem; font-variant-numeric:tabular-nums; }
.ti-steps h3 { font-size:1.0625rem; font-weight:500; margin:0 0 .6rem; color:#fff; }
.ti-steps p { font-size:.875rem; line-height:1.75; color:rgba(255,255,255,.66); margin:0; }

/* ---- zakres opieki ---- */
.ti-svc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(2rem,4vw,4rem); }
.ti-svc article { padding:1.6rem 0; border-top:1px solid var(--ti-line); display:grid; grid-template-columns:2.75rem 1fr; gap:.5rem; }
.ti-svc b { font-size:.6875rem; letter-spacing:.16em; color:var(--ti-brass); font-weight:600; padding-top:.35rem; font-variant-numeric:tabular-nums; }
.ti-svc h3 { font-size:1.0625rem; font-weight:500; margin:0 0 .45rem; letter-spacing:-.005em; }
.ti-svc p  { font-size:.875rem; line-height:1.72; color:var(--ti-ink-2); margin:0; }

/* ---- opinie ---- */
.ti-quotes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.ti-quotes figure { margin:0; padding:0 clamp(1.5rem,2.5vw,2.5rem); border-left:1px solid var(--ti-line); }
.ti-quotes figure:first-child { padding-left:0; border-left:0; }
.ti-quotes figure:last-child { padding-right:0; }
.ti-quotes blockquote { margin:0 0 1.75rem; font-size:1.0625rem; line-height:1.8; font-weight:300; color:var(--ti-ink); }
.ti-quotes blockquote::before { content:"“"; display:block; font-size:3.25rem; line-height:.6; color:var(--ti-gold); margin-bottom:1.1rem; }
.ti-quotes figcaption { font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ti-ink-3); }
.ti-quotes figcaption strong { display:block; color:var(--ti-ink); letter-spacing:.16em; margin-bottom:.3rem; }
.ti-stars { color:var(--ti-gold); font-size:.75rem; letter-spacing:.28em; margin-bottom:1.25rem; }

/* ---- licencja / dokumenty ---- */
.ti-docs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.ti-docs a { display:block; border:1px solid var(--ti-line); background:#fff; padding:1rem; border-radius:2px; transition:border-color .4s var(--ti-ease); }
.ti-docs a:hover { border-color:var(--ti-brass); }
.ti-docs img { width:100%; height:16rem; object-fit:contain; display:block; }
.ti-docs figcaption { font-size:.625rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ti-ink-3); margin-top:.9rem; text-align:center; }

/* ---- miasta ---- */
.ti-tabs { display:inline-flex; gap:.35rem; border:1px solid var(--ti-line); border-radius:2px; padding:.3rem; background:#fff; margin-bottom:clamp(2rem,3.5vw,3rem); }
.ti-tab { border:0; background:transparent; cursor:pointer; padding:.75rem 1.6rem; border-radius:2px;
          font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--ti-ink-2); transition:all .3s var(--ti-ease); font-family:inherit; }
.ti-tab:hover { color:var(--ti-ink); }
.ti-city { position:relative; display:block; height:clamp(17rem,24vw,21rem); border-radius:2px; overflow:hidden; text-decoration:none; }
.ti-city img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ti-ease); }
.ti-city:hover img { transform:scale(1.06); }
.ti-city::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(4,12,24,.92) 0%, rgba(4,12,24,.35) 45%, rgba(4,12,24,.05) 100%); }
.ti-city__body { position:absolute; left:0; right:0; bottom:0; padding:1.6rem 1.5rem; z-index:2; color:#fff; }
.ti-city__body h4 { font-size:1.5rem; font-weight:400; letter-spacing:.01em; margin:0 0 .45rem; }
.ti-city__body p { font-size:.8125rem; line-height:1.6; color:rgba(255,255,255,.78); margin:0; max-width:26ch; }
.ti-city__rule { display:block; width:2rem; height:1px; background:var(--ti-gold); margin-bottom:1rem; transition:width .55s var(--ti-ease); }
.ti-city:hover .ti-city__rule { width:4.5rem; }
.ti-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.ti-chip { display:inline-flex; align-items:baseline; gap:.5rem; padding:.55rem .95rem; border:1px solid var(--ti-line);
           background:#fff; border-radius:2px; font-size:.8125rem; color:var(--ti-ink-2); text-decoration:none; transition:all .3s var(--ti-ease); }
.ti-chip:hover { border-color:var(--ti-ink); color:var(--ti-ink); }
.ti-chip span { font-size:.6875rem; color:var(--ti-ink-3); font-variant-numeric:tabular-nums; }
.ti-subhead { font-size:.6875rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ti-ink-3); margin:0 0 1.25rem; }

/* ---- poradniki ---- */
.ti-reads { border-top:1px solid var(--ti-line); }
.ti-reads a { display:grid; grid-template-columns:3.5rem 1fr auto; gap:1.5rem; align-items:center; padding:1.6rem 0;
              border-bottom:1px solid var(--ti-line); text-decoration:none; color:var(--ti-ink); transition:padding .4s var(--ti-ease); }
.ti-reads a:hover { padding-left:.75rem; }
.ti-reads b { font-size:.6875rem; letter-spacing:.16em; color:var(--ti-brass); font-weight:600; font-variant-numeric:tabular-nums; }
.ti-reads h3 { font-size:clamp(1.05rem,.95rem + .35vw,1.3rem); font-weight:400; margin:0; letter-spacing:-.01em; }
.ti-reads p { font-size:.8125rem; color:var(--ti-ink-2); margin:.35rem 0 0; }
.ti-reads i { color:var(--ti-ink-3); font-size:.8rem; transition:transform .4s var(--ti-ease), color .4s; }
.ti-reads a:hover i { transform:translateX(5px); color:var(--ti-brass); }

/* ---- kontakt ---- */
.ti-contact { display:grid; grid-template-columns: .85fr 1.15fr; }
.ti-contact__side { background:#08172c; color:#fff; padding:clamp(2.25rem,4vw,3.5rem); }
.ti-contact__side .ti-title { color:#fff; font-size:clamp(1.8rem,1.2rem + 1.6vw,2.6rem); }
.ti-offices { margin-top:2.25rem; }
.ti-offices > div { padding:1.35rem 0; border-top:1px solid var(--ti-line-dk); }
.ti-offices > div:last-child { border-bottom:1px solid var(--ti-line-dk); }
.ti-offices h4 { font-size:.6875rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ti-gold); margin:0 0 .6rem; font-weight:600; }
.ti-offices p  { margin:0 0 .35rem; font-size:.875rem; line-height:1.6; color:rgba(255,255,255,.78); }
.ti-offices a  { color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.25); }
.ti-offices a:hover { border-color:var(--ti-gold); color:var(--ti-gold); }
.ti-faces { display:flex; align-items:center; gap:.9rem; margin-top:2.25rem; }
.ti-faces div { display:flex; }
.ti-faces img { width:2.75rem; height:2.75rem; border-radius:999px; object-fit:cover; object-position:top; border:2px solid #08172c; margin-left:-.7rem; }
.ti-faces img:first-child { margin-left:0; }
.ti-faces p { font-size:.75rem; line-height:1.5; color:rgba(255,255,255,.6); margin:0; }
.ti-faces a { color:#fff; text-decoration:underline; text-underline-offset:3px; }

.ti-form { background:#fff; padding:clamp(2.25rem,4vw,3.5rem); border:1px solid var(--ti-line); border-left:0; }
.ti-field { margin-bottom:1.75rem; }
.ti-field label { display:block; font-size:.625rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ti-ink-3); margin-bottom:.65rem; }
.ti-field input, .ti-field textarea, .ti-field select {
    width:100%; border:0; border-bottom:1px solid var(--ti-line); background:transparent; padding:.65rem 0;
    font-family:inherit; font-size:.9375rem; color:var(--ti-ink); border-radius:0; transition:border-color .35s var(--ti-ease);
}
.ti-field select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--ti-ink-3) 50%),linear-gradient(135deg,var(--ti-ink-3) 50%,transparent 50%);
                   background-position:calc(100% - 12px) 55%, calc(100% - 7px) 55%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.ti-field input:focus, .ti-field textarea:focus, .ti-field select:focus { outline:none; border-bottom-color:var(--ti-gold); }
.ti-field input::placeholder, .ti-field textarea::placeholder { color:#b9c3ce; }
.ti-field textarea { resize:vertical; min-height:6.5rem; }
.ti-field--2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; }
.ti-form__note { font-size:.75rem; color:var(--ti-ink-3); margin:1.1rem 0 0; line-height:1.6; }

/* ---- responsywność ---- */
@media (max-width:1024px) {
    .ti-split, .ti-contact, .ti-feature { grid-template-columns:1fr; }
    .ti-grid, .ti-grid--sea { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ti-grid--sea .ti-prop:first-child { grid-column:span 2; }
    .ti-grid--sea .ti-prop:first-child .ti-prop__media { height:clamp(15rem,30vw,21rem); }
    .ti-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ti-steps > div:nth-child(3) { border-left:0; padding-left:0; }
    .ti-form { border-left:1px solid var(--ti-line); border-top:0; }
    .ti-collage__sub { position:static; width:100%; height:12rem; border:0; box-shadow:none; margin-top:.75rem; }
    .ti-collage__plate { position:static; display:inline-block; margin-top:1rem; }
    .ti-feature__media { min-height:15rem; }
}
@media (max-width:768px) {
    .ti-grid, .ti-grid--sea, .ti-grid--2, .ti-quotes, .ti-svc, .ti-docs, .ti-steps, .ti-field--2 { grid-template-columns:1fr; }
    .ti-grid--sea .ti-prop:first-child { grid-column:auto; }
    .ti-steps > div, .ti-steps > div + div { border-left:0; padding:1.75rem 0 0; border-top:1px solid var(--ti-line-dk); }
    .ti-steps > div:first-child { border-top:0; padding-top:0; }
    .ti-quotes figure { padding:1.75rem 0 0; border-left:0; border-top:1px solid var(--ti-line); }
    .ti-quotes figure:first-child { padding-top:0; border-top:0; }
    .ti-head { grid-template-columns:1fr; align-items:start; }
    .ti-facts > div { grid-template-columns:1fr; gap:.35rem; }
    .ti-reads a { grid-template-columns:2.5rem 1fr; }
    .ti-reads i { display:none; }
    .ti-tabs { display:flex; width:100%; }
    .ti-tab { flex:1; padding:.75rem .5rem; letter-spacing:.12em; }
}
@media (prefers-reduced-motion: reduce) {
    .ti-prop__media img, .ti-city img, .ti-feature__media img { transition:none; }
    .ti-prop:hover .ti-prop__media img, .ti-city:hover img, .ti-feature:hover .ti-feature__media img { transform:none; }
}

/* ---- wyróżniona inwestycja: jasna sekcja, ciemna karta ---- */
.ti-feature__body .ti-eyebrow    { color:var(--ti-gold); }
.ti-feature__body .ti-eyebrow b  { color:rgba(255,255,255,.45); }
.ti-feature__body .ti-body       { color:rgba(255,255,255,.7); }
.ti-feature__body .ti-link       { color:#fff; }
.ti-feature__body .ti-link::before { background:var(--ti-line-dk); }
.ti-feature__body .ti-link::after  { background:var(--ti-gold); }
.ti-feature__body .ti-link i     { color:var(--ti-gold); }
.ti-feature:hover .ti-link::after { width:100%; }

/* Aktywna zakładka regionu — klasy .bg-gold-500/.text-navy-900 dokłada switchTab() z assets/script.js */
.ti-tab.bg-gold-500 { background:var(--ti-gold); color:#0b1c36; }
/* ==========================================================================
   Wyszukiwarka — ta sama warstwa edytorska, ale bez ruszania struktury:
   klasy .srch-* i wszystkie hooki JS (custom selecty, live search, filtry)
   zostają nietknięte. Style są scope'owane pod .ti-search, więc pozostałe
   strony korzystające z pl/assets/style.css wyglądają jak dotąd.
   ========================================================================== */
.ti-search .srch-form {
    padding:0; border-radius:2px; border:1px solid var(--ti-line);
    box-shadow:0 34px 70px -45px rgba(11,28,54,.55);
}

/* przełącznik rynku — ciemny, czytelny i na hero, i na białym tle */
.ti-search__switch { display:inline-flex; gap:.25rem; padding:.3rem; background:#0b1c36; border-radius:2px; margin-bottom:.9rem; }
.ti-search__tab {
    padding:.6rem 1.35rem; border-radius:2px; text-decoration:none; white-space:nowrap;
    font-size:.625rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
    color:rgba(255,255,255,.62); transition:color .3s var(--ti-ease), background .3s var(--ti-ease);
}
.ti-search__tab:hover { color:#fff; }
.ti-search__tab.is-active { background:var(--ti-gold); color:#0b1c36; }

/* pola: jeden pasek rozdzielony włosowymi liniami zamiast pięciu ramek */
.ti-search .srch-body { gap:0; }
.ti-search .srch-live-input,
.ti-search .srch-custom-btn {
    border:0; border-radius:0; background:transparent; box-shadow:none;
    font-family:inherit; font-size:.9375rem; color:var(--ti-ink); padding:1.3rem 1.15rem;
}
.ti-search .srch-live-input { padding-left:2.85rem; }
.ti-search .srch-live-input:focus,
.ti-search .srch-custom-btn:hover,
.ti-search .srch-custom-btn:focus { border:0; box-shadow:none; background:#faf9f6; outline:none; }
.ti-search .srch-live-icon { left:1.15rem; color:var(--ti-brass); }
.ti-search .srch-live-input::placeholder { color:#9fb0c2; }
.ti-search .srch-custom-arrow { color:var(--ti-ink-3); font-size:.65rem; }
.ti-search .srch-custom-label { color:var(--ti-ink); }

@media (min-width:1024px) {
    /* display:contents spłaszcza .srch-row/.srch-col2 do jednej siatki — bez zmian w HTML */
    .ti-search .srch-body { display:grid; grid-template-columns:1.45fr repeat(4, minmax(0,1fr)); }
    .ti-search .srch-row,
    .ti-search .srch-col2 { display:contents; }
    .ti-search .srch-body .srch-custom { border-left:1px solid var(--ti-line); }
}
/* listwa dolna: filtry zaawansowane + dostępność + szukaj */
.ti-search .srch-footer {
    margin:0; padding:.9rem 1.15rem; border-top:1px solid var(--ti-line);
    background:#fbfaf7; gap:1rem;
}
.ti-search .srch-toggle { font-size:.6875rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--ti-ink-2); }
.ti-search .srch-toggle:hover { color:var(--ti-ink); }
.ti-search .srch-toggle i { color:var(--ti-brass); }
.ti-search .srch-available span { font-size:.6875rem; letter-spacing:.14em; text-transform:uppercase; }
.ti-search .srch-available span i { color:var(--ti-brass) !important; }   /* nadpisuje inline style w HTML */
.ti-search .srch-available input { accent-color:var(--ti-gold) !important; }
.ti-search .srch-submit {
    background:var(--ti-gold); color:#0b1c36; border-radius:2px; padding:1rem 2.2rem;
    font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
    transition:background .35s var(--ti-ease), color .35s var(--ti-ease);
}
.ti-search .srch-submit:hover { background:#0b1c36; color:#fff; }
.ti-search .srch-submit--sm { padding:.8rem 1.7rem; }

/* filtry zaawansowane */
.ti-search .srch-advanced { margin:0; padding:1.4rem 1.15rem 1.6rem; border-top:1px solid var(--ti-line); }
.ti-search .srch-adv-label { font-size:.625rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ti-ink-3); font-weight:600; margin-bottom:.5rem; }
.ti-search .srch-custom-btn--sm { border:1px solid var(--ti-line); padding:.7rem .85rem; font-size:.8125rem; }
.ti-search .srch-custom-btn--sm:hover,
.ti-search .srch-custom-btn--sm:focus { border:1px solid var(--ti-ink-3); background:#fff; }
.ti-search .srch-amenities { margin-top:1.6rem; }
.ti-search .srch-amenity { font-size:.8125rem; color:var(--ti-ink-2); }
.ti-search .srch-amenity span i[class] { color:var(--ti-brass); }
.ti-search .srch-amenity input,
.ti-search .srch-radio,
.ti-search .srch-checkbox { accent-color:var(--ti-gold); }

/* rozwijane listy */
.ti-search .srch-dropdown { margin-top:2px; border-radius:2px; border-color:var(--ti-line); box-shadow:0 26px 52px -30px rgba(11,28,54,.55); }
.ti-search .srch-dropdown-search { padding:.6rem; border-bottom-color:var(--ti-line); }
.ti-search .srch-search-input { border-radius:2px; border-color:var(--ti-line); font-size:.8125rem; padding:.6rem .8rem; font-family:inherit; }
.ti-search .srch-search-input:focus { border-color:var(--ti-gold); }
.ti-search .srch-option { font-size:.875rem; padding:.7rem 1.1rem; color:var(--ti-ink-2); }
.ti-search .srch-option:hover { background:var(--ti-bone); color:var(--ti-ink); }
.ti-search .srch-empty { font-size:.75rem; color:var(--ti-ink-3); }

@media (max-width:1023px) {
    .ti-search .srch-form { padding:1rem; }
    .ti-search .srch-live-input,
    .ti-search .srch-custom-btn { border:1px solid var(--ti-line); padding:.95rem 1rem; }
    .ti-search .srch-live-input { padding-left:2.6rem; }
    .ti-search .srch-live-icon { left:.95rem; }
    .ti-search .srch-footer { margin:.9rem 0 0; padding:.9rem 0 0; background:transparent; }
    .ti-search .srch-advanced { padding:1.2rem 0 0; }
}
@media (max-width:640px) {
    .ti-search__switch { width:100%; }
    .ti-search__tab { flex:1; text-align:center; padding:.6rem .5rem; letter-spacing:.12em; }
}
/* ==========================================================================
   Hero — teksty bez zmian, ale wyszukiwarka siedzi teraz w środku sekcji,
   więc nie wystaje pół na pół na białe tło (dawne .srch-wrap{margin-top:-160px}).
   ========================================================================== */
.ti-hero {
    position:relative; display:flex; align-items:stretch; padding:0;
    min-height:100vh; min-height:100svh;
    background-color:#08172c; background-size:cover; background-position:center;
}
.ti-hero::before {   /* zamiast płaskiego wypełnienia z .slider::before */
    /* Jaśniejszy granat (navy-800) i niższe krycie — zdjęcie ma być widoczne,
       przyciemniamy tylko tyle, żeby tekst po lewej trzymał kontrast. */
    background:linear-gradient(100deg, rgba(20,48,84,.74) 0%, rgba(20,48,84,.62) 45%, rgba(20,48,84,.26) 76%, rgba(20,48,84,.08) 100%);
}
.ti-hero__inner {
    position:relative; z-index:2; width:100%; max-width:1240px; margin:0 auto;
    padding:clamp(8.5rem,15vh,11.5rem) clamp(1.15rem,4vw,2.25rem) clamp(2.5rem,6vh,4rem);
    display:flex; flex-direction:column; justify-content:center;
}
.ti-hero__copy { max-width:46rem; }
.ti-hero__eyebrow {
    display:flex; align-items:center; gap:.85rem; margin:0 0 1.5rem;
    font-size:.625rem; letter-spacing:.28em; text-transform:uppercase; font-weight:600; color:var(--ti-gold);
}
.ti-hero__eyebrow::before { content:""; width:2.5rem; height:1px; background:currentColor; opacity:.55; }
#hero-heading {
    font-size:clamp(2.15rem,1.4rem + 2.7vw,3.5rem); font-weight:300; line-height:1.16; letter-spacing:-.025em;
    color:#fff; margin:0 0 1.5rem;
    /* rezerwa na najdłuższy slogan maszyny do pisania — w em, więc skaluje się z krojem */
    min-height:2.32em;
}
.ti-hero .text-gradient-gold { background:none; padding:0; color:var(--ti-gold); font-weight:400; }
.ti-hero__lead { font-size:clamp(1rem,.95rem + .3vw,1.1875rem); line-height:1.72; color:rgba(255,255,255,.85); max-width:46ch; margin:0 0 2.3rem; }
.ti-hero__cta { display:flex; flex-wrap:wrap; gap:.85rem; }
.ti-btn--outline { background:transparent; border-color:rgba(255,255,255,.55); color:#fff; }
.ti-btn--outline:hover { background:#fff; border-color:#fff; color:var(--ti-ink); }

/* wyszukiwarka wewnątrz hero: bez ujemnego marginesu i bez podwójnego paddingu */
.ti-hero .ti-search { max-width:none; margin:clamp(2.25rem,6vh,4rem) 0 0; padding:0; }
.ti-hero .ti-search__switch { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); }

/* niskie okna (laptopy 13") — hero mieści się bez spychania paska pod krawędź */
@media (min-width:1024px) and (max-height:880px) {
    .ti-hero__inner { padding-top:8.5rem; padding-bottom:2.25rem; }
    .ti-hero__lead { margin-bottom:1.7rem; }
    .ti-hero .ti-search { margin-top:2.1rem; }
}
@media (max-width:768px) {
    .ti-hero__inner { padding-top:clamp(7.5rem,17vh,9.5rem); }
    #hero-heading { min-height:3.48em; margin-bottom:1.25rem; }
    .ti-hero__lead { margin-bottom:1.9rem; }
    .ti-hero__cta .ti-btn { flex:1 1 100%; }
}

/* =============================================================================
   LISTA OFERT — /pl/nieruchomosci
   Ta sama warstwa co strony główne, plus elementy, których nie ma na home:
   pasek narzędzi, widok listy, paginacja, plakietki na kafelkach.
   ============================================================================= */

/* nagłówek listingu (zamiast hero) */
.ti-listhead { background:#0b1c36; color:#fff; padding:clamp(8.5rem,15vh,10.5rem) 0 clamp(5.5rem,9vh,7.5rem); }
.ti-listhead .ti-title { color:#fff; margin-bottom:1.1rem; max-width:24ch; }
.ti-listhead .ti-lead  { color:rgba(255,255,255,.72); }
.ti-listhead .ti-eyebrow   { color:var(--ti-gold); }
.ti-listhead .ti-eyebrow b { color:rgba(255,255,255,.45); }
.ti-gold { color:var(--ti-gold); }

/* wyszukiwarka wsunięta w ciemny pas */
.ti-listsearch { position:relative; z-index:5; margin-top:-4.25rem; }

/* aktywne filtry i szybkie przełączanie miast */
.ti-filters { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0 0 1.25rem; }
.ti-filters__label { font-size:.625rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ti-ink-3); margin-right:.35rem; }
.ti-chip--filter { padding-right:.6rem; }
.ti-chip--filter a { color:var(--ti-ink-3); display:inline-flex; padding:.15rem; }
.ti-chip--filter a:hover { color:var(--ti-ink); }
.ti-chip.is-active { border-color:var(--ti-ink); background:var(--ti-ink); color:#fff; }
.ti-chip.is-active span { color:rgba(255,255,255,.6); }
.ti-clear { font-size:.625rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ti-brass); text-decoration:none; margin-left:.5rem; }
.ti-clear:hover { color:var(--ti-ink); }

/* pasek narzędzi: licznik + kurs + sortowanie + widok */
.ti-toolbar {
    display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; justify-content:space-between;
    margin:2.25rem 0; padding:1.05rem 0; border-top:1px solid var(--ti-line); border-bottom:1px solid var(--ti-line);
}
.ti-toolbar__count { margin:0; font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ti-ink-3); }
.ti-toolbar__count b { color:var(--ti-ink); font-weight:600; font-variant-numeric:tabular-nums; }
.ti-toolbar__right { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.ti-rate { font-size:.6875rem; color:var(--ti-ink-3); }
.ti-toolbar .srch-custom-btn {
    border:1px solid var(--ti-line); border-radius:2px; background:#fff; box-shadow:none;
    padding:.65rem 1rem; font-family:inherit; font-size:.8125rem; color:var(--ti-ink); min-width:13rem;
}
.ti-toolbar .srch-custom-btn:hover, .ti-toolbar .srch-custom-btn:focus { border-color:var(--ti-ink-3); box-shadow:none; outline:none; }
.ti-toolbar .srch-dropdown { border-radius:2px; border-color:var(--ti-line); box-shadow:0 26px 52px -30px rgba(11,28,54,.55); }
.ti-toolbar .srch-option { font-size:.8125rem; padding:.6rem 1rem; color:var(--ti-ink-2); }
.ti-toolbar .srch-option:hover { background:var(--ti-bone); color:var(--ti-ink); }
.ti-toolbar .srch-radio { accent-color:var(--ti-gold); }

/* plakietki na zdjęciu kafelka */
.ti-badges { position:absolute; top:1rem; left:1rem; z-index:2; display:flex; flex-wrap:wrap; gap:.35rem; }
.ti-badge { font-size:.625rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; padding:.4rem .7rem; border-radius:2px; }
.ti-badge--gold { background:var(--ti-gold); color:#0b1c36; }
.ti-badge--light { background:rgba(255,255,255,.94); color:var(--ti-ink); }
.ti-badge--sold { background:#b3261e; color:#fff; }

/* cena w złotówkach + udogodnienia w kafelku */
.ti-prop__pln { font-size:.75rem; color:var(--ti-ink-3); margin:-.75rem 0 1.05rem; font-variant-numeric:tabular-nums; }
.ti-amen { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:1.05rem; }
.ti-amen span { font-size:.6875rem; color:var(--ti-ink-2); border:1px solid var(--ti-line); border-radius:2px; padding:.22rem .5rem; }

/* widok listy */
.ti-rows { display:flex; flex-direction:column; gap:1.25rem; }
.ti-row {
    position:relative; display:grid; grid-template-columns:22rem 1fr; background:#fff;
    border:1px solid var(--ti-line); border-radius:2px; overflow:hidden;
    transition:border-color .4s var(--ti-ease), box-shadow .5s var(--ti-ease);
}
.ti-row:hover { border-color:rgba(11,28,54,.3); box-shadow:0 30px 60px -40px rgba(11,28,54,.5); }
.ti-row__media { position:relative; display:grid; grid-template-columns:1.5fr 1fr; gap:2px; background:#e8e4dd; min-height:15rem; }
.ti-row__media > a { position:relative; overflow:hidden; }
.ti-row__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s var(--ti-ease); }
.ti-row:hover .ti-row__media > a img { transform:scale(1.04); }
.ti-row__thumbs { display:grid; grid-template-rows:1fr 1fr; gap:2px; }
.ti-row__more { position:absolute; right:.5rem; bottom:.5rem; background:rgba(11,28,54,.85); color:#fff; font-size:.6875rem; padding:.25rem .55rem; border-radius:2px; }
.ti-row__body { padding:1.75rem; display:flex; flex-direction:column; }
.ti-row__desc { font-size:.875rem; line-height:1.7; color:var(--ti-ink-2); margin:0 0 1.25rem;
                display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ti-row__foot { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem;
                margin-top:auto; padding-top:1.1rem; border-top:1px solid var(--ti-line); }
.ti-row__title { font-size:1.25rem; font-weight:500; line-height:1.35; margin:0 0 1rem; }
.ti-row__title a { color:var(--ti-ink); text-decoration:none; }
.ti-row__title a:hover { color:var(--ti-brass); }

/* pusty wynik */
.ti-empty { text-align:center; padding:clamp(4rem,8vw,7rem) 0; }
.ti-empty h2 { font-size:clamp(1.5rem,1.2rem + 1vw,2rem); font-weight:300; margin:0 0 .75rem; }
.ti-empty p { color:var(--ti-ink-2); margin:0 0 2rem; }

/* paginacja */
.ti-pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.4rem;
            margin-top:clamp(3rem,5vw,4.5rem); padding-top:2rem; border-top:1px solid var(--ti-line); }
.ti-pager a, .ti-pager .ti-pager__cell {
    min-width:2.75rem; height:2.75rem; padding:0 .5rem; display:inline-flex; align-items:center; justify-content:center;
    border:1px solid var(--ti-line); border-radius:2px; text-decoration:none; color:var(--ti-ink-2);
    font-size:.875rem; font-variant-numeric:tabular-nums; transition:all .3s var(--ti-ease);
}
.ti-pager a:hover { border-color:var(--ti-ink); color:var(--ti-ink); }
.ti-pager .is-current { background:var(--ti-ink); border-color:var(--ti-ink); color:#fff; font-weight:600; }
.ti-pager .is-disabled { color:#c3ccd6; border-color:var(--ti-line); }
.ti-pager__step { padding:0 1.15rem !important; font-size:.6875rem !important; letter-spacing:.16em; text-transform:uppercase; font-weight:600; }
.ti-pager__dots { color:var(--ti-ink-3); padding:0 .3rem; }
.ti-pager__goto { display:flex; align-items:center; justify-content:center; gap:.6rem; width:100%;
                  margin-top:1.25rem; font-size:.75rem; color:var(--ti-ink-3); }
.ti-pager__goto form { display:flex; align-items:center; gap:.6rem; }
.ti-pager__goto input { width:3.75rem; border:1px solid var(--ti-line); border-radius:2px; padding:.5rem;
                        text-align:center; font-family:inherit; font-size:.8125rem; color:var(--ti-ink); }
.ti-pager__goto input:focus { outline:none; border-color:var(--ti-gold); }
.ti-pager__goto button { border:0; background:var(--ti-ink); color:#fff; border-radius:2px; padding:.55rem 1.1rem;
                         font-family:inherit; font-size:.6875rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; cursor:pointer; }
.ti-pager__goto button:hover { background:var(--ti-brass); }

@media (max-width:860px) {
    .ti-row { grid-template-columns:1fr; }
    .ti-row__media { min-height:13rem; }
    .ti-listsearch { margin-top:-2.75rem; }
    .ti-toolbar { flex-direction:column; align-items:stretch; }
    .ti-toolbar__right { justify-content:space-between; }
    .ti-toolbar .srch-custom-btn { min-width:0; width:100%; }
    .ti-toolbar .srch-custom { flex:1; }
}
