/* TransTrade Market */
.ttm{--blue:#0870f8;--navy:#07142f;--muted:#738198;--line:#dfe7f1;background:#f6f9fd;color:var(--navy);font-family:Poppins,Arial,sans-serif;padding:30px 0 58px;min-height:700px}
.ttm-container{width:calc(100% - 40px);max-width:1200px;margin:0 auto}.ttm-kicker{color:#0870f8;font-size:7px;font-weight:700}.ttm-kicker i{margin-right:6px}.ttm-head h1{margin:5px 0 3px;font-size:27px;line-height:1.15;letter-spacing:-.7px}.ttm-head p{margin:0;color:#77859a;font-size:8.2px}.ttm-content{padding-top:16px}
.ttm-tabs{display:flex;align-items:end}.ttm-tabs button{min-width:130px;height:40px;padding:0 15px;border:1px solid #d7e1ec;border-bottom:0;border-radius:8px 8px 0 0;background:#fff;color:#293c56;font:600 8px Poppins,Arial,sans-serif}.ttm-tabs button i{margin-right:7px}.ttm-tabs button.is-active{border-color:#7db4fa;color:#0870f8}.ttm-tabs button:disabled{opacity:.75}
.ttm-filters{padding:14px;border:1px solid #dfe7f1;border-radius:0 10px 10px 10px;background:#fff;box-shadow:0 5px 18px rgba(16,45,80,.035)}.ttm-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 12px}.ttm-filters label>span{display:block;margin-bottom:5px;font-size:6.8px;font-weight:600}.ttm-field{position:relative}.ttm-field>i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#456787;font-size:8px;z-index:1}.ttm-field input,.ttm-field select{width:100%;height:36px;box-sizing:border-box;padding:0 9px 0 29px;border:1px solid #d3dfeb;border-radius:6px;background:#fff;color:#3b4e67;font:400 7.5px Poppins,Arial,sans-serif;outline:0}.ttm-field input:focus,.ttm-field select:focus{border-color:#77aff7}.ttm-price-field{position:relative;display:grid;grid-template-columns:28px 1fr 15px 1fr;align-items:center;height:36px;border:1px solid #d3dfeb;border-radius:6px}.ttm-price-field>i{text-align:center;color:#456787}.ttm-price-field input{width:100%;height:34px;border:0;outline:0;font:400 7.5px Poppins,Arial,sans-serif}.ttm-price-field em{font-style:normal;color:#8b97a8;text-align:center}
.ttm-filter-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:11px}.ttm-verified{display:flex!important;align-items:center;gap:8px;margin:0!important}.ttm-verified>input{display:none}.ttm-switch{position:relative;width:34px;height:19px;margin:0!important;border-radius:12px;background:#d5deea;cursor:pointer}.ttm-switch:after{content:"";position:absolute;width:15px;height:15px;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.2s}.ttm-verified input:checked+.ttm-switch{background:#0870f8}.ttm-verified input:checked+.ttm-switch:after{left:17px}.ttm-verified strong,.ttm-verified small{display:block}.ttm-verified strong{font-size:6.8px}.ttm-verified small{margin-top:1px;color:#8d98a8;font-size:5.7px}.ttm-filter-actions{display:flex;align-items:center;gap:10px}.ttm-filter-actions>a{color:#0870f8!important;text-decoration:none!important;font-size:7px}.ttm-filter-actions button{width:104px;height:36px;border:0;border-radius:6px;background:#0870f8;color:#fff;font:600 7.5px Poppins,Arial,sans-serif;cursor:pointer;box-shadow:0 5px 11px rgba(8,112,248,.13)}
.ttm-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:12px;margin-top:12px}.ttm-results,.ttm-match-box,.ttm-side-cta{border:1px solid #dfe7f1;border-radius:10px;background:#fff}.ttm-results{overflow:hidden}.ttm-results-head{height:48px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf3}.ttm-results-head>strong{font-size:7.5px}.ttm-sort select{height:29px;padding:0 25px 0 8px;border:1px solid #d2ddea;border-radius:5px;background:#fff;font:400 6.5px Poppins,Arial,sans-serif}
.ttm-job{display:grid;grid-template-columns:58px minmax(150px,1.6fr) minmax(110px,1fr) 78px minmax(105px,1fr) minmax(125px,1.15fr) 105px;align-items:center;gap:8px;min-height:90px;padding:9px 10px;border-bottom:1px solid #e8edf3}.ttm-job:last-child{border-bottom:0}.ttm-job-status span{display:inline-flex;padding:4px 6px;border-radius:4px;color:#fff;font-size:5.9px;font-weight:700}.ttm-job-status .active{background:#31a14a}.ttm-job-status .new{background:#0870f8}.ttm-job-status .urgent{background:#ef791f}.ttm-job-route h2{margin:0;font-size:9.5px}.ttm-job-route h2 i{margin:0 4px;color:#657991;font-size:6px}.ttm-location-codes{display:flex;align-items:center;gap:5px;margin-top:3px;color:#738198;font-size:5.6px}.ttm-location-codes i{font-size:5px}.ttm-job-route>small{display:block;margin-top:5px;color:#65758b;font-size:5.9px}.ttm-job-route>small i{margin-right:4px}.ttm-job-type{display:flex;align-items:center;gap:7px}.ttm-job-type>i{width:27px;color:#315979;font-size:13px}.ttm-job-type strong,.ttm-job-type span{display:block}.ttm-job-type strong{font-size:6.5px}.ttm-job-type span{margin-top:2px;color:#738198;font-size:5.5px}.ttm-job-price strong,.ttm-job-price span{display:block}.ttm-job-price strong{font-size:7.2px}.ttm-job-price span{margin-top:2px;color:#8894a5;font-size:5.4px}.ttm-job-req strong,.ttm-job-req span{display:block}.ttm-job-req strong{font-size:6px}.ttm-job-req span{margin-top:2px;color:#78869a;font-size:5.4px;line-height:1.45}.ttm-job-company{display:flex;align-items:center;gap:6px}.ttm-company-avatar{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;border:1px solid #d9e3ee;border-radius:50%;background:#f5f8fc;color:#0870f8;font-size:9px;font-weight:700}.ttm-job-company strong,.ttm-job-company span{display:block}.ttm-job-company strong{font-size:6.2px;line-height:1.3}.ttm-job-company strong i{color:#0870f8}.ttm-job-company span{margin-top:2px;color:#76849a;font-size:5.4px}.ttm-job-company b{color:#f6aa00}.ttm-job-actions{display:grid;gap:5px}.ttm-job-actions a{min-height:27px;display:flex;align-items:center;justify-content:center;border:1px solid #bfd2e9;border-radius:5px;text-decoration:none!important;font-size:5.8px;font-weight:600}.ttm-job-actions a.secondary{color:#30649c!important;background:#fff}.ttm-job-actions a.primary{border-color:#0870f8;background:#0870f8;color:#fff!important}
.ttm-empty{padding:55px 20px;text-align:center}.ttm-empty>span{width:50px;height:50px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef5ff;color:#0870f8;font-size:18px}.ttm-empty h2{margin:10px 0 3px;font-size:12px}.ttm-empty p{margin:0;color:#8090a4;font-size:7px}.ttm-empty a{margin-top:11px;display:inline-flex;color:#0870f8!important;font-size:7px}.ttm-pagination{display:flex;gap:5px;justify-content:center;padding:13px;border-top:1px solid #e8edf3}.ttm-pagination a{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #d3dfeb;border-radius:5px;color:#385a7d!important;text-decoration:none!important;font-size:6.5px}.ttm-pagination a.is-active{border-color:#0870f8;background:#0870f8;color:#fff!important}
.ttm-sidebar{display:grid;gap:11px;align-content:start}.ttm-match-box{padding:13px}.ttm-side-title{display:flex;gap:8px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #e8edf3}.ttm-side-title>i{margin-top:2px;color:#0870f8}.ttm-side-title strong,.ttm-side-title span{display:block}.ttm-side-title strong{font-size:8px}.ttm-side-title span{margin-top:2px;color:#8592a4;font-size:5.9px}.ttm-matches article{padding:11px 0;border-bottom:1px solid #e8edf3}.ttm-matches article>div:first-child{display:flex;justify-content:space-between;gap:5px}.ttm-matches article>div:first-child strong{font-size:6.7px}.ttm-matches article>div:first-child b{color:#39a849;font-size:5.6px}.ttm-matches article>small{display:block;margin-top:3px;color:#7c899c;font-size:5.5px}.ttm-match-price{display:block;margin-top:4px;font-size:6.5px}.ttm-match-company{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:6px}.ttm-match-company span{font-size:5.7px}.ttm-match-company a{color:#0870f8!important;text-decoration:none!important;font-size:5.4px}.ttm-all-matches{min-height:35px;display:flex;align-items:center;justify-content:center;gap:6px;color:#0870f8!important;text-decoration:none!important;font-size:6.3px}.ttm-no-match{color:#8592a4;font-size:6.5px}.ttm-side-cta{padding:12px;display:grid;grid-template-columns:37px 1fr;gap:8px}.ttm-side-cta>span{width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eef5ff;color:#0870f8}.ttm-side-cta strong{font-size:7px}.ttm-side-cta p{margin:2px 0 0;color:#8290a3;font-size:5.7px}.ttm-side-cta>a{grid-column:1/-1;height:31px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#0870f8;color:#fff!important;text-decoration:none!important;font-size:6.3px;font-weight:600}
@media(max-width:1100px){.ttm-job{grid-template-columns:52px 1.5fr 1fr 70px 1fr 1fr}.ttm-job-actions{grid-column:6}.ttm-job-req{display:none}}
@media(max-width:900px){.ttm-filter-grid{grid-template-columns:repeat(2,1fr)}.ttm-results-layout{grid-template-columns:1fr}.ttm-sidebar{grid-template-columns:1fr 1fr}.ttm-job{grid-template-columns:54px 1.5fr 1fr 75px 1fr 100px}.ttm-job-company{display:none}}
@media(max-width:650px){.ttm-container{width:calc(100% - 24px)}.ttm-head h1{font-size:22px}.ttm-filter-grid{grid-template-columns:1fr}.ttm-filter-bottom{align-items:stretch;flex-direction:column}.ttm-filter-actions{justify-content:space-between}.ttm-sidebar{grid-template-columns:1fr}.ttm-job{grid-template-columns:1fr 1fr;gap:8px;padding:13px}.ttm-job-status{grid-column:1/-1}.ttm-job-route{grid-column:1/-1}.ttm-job-type,.ttm-job-price,.ttm-job-req,.ttm-job-company{display:flex}.ttm-job-req{flex-direction:column}.ttm-job-company{grid-column:1/-1}.ttm-job-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.ttm-results-head{height:auto;min-height:50px;gap:10px}.ttm-tabs button{min-width:0;flex:1}}


/* === 1.0.1: widok giełdy jak moduł na stronie głównej, bez sidebaru === */
.ttm-results-layout--full{
    display:block !important;
    margin-top:12px !important;
}
.ttm-results-layout--full .ttm-results{
    width:100% !important;
    max-width:none !important;
}
.ttm-results-layout--full + .ttm-sidebar,
.ttm-sidebar{
    display:none !important;
}

/* trochę większe i czytelniejsze elementy jak na wcześniejszym module głównym */
.ttm{
    padding-top:28px !important;
}
.ttm-head h1{
    font-size:31px !important;
    line-height:1.12 !important;
}
.ttm-head p{
    font-size:9.5px !important;
}
.ttm-kicker{
    font-size:7.8px !important;
}

.ttm-tabs button{
    min-width:142px !important;
    height:44px !important;
    font-size:8.6px !important;
}

.ttm-filters{
    padding:16px !important;
}
.ttm-filters label>span{
    font-size:7.3px !important;
}
.ttm-field input,
.ttm-field select{
    height:39px !important;
    font-size:8.2px !important;
}
.ttm-price-field{
    height:39px !important;
}
.ttm-price-field input{
    height:37px !important;
    font-size:8.2px !important;
}
.ttm-filter-actions button{
    width:112px !important;
    height:39px !important;
    font-size:8px !important;
}
.ttm-filter-actions>a{
    font-size:7.4px !important;
}

.ttm-results-head{
    min-height:52px !important;
}
.ttm-results-head>strong{
    font-size:8.4px !important;
}
.ttm-sort select{
    height:31px !important;
    font-size:7px !important;
}

/* pełny wiersz – układ bardziej zbliżony do wcześniejszego widoku */
.ttm-job{
    grid-template-columns:64px minmax(190px,1.7fr) minmax(135px,1.05fr) 88px minmax(145px,1.15fr) minmax(155px,1.25fr) 118px !important;
    gap:10px !important;
    min-height:102px !important;
    padding:12px 13px !important;
}
.ttm-job-status span{
    font-size:6.5px !important;
    padding:5px 7px !important;
}
.ttm-job-route h2{
    font-size:10.7px !important;
}
.ttm-location-codes{
    font-size:6.2px !important;
}
.ttm-job-route>small{
    font-size:6.4px !important;
}
.ttm-job-type strong{
    font-size:7.1px !important;
}
.ttm-job-type span{
    font-size:6px !important;
}
.ttm-job-price strong{
    font-size:8px !important;
}
.ttm-job-price span{
    font-size:5.9px !important;
}
.ttm-job-req strong{
    font-size:6.5px !important;
}
.ttm-job-req span{
    font-size:5.9px !important;
}
.ttm-company-avatar{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
}
.ttm-job-company strong{
    font-size:6.7px !important;
}
.ttm-job-company span{
    font-size:5.9px !important;
}
.ttm-job-actions a{
    min-height:30px !important;
    font-size:6.2px !important;
}

/* szerokość kontenera zgodna z resztą portalu */
.ttm-container{
    max-width:1200px !important;
}

@media(max-width:1100px){
    .ttm-job{
        grid-template-columns:58px 1.55fr 1fr 82px 1fr 112px !important;
    }
    .ttm-job-req{display:none !important;}
}
@media(max-width:900px){
    .ttm-job{
        grid-template-columns:54px 1.5fr 1fr 80px 1fr 108px !important;
    }
}
@media(max-width:650px){
    .ttm-job{
        grid-template-columns:1fr 1fr !important;
    }
    .ttm-job-route,
    .ttm-job-status,
    .ttm-job-company,
    .ttm-job-actions{
        grid-column:1/-1 !important;
    }
    .ttm-job-req{
        display:flex !important;
    }
}


/* === 1.0.2: poprawne logotypy firm + wszystkie statusy zleceń === */
.ttm-company-logo{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border:1px solid #d9e3ee!important;
    border-radius:50%!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
.ttm-company-logo.has-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    padding:3px!important;
    box-sizing:border-box!important;
}
.ttm-company-logo--brand{
    background:var(--logo-bg)!important;
    color:var(--logo-fg)!important;
    border-color:color-mix(in srgb, var(--logo-fg) 18%, #d9e3ee)!important;
}
.ttm-company-logo--brand svg{
    width:28px!important;
    height:28px!important;
    display:block!important;
}
.ttm-job-company{
    min-width:0!important;
}
.ttm-job-company>div{
    min-width:0!important;
}
.ttm-job-company strong{
    white-space:normal!important;
    line-height:1.25!important;
}

/* Nie używamy już pustych inicjałów jako "logo". */
.ttm-company-avatar{
    display:none!important;
}


/* === 1.0.3: większa typografia całej giełdy === */

/* Nagłówek sekcji */
.ttm-kicker{
    font-size:11px !important;
}
.ttm-head h1{
    font-size:38px !important;
    line-height:1.08 !important;
}
.ttm-head p{
    font-size:13px !important;
    line-height:1.55 !important;
}

/* Zakładki */
.ttm-tabs button{
    min-width:155px !important;
    height:46px !important;
    font-size:12px !important;
}

/* Filtry */
.ttm-filters{
    padding:18px !important;
    gap:14px !important;
}
.ttm-filters label>span{
    margin-bottom:7px !important;
    font-size:11px !important;
}
.ttm-field i{
    font-size:13px !important;
}
.ttm-field input,
.ttm-field select{
    height:45px !important;
    font-size:12px !important;
}
.ttm-price-field{
    height:45px !important;
}
.ttm-price-field input{
    height:43px !important;
    font-size:12px !important;
}
.ttm-verified strong{
    font-size:11px !important;
}
.ttm-verified small{
    font-size:9px !important;
}
.ttm-filter-actions>a{
    font-size:11px !important;
}
.ttm-filter-actions button{
    width:125px !important;
    height:45px !important;
    font-size:12px !important;
}

/* Nagłówek wyników */
.ttm-results-head{
    min-height:58px !important;
}
.ttm-results-head>strong{
    font-size:12px !important;
}
.ttm-sort select{
    height:36px !important;
    font-size:10px !important;
}

/* Wiersze zleceń */
.ttm-job{
    min-height:116px !important;
    padding:15px 14px !important;
    gap:12px !important;
}
.ttm-job-status span{
    font-size:9px !important;
    padding:6px 8px !important;
}
.ttm-job-route h2{
    font-size:15px !important;
    line-height:1.25 !important;
}
.ttm-location-codes{
    font-size:9px !important;
    margin-top:4px !important;
}
.ttm-job-route>small{
    font-size:9px !important;
}
.ttm-job-type strong{
    font-size:10px !important;
}
.ttm-job-type span{
    font-size:8.5px !important;
}
.ttm-job-price strong{
    font-size:12px !important;
}
.ttm-job-price span{
    font-size:8px !important;
}
.ttm-job-req strong{
    font-size:9px !important;
}
.ttm-job-req span{
    font-size:8px !important;
    line-height:1.4 !important;
}

/* Firma */
.ttm-company-logo{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
}
.ttm-company-logo--brand svg{
    width:30px !important;
    height:30px !important;
}
.ttm-job-company strong{
    font-size:9.5px !important;
    line-height:1.25 !important;
}
.ttm-job-company span{
    font-size:8px !important;
}
.ttm-job-company .ttm-stars{
    font-size:8px !important;
}

/* Akcje */
.ttm-job-actions a{
    min-height:35px !important;
    font-size:9px !important;
    font-weight:600 !important;
}

/* Paginacja / puste stany */
.ttm-pagination a{
    font-size:10px !important;
}
.ttm-empty h2{
    font-size:18px !important;
}
.ttm-empty p{
    font-size:12px !important;
}

/* Mobile */
@media(max-width:650px){
    .ttm-head h1{
        font-size:29px !important;
    }
    .ttm-head p{
        font-size:12px !important;
    }
    .ttm-job-route h2{
        font-size:17px !important;
    }
    .ttm-job-type strong,
    .ttm-job-price strong,
    .ttm-job-req strong,
    .ttm-job-company strong{
        font-size:11px !important;
    }
    .ttm-job-type span,
    .ttm-job-price span,
    .ttm-job-req span,
    .ttm-job-company span{
        font-size:9.5px !important;
    }
    .ttm-job-actions a{
        font-size:11px !important;
        min-height:40px !important;
    }
}


/* 1.0.4 — aktywna zakładka Wolne transporty */
.ttm-tabs a{
    min-width:130px;
    height:40px;
    padding:0 15px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    border:1px solid #d7e1ec;
    border-bottom:0;
    border-radius:8px 8px 0 0;
    background:#fff;
    color:#293c56!important;
    text-decoration:none!important;
    font:600 8px Poppins,Arial,sans-serif;
}
.ttm-tabs a i{margin-right:7px}
.ttm-tabs a.is-active{
    border-color:#7db4fa;
    color:#0870f8!important;
    position:relative;
    z-index:2;
}
.ttm-vehicle-row .ttm-job-price strong{
    color:#0870f8;
    font-size:10px;
}
@media(max-width:650px){
    .ttm-tabs a{min-width:0;flex:1}
}


/* 1.0.5 — logo firm zawsze dokładnie w środku kółka */
.ttm-job-company > .ttm-company-logo{
    margin:0!important;
    padding:0!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
}
.ttm-job-company > .ttm-company-logo.has-image img{
    display:block!important;
    margin:auto!important;
}
.ttm-job-company > .ttm-company-logo--brand svg{
    display:block!important;
    margin:auto!important;
    transform:none!important;
}


/* =========================================================
   1.1.1 — kraj z flagą + transport łączony
   ========================================================= */
.ttm-country-picker{
    position:relative;
    width:100%;
}
.ttm-country-picker__button{
    width:100%;
    height:42px;
    padding:0 12px;
    display:grid;
    grid-template-columns:24px 1fr 14px;
    align-items:center;
    gap:8px;
    border:1px solid #cad7e6;
    border-radius:7px;
    background:#fff;
    color:#31445f;
    font:400 10px Poppins,Arial,sans-serif;
    text-align:left;
    cursor:pointer;
}
.ttm-country-picker__flag{
    width:22px;
    height:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:2px;
}
.ttm-country-picker__flag img{
    width:22px;
    height:16px;
    display:block;
    object-fit:cover;
}
.ttm-country-picker__flag i{
    color:#34597e;
    font-size:13px;
}
.ttm-country-picker__button>i{
    justify-self:end;
    font-size:9px;
}
.ttm-country-picker__menu{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 5px);
    z-index:2000;
    max-height:300px;
    overflow:auto;
    padding:6px;
    border:1px solid #cad7e6;
    border-radius:8px;
    background:#fff;
    box-shadow:0 14px 35px rgba(20,49,82,.16);
    display:none;
}
.ttm-country-picker.is-open .ttm-country-picker__menu{display:block}
.ttm-country-picker__menu button{
    width:100%;
    min-height:34px;
    padding:6px 8px;
    display:grid;
    grid-template-columns:25px 1fr;
    gap:8px;
    align-items:center;
    border:0;
    border-radius:6px;
    background:transparent;
    color:#263b58;
    font:400 10px Poppins,Arial,sans-serif;
    text-align:left;
    cursor:pointer;
}
.ttm-country-picker__menu button:hover{background:#eef6ff}
.ttm-combined-filter{
    grid-column:1 / span 1;
}
.ttm-combined-badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-left:6px;
    padding:4px 7px;
    border-radius:999px;
    background:#edf7ff;
    color:#0870f8;
    font-size:8px;
    font-weight:700;
    white-space:nowrap;
}
@media(max-width:760px){
    .ttm-combined-filter{grid-column:auto}
    .ttm-country-picker__menu{max-height:240px}
}


/* =========================================================
   1.1.2 — Stajnie transportowe wewnątrz /gielda/
   ========================================================= */
.ttm-stable-filter-grid{
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr 1.15fr 1fr;
    gap:12px;
}
.ttm-stable-filter-grid>label>span{
    display:block;
    margin:0 0 6px;
    color:#1a2a43;
    font-size:10px;
    font-weight:600;
}
.ttm-stable-grid{
    padding:14px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.ttm-stable-card{
    min-width:0;
    padding:16px;
    border:1px solid #dce6f1;
    border-radius:13px;
    background:#fff;
    box-shadow:0 6px 18px rgba(38,65,96,.035);
}
.ttm-stable-card__top{
    min-height:66px;
    display:grid;
    grid-template-columns:54px 1fr auto;
    align-items:start;
    gap:11px;
}
.ttm-stable-card__top .ttm-company-logo{
    width:54px;
    height:54px;
}
.ttm-stable-card__identity{
    min-width:0;
}
.ttm-stable-card__identity h2{
    margin:2px 0 3px;
    color:#0d1d35;
    font-size:13px;
    line-height:1.25;
    overflow-wrap:anywhere;
}
.ttm-stable-card__identity h2 i{
    color:#0870f8;
    font-size:9px;
}
.ttm-stable-card__rating{
    display:flex;
    align-items:center;
    gap:5px;
    font-size:9px;
}
.ttm-stable-card__rating strong{color:#182b47}
.ttm-stable-card__rating span{color:#ffad00;letter-spacing:1px}
.ttm-stable-card__rating small{color:#8390a4}
.ttm-stable-card__location{
    display:block;
    margin-top:5px;
    color:#758399;
    font-size:8.5px;
}
.ttm-stable-card__verified{
    padding:5px 7px;
    border-radius:999px;
    background:#eaf8ed;
    color:#249341;
    font-size:7.5px;
    font-weight:700;
    white-space:nowrap;
}
.ttm-stable-card__stats{
    margin-top:14px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid #e0e8f1;
    border-radius:9px;
    overflow:hidden;
}
.ttm-stable-card__stats>div{
    min-width:0;
    padding:10px 6px;
    text-align:center;
    border-right:1px solid #e0e8f1;
}
.ttm-stable-card__stats>div:last-child{border-right:0}
.ttm-stable-card__stats span{
    width:27px;height:27px;margin:0 auto 4px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#edf5ff;color:#0870f8;font-size:10px;
}
.ttm-stable-card__stats strong,
.ttm-stable-card__stats small{display:block}
.ttm-stable-card__stats strong{font-size:11px;color:#10213c}
.ttm-stable-card__stats small{margin-top:1px;color:#8290a4;font-size:7.5px}
.ttm-stable-card>p{
    min-height:38px;
    margin:12px 0;
    color:#738198;
    font-size:9px;
    line-height:1.55;
}
.ttm-stable-card__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}
.ttm-stable-card__actions a{
    min-height:36px;
    display:flex;align-items:center;justify-content:center;gap:6px;
    border-radius:7px;
    text-decoration:none!important;
    font-size:8.5px;
    font-weight:600;
}
.ttm-stable-card__actions .secondary{
    border:1px solid #cbd8e7;
    background:#fff;
    color:#30455f;
}
.ttm-stable-card__actions .primary{
    border:1px solid #0870f8;
    background:#0870f8;
    color:#fff;
}
@media(max-width:1050px){
    .ttm-stable-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ttm-stable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .ttm-stable-filter-grid{grid-template-columns:1fr}
    .ttm-stable-grid{grid-template-columns:1fr;padding:10px}
    .ttm-stable-card__top{grid-template-columns:50px 1fr}
    .ttm-stable-card__verified{grid-column:2;justify-self:start}
}


/* =========================================================
   1.1.3 — realne stajnie z CPT tt_stable
   ========================================================= */
.ttm-filters--stables .ttm-stable-filter-grid{
    grid-template-columns:1.35fr 1fr 1fr;
}
.ttm-stable-filter-hint{
    display:flex;
    align-items:center;
    gap:7px;
    color:#6f7f94;
    font-size:9px;
}
.ttm-stable-filter-hint i{color:#28a745}
.ttm-stable-card--location{
    padding:0;
    overflow:hidden;
}
.ttm-stable-card__image{
    width:100%;
    aspect-ratio:16/8.5;
    background:#edf4fb;
    overflow:hidden;
}
.ttm-stable-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ttm-stable-card__image--empty{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0870f8;
    font-size:30px;
}
.ttm-stable-card__body{
    padding:15px;
}
.ttm-stable-card__heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.ttm-stable-card__badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-bottom:5px;
    padding:4px 7px;
    border-radius:999px;
    background:#eaf8ed;
    color:#249341;
    font-size:7.5px;
    font-weight:700;
}
.ttm-stable-card__heading h2{
    margin:0!important;
    font-size:14px!important;
}
.ttm-stable-card__company{
    display:block;
    margin-top:3px;
    color:#76869b;
    font-size:8.5px;
}
.ttm-stable-card__capacity{
    min-width:67px;
    padding:8px 7px;
    border-radius:8px;
    background:#eef5ff;
    text-align:center;
}
.ttm-stable-card__capacity strong,
.ttm-stable-card__capacity span{display:block}
.ttm-stable-card__capacity strong{color:#0870f8;font-size:15px}
.ttm-stable-card__capacity span{margin-top:1px;color:#708098;font-size:7px}
.ttm-stable-card__locationline{
    margin-top:11px;
    display:flex;
    align-items:flex-start;
    gap:7px;
    color:#51647e;
    font-size:9px;
    line-height:1.45;
}
.ttm-stable-card__locationline i{
    margin-top:2px;
    color:#0870f8;
}
.ttm-stable-card__services{
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.ttm-stable-card__services span{
    padding:5px 7px;
    border:1px solid #dbe6f0;
    border-radius:6px;
    background:#fbfdff;
    color:#52657d;
    font-size:7.5px;
}
.ttm-stable-card__services i{color:#2baa4b}
.ttm-stable-card--location p{
    min-height:0!important;
}
@media(max-width:700px){
    .ttm-filters--stables .ttm-stable-filter-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   1.1.4 — podstrona szczegółów stajni + kontakt
   ========================================================= */
.ttm-stable-detail-head{
    padding:20px 0 0;
}
.ttm-stable-detail-head .ttm-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.ttm-stable-breadcrumbs{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    color:#8290a3;
    font-size:10px;
}
.ttm-stable-breadcrumbs a{
    color:#4f6785;
    text-decoration:none;
}
.ttm-stable-breadcrumbs i{
    font-size:7px;
}
.ttm-stable-back{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 12px;
    border:1px solid #d2ddea;
    border-radius:8px;
    background:#fff;
    color:#40607f;
    font-size:9px;
    font-weight:600;
    text-decoration:none!important;
}
.ttm-stable-detail-content{
    padding-top:15px!important;
}
.ttm-stable-detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:16px;
    align-items:start;
}
.ttm-stable-detail-main{
    display:grid;
    gap:14px;
}
.ttm-stable-gallery{
    overflow:hidden;
    border:1px solid #d9e4ef;
    border-radius:12px;
    background:#fff;
}
.ttm-stable-gallery__main{
    aspect-ratio:16/8.8;
    background:#edf4fb;
}
.ttm-stable-gallery__main img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.ttm-stable-gallery__thumbs{
    padding:9px;
    display:flex;
    gap:8px;
    overflow-x:auto;
    border-top:1px solid #e3eaf2;
}
.ttm-stable-gallery__thumbs button{
    width:72px;
    height:52px;
    flex:0 0 72px;
    padding:2px;
    border:2px solid transparent;
    border-radius:7px;
    background:#fff;
    cursor:pointer;
}
.ttm-stable-gallery__thumbs button.is-active{
    border-color:#0870f8;
}
.ttm-stable-gallery__thumbs img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:4px;
}
.ttm-stable-gallery--empty{
    min-height:240px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#8290a4;
}
.ttm-stable-gallery--empty i{
    font-size:32px;
    color:#0870f8;
}
.ttm-stable-info-card,
.ttm-stable-section-card,
.ttm-stable-contact-card,
.ttm-stable-safety-card{
    border:1px solid #d9e4ef;
    border-radius:12px;
    background:#fff;
}
.ttm-stable-info-card{
    padding:17px;
}
.ttm-stable-info-card__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
}
.ttm-stable-verified{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border-radius:999px;
    background:#eaf8ed;
    color:#249341;
    font-size:8px;
    font-weight:700;
}
.ttm-stable-info-card h1{
    margin:8px 0 0!important;
    color:#0b1930!important;
    font-size:25px!important;
    line-height:1.15!important;
}
.ttm-stable-owner{
    margin:6px 0 0!important;
    color:#667991;
    font-size:10px;
}
.ttm-stable-owner i{
    margin-right:5px;
    color:#0870f8;
}
.ttm-stable-capacity-large{
    min-width:90px;
    padding:11px 10px;
    border-radius:10px;
    background:#eef5ff;
    text-align:center;
}
.ttm-stable-capacity-large strong,
.ttm-stable-capacity-large span{
    display:block;
}
.ttm-stable-capacity-large strong{
    color:#0870f8;
    font-size:22px;
    line-height:1;
}
.ttm-stable-capacity-large span{
    margin-top:4px;
    color:#667a94;
    font-size:8px;
}
.ttm-stable-address{
    margin-top:15px;
    padding-top:14px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    border-top:1px solid #e4ebf3;
}
.ttm-stable-address>span{
    width:34px;height:34px;
    display:flex;align-items:center;justify-content:center;
    flex:0 0 34px;
    border-radius:8px;
    background:#edf5ff;
    color:#0870f8;
}
.ttm-stable-address strong,
.ttm-stable-address p{
    display:block;
    margin:0!important;
}
.ttm-stable-address strong{
    color:#1b2e48;
    font-size:9px;
}
.ttm-stable-address p{
    margin-top:3px!important;
    color:#657890;
    font-size:9px;
}
.ttm-stable-section-card{
    padding:16px;
}
.ttm-stable-section-title{
    display:flex;
    align-items:center;
    gap:10px;
    padding-bottom:12px;
    border-bottom:1px solid #e4ebf3;
}
.ttm-stable-section-title>span{
    width:36px;height:36px;
    display:flex;align-items:center;justify-content:center;
    flex:0 0 36px;
    border-radius:8px;
    background:#edf5ff;
    color:#0870f8;
}
.ttm-stable-section-title h2,
.ttm-stable-section-title p{
    margin:0!important;
}
.ttm-stable-section-title h2{
    color:#142640!important;
    font-size:13px!important;
}
.ttm-stable-section-title p{
    margin-top:2px!important;
    color:#8190a4;
    font-size:8.5px;
}
.ttm-stable-service-grid{
    margin-top:12px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.ttm-stable-service-grid>div{
    min-height:50px;
    padding:9px;
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid #dce6f0;
    border-radius:8px;
    background:#fbfdff;
}
.ttm-stable-service-grid>div>span{
    width:30px;height:30px;
    display:flex;align-items:center;justify-content:center;
    flex:0 0 30px;
    border-radius:7px;
    background:#eef5ff;
    color:#0870f8;
}
.ttm-stable-service-grid strong{
    color:#31465f;
    font-size:9px;
}
.ttm-stable-description{
    padding-top:13px;
    color:#475d76;
    font-size:10px;
    line-height:1.7;
}
.ttm-stable-detail-sidebar{
    display:grid;
    gap:12px;
    position:sticky;
    top:105px;
}
.ttm-stable-contact-card{
    padding:16px;
}
.ttm-stable-contact-card__eyebrow{
    color:#0870f8;
    font-size:8px;
    font-weight:700;
}
.ttm-stable-contact-card h2{
    margin:5px 0 0!important;
    color:#14253f!important;
    font-size:17px!important;
    line-height:1.25!important;
}
.ttm-stable-contact-card>p{
    margin:6px 0 13px!important;
    color:#75869c;
    font-size:9px;
    line-height:1.5;
}
.ttm-stable-message-btn,
.ttm-stable-company-btn{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:8px;
    font-size:9px;
    font-weight:650;
    text-decoration:none!important;
}
.ttm-stable-message-btn{
    background:#0870f8;
    color:#fff!important;
    box-shadow:0 6px 16px rgba(8,112,248,.16);
}
.ttm-stable-company-btn{
    margin-top:8px;
    border:1px solid #ccdae8;
    background:#fff;
    color:#365570!important;
}
.ttm-stable-contact-data{
    margin-top:13px;
    padding-top:12px;
    display:grid;
    gap:8px;
    border-top:1px solid #e4ebf3;
}
.ttm-stable-contact-data>div{
    display:flex;
    align-items:center;
    gap:9px;
}
.ttm-stable-contact-data>div>span{
    width:30px;height:30px;
    display:flex;align-items:center;justify-content:center;
    flex:0 0 30px;
    border-radius:7px;
    background:#eef5ff;
    color:#0870f8;
}
.ttm-stable-contact-data small,
.ttm-stable-contact-data strong{
    display:block;
}
.ttm-stable-contact-data small{
    color:#8190a3;
    font-size:7.5px;
}
.ttm-stable-contact-data strong{
    margin-top:1px;
    color:#324b66;
    font-size:8.5px;
    word-break:break-word;
}
.ttm-stable-own-info{
    padding:10px;
    display:flex;
    align-items:center;
    gap:7px;
    border-radius:8px;
    background:#eef5ff;
    color:#38658f;
    font-size:9px;
}
.ttm-stable-safety-card{
    padding:12px;
    display:flex;
    align-items:flex-start;
    gap:9px;
    background:#f3fbf5;
    border-color:#cee9d4;
}
.ttm-stable-safety-card>span{
    width:32px;height:32px;
    display:flex;align-items:center;justify-content:center;
    flex:0 0 32px;
    border-radius:8px;
    background:#e3f5e7;
    color:#299344;
}
.ttm-stable-safety-card strong{
    display:block;
    color:#29753c;
    font-size:9px;
}
.ttm-stable-safety-card p{
    margin:3px 0 0!important;
    color:#669071;
    font-size:8px;
    line-height:1.45;
}
.ttm-stable-detail-error{
    min-height:330px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.ttm-stable-detail-error>span{
    width:48px;height:48px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    background:#edf5ff;
    color:#0870f8;
    font-size:19px;
}
.ttm-stable-detail-error h1{
    margin:12px 0 0!important;
    font-size:20px!important;
}
.ttm-stable-detail-error p{
    margin:5px 0 13px!important;
    color:#7b8da3;
    font-size:10px;
}
.ttm-stable-detail-error a{
    padding:9px 12px;
    border-radius:7px;
    background:#0870f8;
    color:#fff!important;
    text-decoration:none!important;
    font-size:9px;
}
@media(max-width:900px){
    .ttm-stable-detail-layout{
        grid-template-columns:1fr;
    }
    .ttm-stable-detail-sidebar{
        position:static;
    }
}
@media(max-width:650px){
    .ttm-stable-detail-head .ttm-container{
        align-items:flex-start;
        flex-direction:column;
    }
    .ttm-stable-info-card__top{
        flex-direction:column;
    }
    .ttm-stable-capacity-large{
        width:100%;
    }
    .ttm-stable-service-grid{
        grid-template-columns:1fr;
    }
}


/* 1.1.5 — giełda na stronie głównej korzysta z tego samego modułu co /gielda/ */
body.home .ttm#tt-marketplace{
    margin-top:0;
}
body.home .ttm#tt-marketplace .ttm-content{
    padding-top:0;
}
body.home .ttm#tt-marketplace .ttm-container{
    width:min(1200px,calc(100% - 32px));
}
/* Nie pozwól starym stylom homepage zmniejszać elementów nowej giełdy. */
body.home .ttm#tt-marketplace,
body.home .ttm#tt-marketplace input,
body.home .ttm#tt-marketplace select,
body.home .ttm#tt-marketplace button,
body.home .ttm#tt-marketplace a{
    font-family:Poppins,Arial,sans-serif;
}


/* 1.1.6 — większe zakładki + płynne przełączanie */
.ttm-tabs a{
    min-width:170px !important;
    height:48px !important;
    padding:0 20px !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1 !important;
    gap:3px;
}
.ttm-tabs a i{
    margin-right:8px !important;
    font-size:12px !important;
}
#tt-marketplace{
    position:relative;
}
#tt-marketplace.ttm-is-loading::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:30;
    background:rgba(245,249,255,.58);
    backdrop-filter:blur(1px);
    pointer-events:all;
}
#tt-marketplace.ttm-is-loading::before{
    content:"";
    position:absolute;
    z-index:31;
    left:50%;
    top:46%;
    width:28px;
    height:28px;
    margin:-14px 0 0 -14px;
    border:3px solid #d8e8fb;
    border-top-color:#0870f8;
    border-radius:50%;
    animation:ttmarketSpin .65s linear infinite;
}
@keyframes ttmarketSpin{to{transform:rotate(360deg)}}
@media(max-width:650px){
    .ttm-tabs{
        gap:0 !important;
    }
    .ttm-tabs a{
        min-width:0 !important;
        height:46px !important;
        padding:0 8px !important;
        font-size:10px !important;
    }
    .ttm-tabs a i{
        margin-right:5px !important;
        font-size:10px !important;
    }
}


/* 1.1.7 — komunikat błędu bez awaryjnego przeładowania */
.ttm-live-error{
    margin:10px 0 0;
    padding:11px 14px;
    border:1px solid #ffd1d1;
    border-radius:8px;
    background:#fff5f5;
    color:#a12727;
    font:600 12px/1.45 Poppins,Arial,sans-serif;
}


/* 1.1.8 — filtr wolnych tras konkretnego przewoźnika */
.ttm-carrier-filter{
    margin:0 0 16px;
    padding:11px 14px;
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid #cfe0f5;
    border-radius:8px;
    background:#eef6ff;
    color:#53677e;
    font-size:12px;
}
.ttm-carrier-filter i{color:#0870f8}
.ttm-carrier-filter strong{color:#0a1931}
.ttm-carrier-filter a{
    margin-left:auto;
    color:#0870f8 !important;
    font-weight:700;
    text-decoration:none !important;
}
@media(max-width:640px){
    .ttm-carrier-filter{
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .ttm-carrier-filter a{
        width:100%;
        margin-left:0;
    }
}
