.search-page,
.search-results-page{
    position:relative;
    min-height:100vh;
    background:
        radial-gradient(circle at 12% 8%, rgba(255,193,7,.08), transparent 24%),
        radial-gradient(circle at 85% 10%, rgba(74,144,255,.12), transparent 28%),
        linear-gradient(180deg, #06111d 0%, #071728 45%, #081a2d 100%);
    color:#eef4ff;
    overflow-x:hidden;
}

.search-results-page::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 10% 0%, rgba(255,193,7,.04), transparent 18%),
        radial-gradient(circle at 90% 5%, rgba(77,145,255,.08), transparent 24%);
    z-index:0;
}

.search-results-page .container{
    position:relative;
    z-index:2;
}

.search-results-section{
    padding:10px 0 48px;
}

/* TOPBAR */

.search-topbar-section{
    position:relative;
    z-index:8;
    padding:16px 0 12px;
}

.search-topbar-form{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    box-shadow:0 20px 45px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(12px);
}

.search-topbar-input-wrap{
    position:relative;
    flex:1 1 auto;
    min-width:0;
}

.search-topbar-input-wrap i{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:rgba(227,239,255,.62);
    font-size:15px;
    pointer-events:none;
}

.search-topbar-form .form-control{
    height:56px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(6,18,33,.82);
    color:#f7fbff;
    padding:0 18px 0 44px;
    font-size:15px;
    box-shadow:none;
}

.search-topbar-form .form-control::placeholder{
    color:rgba(227,239,255,.45);
}

.search-topbar-form .form-control:focus{
    border-color:rgba(255,193,7,.55);
    background:rgba(8,20,36,.96);
    color:#fff;
    box-shadow:0 0 0 4px rgba(255,193,7,.12);
}

.search-topbar-submit{
    min-width:58px;
    height:56px;
    border:none;
    border-radius:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    font-size:19px;
    font-weight:900;
    color:#081524;
    background:linear-gradient(180deg, #ffd64d 0%, #ffc107 100%);
    box-shadow:0 16px 30px rgba(255,193,7,.2), inset 0 1px 0 rgba(255,255,255,.45);
    cursor:pointer;
}

.search-location-btn{
    height:56px;
    border-radius:18px;
    padding:0 18px;
    white-space:nowrap;
    border:1px solid rgba(255,255,255,.1);
    color:#eef4ff;
    background:rgba(255,255,255,.03);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-weight:700;
    flex:0 0 auto;
    cursor:pointer;
}

/* LAYOUT */

.search-layout{
    display:grid;
    grid-template-columns:280px minmax(0,1fr) 320px;
    gap:20px;
    align-items:start;
}

.search-panel-card,
.search-map-card,
.search-bottom-cta-inner{
    position:relative;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at top left, rgba(255,193,7,.05), transparent 32%),
        radial-gradient(circle at bottom right, rgba(76,143,255,.08), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    box-shadow:0 22px 52px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter:blur(10px);
}

/* SIDEBAR */

.search-sidebar{
    position:sticky;
    top:88px;
    min-width:0;
}

.search-panel-card{
    padding:20px;
}

.search-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:16px;
}

.search-panel-head h3{
    margin:0;
    font-size:1.06rem;
    font-weight:900;
    color:#fff;
}

.search-clear-link{
    color:#ffd14a;
    text-decoration:none;
    font-size:.9rem;
    font-weight:800;
}

.search-filters-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.search-filter-group{
    padding-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.search-filter-group:last-child{
    padding-bottom:0;
    border-bottom:none;
}

.search-filter-label{
    margin-bottom:12px;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(227,239,255,.62);
}

.search-radio-pill{
    display:block;
    margin-bottom:10px;
    cursor:pointer;
}

.search-radio-pill:last-child{
    margin-bottom:0;
}

.search-radio-pill input{
    display:none;
}

.search-radio-pill span{
    position:relative;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.025);
    color:#eef4ff;
    font-weight:800;
    transition:.18s ease;
}

.search-radio-pill input:checked + span{
    border-color:#ffc107;
    background:#ffc107;
    color:#081421;
    box-shadow:0 10px 22px rgba(255,193,7,.24);
}

.search-radio-pill input:checked + span::after{
    content:"✓";
    width:18px;
    height:18px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#ffc107;
    color:#091321;
    font-size:.74rem;
    font-weight:900;
}

.search-check-row{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:48px;
    padding:0 14px;
    margin-bottom:10px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.07);
    background:rgba(255,255,255,.025);
    cursor:pointer;
    transition:.18s ease;
}

.search-check-row:last-child{
    margin-bottom:0;
}

.search-check-row input{
    width:16px;
    height:16px;
    margin:0;
    accent-color:#ffc107;
}

.search-check-row span{
    color:#eef4ff;
    font-weight:800;
}

.search-check-row:has(input:checked){
    border-color:#ffc107;
    background:#ffc107;
    color:#081421;
    box-shadow:0 10px 22px rgba(255,193,7,.24);
}

.search-check-row:has(input:checked) span{
    color:#081421;
}

.search-check-row:has(input:checked)::after{
    content:"✓";
    width:19px;
    height:19px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#081421;
    color:#ffc107;
    font-size:.76rem;
    font-weight:950;
}

.search-distance-wrap{
    padding:6px 2px 0;
}

.search-distance-wrap .form-range{
    width:100%;
    accent-color:#ffc107;
}

.search-distance-scale{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:10px;
    font-size:.84rem;
    color:rgba(227,239,255,.66);
}

.search-distance-scale strong{
    color:#fff;
    font-size:.95rem;
}

/* HEADER */

.search-main-results{
    min-width:0;
}

.search-results-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.search-results-head h1{
    margin:0 0 6px;
    font-size:clamp(1.24rem, 2.2vw, 1.9rem);
    font-weight:900;
    line-height:1.1;
    color:#fff;
}

.search-results-head h1 span{
    color:#ffc107;
}

.search-results-head p{
    margin:0;
    color:rgba(227,239,255,.72);
    font-size:.96rem;
}

.search-view-switch{
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    flex-shrink:0;
}

.search-view-switch span{
    font-size:.84rem;
    color:rgba(227,239,255,.68);
    font-weight:800;
}

.search-view-switch button{
    width:38px;
    height:38px;
    border:none;
    border-radius:12px;
    background:transparent;
    color:#dce8ff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.search-view-switch button.is-active{
    background:rgba(255,193,7,.16);
    color:#ffc107;
    box-shadow:inset 0 0 0 1px rgba(255,193,7,.12);
}

/* LIST / GRID */

.search-results-list{
    min-width:0;
    padding-bottom:16px;
}

.search-results-list.view-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.search-results-list.view-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
}

.search-results-list.view-grid .search-station-card{
    height:100%;
}

.search-results-list.view-grid .search-station-card-inner{
    grid-template-columns:1fr;
    align-items:flex-start;
    gap:14px;
    height:100%;
}

.search-results-list.view-grid .search-station-right{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    width:100%;
    margin-top:auto;
}

.search-results-list.view-grid .search-station-prices--single{
    max-width:100%;
}

.search-results-list.view-grid .search-price-box.is-primary strong{
    font-size:1.2rem;
}

/* CARDS */

.search-station-card{
    position:relative;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.022));
    box-shadow:0 18px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
    overflow:hidden;
    min-width:0;
    transition:.18s ease;
}

.search-station-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at top left, rgba(255,193,7,.045), transparent 28%),
        radial-gradient(circle at bottom right, rgba(79,147,255,.06), transparent 34%);
}

.search-station-card.is-map-highlight{
    box-shadow:0 0 0 2px rgba(255,193,7,.45), 0 18px 42px rgba(0,0,0,.24);
}

.search-station-card-inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(220px,1.2fr) minmax(190px,220px) 88px;
    gap:18px;
    align-items:center;
    padding:18px 20px;
    min-width:0;
}

.search-station-card--featured{
    border-color:rgba(34,197,94,.35);
    background:
        radial-gradient(circle at 8% 18%, rgba(34,197,94,.12), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.028));
}

.search-station-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:16px 16px 0;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(34,197,94,.12);
    color:#8ff3b2;
    font-size:.81rem;
    font-weight:900;
    letter-spacing:.02em;
}

.search-station-left{
    min-width:0;
}

.search-station-brand-wrap{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.search-station-logo{
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
}

.search-station-logo img{
    width:72%;
    height:72%;
    object-fit:contain;
    display:block;
}

.search-station-logo.no-logo::after{
    content:"⛽";
    font-size:22px;
    opacity:.92;
}

.search-station-meta{
    min-width:0;
}

.search-station-meta h2{
    margin:0 0 5px;
    font-size:1.08rem;
    line-height:1.15;
    font-weight:900;
}

.search-station-meta h2 a{
    color:#fff;
    text-decoration:none;
}

.search-station-address{
    color:rgba(227,239,255,.72);
    font-size:.93rem;
    line-height:1.4;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* SINGLE PRICE */

.search-station-prices{
    width:100%;
    min-width:0;
    justify-self:start;
}

.search-station-prices--single{
    display:block;
    width:100%;
    max-width:220px;
}

.search-price-box{
    position:relative;
    min-width:0;
    padding:14px 14px 12px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.search-station-prices--single .search-price-box{
    width:100%;
    min-height:86px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.search-price-box span{
    display:block;
    margin-bottom:6px;
    font-size:.74rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(227,239,255,.72);
    white-space:nowrap;
}

.search-price-box strong{
    display:block;
    font-size:1.18rem;
    line-height:1.08;
    font-weight:900;
    color:#fff;
    white-space:nowrap;
}

.search-price-box em{
    display:block;
    margin-top:7px;
    font-style:normal;
    font-size:.72rem;
    line-height:1.1;
    font-weight:900;
    color:#ffd454;
    white-space:nowrap;
}

.search-price-box.is-primary{
    border-color:rgba(255,193,7,.28);
    background:linear-gradient(180deg, rgba(255,193,7,.12), rgba(255,193,7,.05));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(255,193,7,.06);
}

.search-price-box.is-primary strong{
    font-size:1.34rem;
}

/* RIGHT SIDE */

.search-station-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:10px;
    min-width:0;
}

.search-station-distance{
    font-size:1rem;
    line-height:1;
    font-weight:900;
    color:#fff;
    white-space:nowrap;
}

.search-nav-btn{
    width:46px;
    height:46px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:18px;
    color:#eef4ff;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.12);
}

.search-station-time{
    font-size:.83rem;
    line-height:1.3;
    font-weight:700;
    color:rgba(227,239,255,.62);
    white-space:nowrap;
    text-align:right;
}

.search-load-more-wrap{
    padding-top:4px;
    padding-bottom:8px;
    text-align:center;
}

.search-load-more-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:54px;
    padding:0 20px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.03);
    color:#eef4ff;
    font-weight:800;
    cursor:pointer;
}

/* MAP */

.search-map-side{
    position:sticky;
    top:88px;
    min-width:0;
}

.search-map-card{
    padding:16px;
}

.search-map-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}

.search-map-card-head h3{
    margin:0;
    font-size:1rem;
    font-weight:900;
    color:#fff;
}

.search-map-expand-btn{
    width:40px;
    height:40px;
    border:none;
    border-radius:12px;
    background:rgba(255,255,255,.04);
    color:#eef4ff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.search-mini-map{
    width:100%;
    height:560px;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:#0d1a2a;
    margin-bottom:14px;
    position:relative;
    z-index:1;
}

.search-map-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    color:rgba(227,239,255,.75);
    font-weight:700;
    text-align:center;
    padding:20px;
}

.search-full-map-btn{
    width:100%;
    min-height:50px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.03);
    color:#eef4ff;
    font-weight:800;
}

.search-map-marker{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:72px;
    height:30px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(8,18,32,.94);
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
    font-size:.78rem;
    font-weight:900;
    box-shadow:0 8px 20px rgba(0,0,0,.24);
}

/* CTA */

.search-bottom-cta{
    position:relative;
    z-index:1;
    margin-top:24px;
}

.search-bottom-cta-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:center;
    padding:24px 26px;
}

.search-bottom-cta-text{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
}

.search-bottom-cta-icon{
    width:62px;
    height:62px;
    min-width:62px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,193,7,.14);
    border:1px solid rgba(255,193,7,.18);
    color:#ffc107;
    font-size:28px;
}

.search-bottom-cta-text h3{
    margin:0 0 4px;
    font-size:1.26rem;
    font-weight:900;
    color:#fff;
}

.search-bottom-cta-text p{
    margin:0;
    color:rgba(227,239,255,.7);
    font-size:.96rem;
}

.search-bottom-cta-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    flex-wrap:wrap;
}

.search-bottom-cta-actions .btn{
    min-height:54px;
    border-radius:18px;
    padding:0 22px;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}

/* FUEL COLORS */

.search-price-box.fuel-pb95,
.search-check-row.fuel-pb95{
    border-color:rgba(46,204,113,.22);
}
.search-price-box.fuel-pb95 span{ color:#63ef9c; }

.search-price-box.fuel-pb98,
.search-check-row.fuel-pb98{
    border-color:rgba(52,152,219,.24);
}
.search-price-box.fuel-pb98 span{ color:#58b8ff; }

.search-price-box.fuel-on,
.search-check-row.fuel-on{
    border-color:rgba(255,193,7,.24);
}
.search-price-box.fuel-on span{ color:#ffd454; }

.search-price-box.fuel-onplus,
.search-check-row.fuel-onplus{
    border-color:rgba(255,126,95,.24);
}
.search-price-box.fuel-onplus span{ color:#ff9a76; }

.search-price-box.fuel-lpg,
.search-check-row.fuel-lpg{
    border-color:rgba(155,89,182,.24);
}
.search-price-box.fuel-lpg span{ color:#cf8cff; }

/* ALERT */

.search-results-page .alert{
    border-radius:20px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.045);
    color:#eef4ff;
    box-shadow:none;
}

/* TABLET */

@media (max-width: 1199.98px){
    .search-layout{
        grid-template-columns:250px minmax(0,1fr);
    }

    .search-map-side{
        grid-column:1 / -1;
        position:static;
    }

    .search-mini-map{
        height:360px;
    }
}

/* SMALL LAPTOP */

@media (max-width: 991.98px){
    .search-topbar-form{
        flex-wrap:wrap;
    }

    .search-topbar-input-wrap{
        flex:1 1 100%;
    }

    .search-topbar-submit,
    .search-location-btn{
        flex:1 1 calc(50% - 6px);
    }

    .search-layout{
        grid-template-columns:1fr;
    }

    .search-sidebar,
    .search-map-side{
        position:static;
    }

    .search-results-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .search-station-card-inner{
        grid-template-columns:1fr;
        gap:14px;
        align-items:flex-start;
    }

    .search-station-prices--single{
        max-width:240px;
    }

    .search-station-right{
        width:100%;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        padding-top:2px;
    }

    .search-results-list.view-grid{
        grid-template-columns:1fr;
    }

    .search-bottom-cta-inner{
        grid-template-columns:1fr;
        align-items:flex-start;
    }

    .search-bottom-cta-actions{
        width:100%;
        justify-content:flex-start;
    }
}

/* MOBILE */

@media (max-width: 767.98px){
    .search-results-section{
        padding-bottom:28px;
    }

    .search-topbar-section{
        padding:12px 0 8px;
    }

    .search-topbar-form{
        padding:10px;
        gap:10px;
        border-radius:20px;
    }

    .search-topbar-form .form-control{
        height:52px;
        border-radius:16px;
    }

    .search-topbar-submit,
    .search-location-btn{
        height:50px;
        border-radius:16px;
        flex:1 1 100%;
    }

    .search-panel-card,
    .search-map-card,
    .search-station-card,
    .search-bottom-cta-inner{
        border-radius:22px;
    }

    .search-panel-card{
        padding:16px;
    }

    .search-results-head h1{
        font-size:1.24rem;
    }

    .search-results-head p{
        font-size:.9rem;
    }

    .search-view-switch{
        width:100%;
        justify-content:flex-start;
    }

    .search-station-badge{
        margin:14px 14px 0;
        padding:9px 12px;
        font-size:.76rem;
    }

    .search-station-card-inner{
        padding:16px;
    }

    .search-station-brand-wrap{
        align-items:flex-start;
    }

    .search-station-logo{
        width:52px;
        height:52px;
        min-width:52px;
        border-radius:14px;
    }

    .search-station-meta h2{
        font-size:1rem;
    }

    .search-station-address{
        white-space:normal;
        overflow:visible;
        text-overflow:unset;
    }

    .search-station-prices--single{
        max-width:100%;
    }

    .search-price-box{
        padding:10px 11px;
        border-radius:14px;
    }

    .search-price-box strong{
        font-size:1rem;
    }

    .search-price-box.is-primary strong{
        font-size:1.08rem;
    }

    .search-station-right{
        flex-wrap:wrap;
        gap:10px;
    }

    .search-nav-btn{
        width:44px;
        height:44px;
        border-radius:13px;
    }

    .search-mini-map{
        height:300px;
        border-radius:18px;
    }

    .search-bottom-cta{
        margin-top:18px;
    }

    .search-bottom-cta-inner{
        padding:18px;
        gap:18px;
    }

    .search-bottom-cta-text{
        align-items:flex-start;
    }

    .search-bottom-cta-icon{
        width:54px;
        height:54px;
        min-width:54px;
        border-radius:16px;
        font-size:24px;
    }

    .search-bottom-cta-text h3{
        font-size:1.08rem;
    }

    .search-bottom-cta-text p{
        font-size:.92rem;
    }

    .search-bottom-cta-actions{
        width:100%;
        flex-direction:column;
    }

    .search-bottom-cta-actions .btn{
        width:100%;
        min-width:0;
    }
}

/* VERY SMALL */

@media (max-width: 479.98px){
    .search-topbar-form{
        padding:9px;
    }

    .search-panel-card,
    .search-map-card{
        padding:14px;
    }

    .search-station-card-inner{
        padding:14px;
    }

    .search-station-brand-wrap{
        gap:12px;
    }

    .search-station-logo{
        width:48px;
        height:48px;
        min-width:48px;
    }

    .search-station-right{
        align-items:flex-start;
    }

    .search-station-time{
        text-align:left;
        white-space:normal;
    }

    .search-distance-scale{
        font-size:.8rem;
    }
}

.custom-price-marker{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:72px;
    height:36px;
    padding:0 10px 0 8px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(8,18,32,.95);
    color:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.24);
    backdrop-filter:blur(8px);
}

.custom-price-marker .marker-price{
    font-size:.78rem;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

.custom-price-marker .marker-logo{
    width:22px;
    height:22px;
    min-width:22px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    box-shadow:0 2px 8px rgba(0,0,0,.18);
}

.custom-price-marker .marker-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.custom-price-marker .marker-logo span{
    font-size:.62rem;
    font-weight:900;
    color:#111827;
}

.custom-price-marker.no-price{
    width:36px;
    min-width:36px;
    height:36px;
    padding:0;
    justify-content:center;
}

.custom-price-marker.no-price .marker-logo-only{
    width:24px;
    height:24px;
    min-width:24px;
}

.custom-price-marker .marker-tip{
    position:absolute;
    left:50%;
    bottom:-5px;
    width:10px;
    height:10px;
    background:inherit;
    border-right:1px solid rgba(255,255,255,.14);
    border-bottom:1px solid rgba(255,255,255,.14);
    transform:translateX(-50%) rotate(45deg);
}

.custom-price-marker.green{
    background:linear-gradient(180deg, #113224, #0d251b);
    border-color:rgba(46,204,113,.35);
}

.custom-price-marker.orange{
    background:linear-gradient(180deg, #3a2a0d, #2a1d08);
    border-color:rgba(255,193,7,.35);
}

.custom-price-marker.red{
    background:linear-gradient(180deg, #3a1414, #2a0f0f);
    border-color:rgba(239,68,68,.35);
}

.custom-price-marker.gray{
    background:linear-gradient(180deg, #253041, #1a2330);
    border-color:rgba(148,163,184,.28);
}

.search-map-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    padding:20px;
    text-align:center;
    color:rgba(227,239,255,.72);
    font-weight:700;
}
/* =====================================================
SEARCH — FINAL MOBILE/PWA OVERRIDE 2026-04-26
- centered results
- proper bottom sheet filters
- compact app-like station cards
===================================================== */

@media(max-width:767.98px){

    .search-results-page{
        padding-bottom:150px !important;
        overflow-x:hidden !important;
    }

    .search-results-page .container{
        width:100% !important;
        max-width:480px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }

    /* ten pływający panel z profilu nachodził na karty */
    .search-results-page .global-profile-panel-btn,
    body.search-results-page .global-profile-panel-btn,
    body.search-page .global-profile-panel-btn{
        display:none !important;
    }

    .search-results-section{
        padding:8px 0 26px !important;
    }

    .search-layout{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:12px !important;
        width:100% !important;
    }

    .search-main-results,
    .search-results-list,
    .search-station-card{
        width:100% !important;
        max-width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    /* top search */
    .search-topbar-section{
        padding:8px 0 6px !important;
    }

    .search-topbar-form{
        padding:8px !important;
        gap:8px !important;
        border-radius:18px !important;
    }

    .search-topbar-input-wrap{
        flex:1 1 100% !important;
    }

    .search-topbar-form .form-control{
        height:46px !important;
        border-radius:14px !important;
        font-size:14px !important;
        padding-left:40px !important;
    }

    .search-topbar-submit,
    .search-location-btn{
        height:42px !important;
        min-height:42px !important;
        border-radius:14px !important;
        flex:1 1 calc(50% - 4px) !important;
        font-size:13px !important;
    }

    /* mobile action bar */
    .search-mobile-filter-bar{
        position:sticky !important;
        top:0 !important;
        z-index:70 !important;
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
        margin:0 0 8px !important;
        padding:8px 0 !important;
        background:linear-gradient(180deg, rgba(7,19,33,.98), rgba(7,19,33,.82)) !important;
        backdrop-filter:blur(12px) !important;
    }

    .search-mobile-filter-btn,
    .search-mobile-map-btn{
        width:100% !important;
        min-height:48px !important;
        border-radius:17px !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:8px !important;
        text-decoration:none !important;
        font-size:15px !important;
        font-weight:950 !important;
        line-height:1 !important;
        box-shadow:0 12px 24px rgba(0,0,0,.20) !important;
    }

    .search-mobile-filter-btn{
        border:0 !important;
        background:linear-gradient(135deg,#ffcf47,#ffae00) !important;
        color:#07111d !important;
    }

    .search-mobile-map-btn{
        border:1px solid rgba(255,255,255,.13) !important;
        background:rgba(255,255,255,.075) !important;
        color:#fff !important;
    }

    /* header wyników */
    .search-results-head{
        margin:2px 0 10px !important;
        gap:6px !important;
    }

    .search-results-head h1{
        display:none !important;
    }

    .search-results-head p{
        margin:0 !important;
        font-size:13px !important;
        line-height:1.45 !important;
        color:rgba(227,239,255,.70) !important;
    }

    .search-results-head-fuel{
        display:block !important;
        margin-top:2px !important;
    }

    .search-view-switch{
        display:none !important;
    }

    /* bottom sheet */
    .search-filter-overlay{
        position:fixed !important;
        inset:0 !important;
        z-index:9990 !important;
        display:block !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        background:rgba(0,0,0,.58) !important;
        backdrop-filter:blur(6px) !important;
        transition:.22s ease !important;
    }

    body.search-filters-open .search-filter-overlay{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    body.search-filters-open{
        overflow:hidden !important;
        touch-action:none !important;
    }

    .search-sidebar{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        top:auto !important;
        z-index:10000 !important;
        width:100% !important;
        max-width:480px !important;
        margin:0 auto !important;
        min-width:0 !important;
        padding:10px 10px max(10px, env(safe-area-inset-bottom)) !important;
        transform:translateY(108%) !important;
        transition:transform .28s cubic-bezier(.2,.9,.2,1) !important;
        background:transparent !important;
        pointer-events:none !important;
        order:initial !important;
    }

    body.search-filters-open .search-sidebar{
        transform:translateY(0) !important;
        pointer-events:auto !important;
    }

    .search-sidebar .search-panel-card{
        max-height:min(78vh, 660px) !important;
        overflow:auto !important;
        -webkit-overflow-scrolling:touch !important;
        padding:16px 14px 14px !important;
        border-radius:28px 28px 18px 18px !important;
        background:
            radial-gradient(circle at 16% 0%, rgba(255,193,7,.09), transparent 28%),
            linear-gradient(180deg, rgba(10,24,43,.98), rgba(6,17,32,.995)) !important;
        box-shadow:0 -18px 54px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06) !important;
    }

    .search-sidebar .search-panel-card::before{
        content:"" !important;
        display:block !important;
        width:44px !important;
        height:4px !important;
        margin:0 auto 14px !important;
        border-radius:999px !important;
        background:rgba(255,255,255,.22) !important;
    }

    .search-panel-head{
        position:sticky !important;
        top:-16px !important;
        z-index:2 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:10px !important;
        margin:-2px 0 14px !important;
        padding:4px 0 10px !important;
        background:linear-gradient(180deg, rgba(10,24,43,.98), rgba(10,24,43,.88)) !important;
        backdrop-filter:blur(10px) !important;
    }

    .search-panel-head h3{
        margin:0 !important;
        font-size:18px !important;
        line-height:1 !important;
    }

    .search-panel-head-actions{
        display:flex !important;
        align-items:center !important;
        gap:8px !important;
    }

    .search-clear-link{
        min-height:34px !important;
        display:inline-flex !important;
        align-items:center !important;
        padding:0 10px !important;
        border-radius:12px !important;
        background:rgba(255,193,7,.10) !important;
        font-size:12px !important;
        color:#ffd14a !important;
    }

    .search-filter-close{
        width:36px !important;
        height:36px !important;
        border:1px solid rgba(255,255,255,.12) !important;
        border-radius:13px !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:rgba(255,255,255,.065) !important;
        color:#fff !important;
        cursor:pointer !important;
    }

    .search-filters-form{
        gap:14px !important;
    }

    .search-filter-group{
        padding-bottom:14px !important;
    }

    .search-filter-label{
        margin-bottom:9px !important;
        font-size:11px !important;
    }

    .search-filter-group:nth-of-type(1),
    .search-filter-group:nth-of-type(2){
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:8px !important;
    }

    .search-filter-group:nth-of-type(1) .search-filter-label,
    .search-filter-group:nth-of-type(2) .search-filter-label{
        grid-column:1 / -1 !important;
    }

    .search-radio-pill,
    .search-check-row{
        margin:0 !important;
    }

    .search-radio-pill span,
    .search-check-row{
        min-height:42px !important;
        padding:0 9px !important;
        border-radius:14px !important;
        justify-content:center !important;
        text-align:center !important;
        font-size:13px !important;
    }

    .search-radio-pill input:checked + span,
    .search-check-row:has(input:checked){
        transform:translateY(-1px) !important;
        box-shadow:0 9px 20px rgba(255,193,7,.28) !important;
    }

    .search-check-row input{
        display:none !important;
    }

    .search-radio-pill input:checked + span::after,
    .search-check-row:has(input:checked)::after{
        position:absolute !important;
        top:-7px !important;
        right:-6px !important;
        display:inline-flex !important;
        width:18px !important;
        height:18px !important;
        font-size:10px !important;
        border:2px solid #071322 !important;
    }

    .search-filter-group:nth-of-type(3){
        display:block !important;
    }

    .search-filters-form .btn{
        position:sticky !important;
        bottom:0 !important;
        min-height:48px !important;
        border-radius:16px !important;
        font-size:14px !important;
        font-weight:950 !important;
        box-shadow:0 12px 28px rgba(255,193,7,.14) !important;
    }

    /* mapę chowamy na mobile, jest przycisk Mapa */
    .search-map-side{
        display:none !important;
    }

    /* cards */
    .search-results-list.view-list{
        gap:10px !important;
    }

    .search-station-card{
        border-radius:18px !important;
        overflow:hidden !important;
    }

    .search-station-badge{
        margin:10px 10px 0 !important;
        padding:7px 10px !important;
        font-size:11px !important;
    }

    .search-station-card-inner{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:
            "left nav"
            "price price" !important;
        gap:10px !important;
        padding:12px !important;
        align-items:start !important;
    }

    .search-station-left{
        grid-area:left !important;
        min-width:0 !important;
    }

    .search-station-brand-wrap{
        gap:10px !important;
        align-items:center !important;
    }

    .search-station-logo{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        border-radius:13px !important;
    }

    .search-station-meta h2{
        font-size:15px !important;
        line-height:1.1 !important;
        margin-bottom:3px !important;
    }

    .search-station-address{
        font-size:12px !important;
        line-height:1.25 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
        white-space:normal !important;
    }

    .search-station-prices{
        grid-area:price !important;
        width:100% !important;
    }

    .search-station-prices--single{
        max-width:100% !important;
    }

    .search-price-box{
        display:grid !important;
        grid-template-columns:auto 1fr auto !important;
        align-items:center !important;
        gap:8px !important;
        min-height:44px !important;
        padding:9px 10px !important;
        border-radius:14px !important;
    }

    .search-price-box span,
    .search-price-box em{
        margin:0 !important;
        font-size:11px !important;
    }

    .search-price-box strong{
        font-size:17px !important;
        text-align:center !important;
    }

    .search-station-right{
        grid-area:nav !important;
        width:auto !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-end !important;
        justify-content:flex-start !important;
        gap:6px !important;
        padding:0 !important;
    }

    .search-station-distance{
        font-size:12px !important;
        padding:5px 8px !important;
        border-radius:999px !important;
        background:rgba(255,255,255,.06) !important;
    }

    .search-nav-btn{
        width:38px !important;
        height:38px !important;
        border-radius:13px !important;
        font-size:15px !important;
    }

    .search-station-time,
    .search-station-right .search-station-time{
        display:none !important;
    }

    .search-load-more-btn{
        width:100% !important;
        min-height:42px !important;
        border-radius:14px !important;
        font-size:13px !important;
    }

    .search-bottom-cta{
        margin-top:14px !important;
    }

    .search-bottom-cta-inner{
        padding:14px !important;
        border-radius:18px !important;
        gap:12px !important;
    }

    .search-bottom-cta-actions .btn{
        min-height:42px !important;
        border-radius:14px !important;
        font-size:13px !important;
    }
}

@media(max-width:390px){
    .search-filter-group:nth-of-type(1),
    .search-filter-group:nth-of-type(2){
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .search-price-box{
        grid-template-columns:auto 1fr !important;
    }

    .search-price-box em{
        grid-column:1 / -1 !important;
        text-align:left !important;
    }
}

/* =====================================================
   SEARCH RESULTS — czytelniejsze karty z miastem
===================================================== */

.search-station-card-inner{
    grid-template-columns:minmax(260px, 1.25fr) minmax(160px, 200px) 72px;
    gap:16px;
    padding:18px 18px;
}

.search-station-title-row{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    margin-bottom:6px;
}

.search-station-title-row h2{
    margin:0 !important;
    min-width:0;
}

.search-station-title-row h2 a{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.search-city-badge{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:128px;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(255,193,7,.13);
    border:1px solid rgba(255,193,7,.22);
    color:#ffd75e;
    font-size:.72rem;
    line-height:1;
    font-weight:950;
    letter-spacing:.01em;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.search-station-address{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    color:rgba(227,239,255,.68);
}

.search-station-address i{
    flex:0 0 auto;
    font-size:.86rem;
    color:rgba(255,193,7,.76);
}

.search-station-address span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.search-fuel-summary{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin-top:9px;
}

.search-fuel-summary span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:26px;
    padding:0 8px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
    color:rgba(232,241,255,.76);
    font-size:.72rem;
    line-height:1;
    font-weight:850;
    white-space:nowrap;
}

.search-fuel-summary span.is-active{
    border-color:rgba(255,193,7,.28);
    background:rgba(255,193,7,.10);
    color:#fff;
}

.search-fuel-summary b{
    color:#ffd75e;
    font-size:.66rem;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.search-price-box{
    border-color:rgba(255,255,255,.075);
}

.search-price-box.is-primary{
    background:linear-gradient(180deg, rgba(255,193,7,.105), rgba(255,193,7,.035));
}

.search-price-box.is-primary strong{
    font-size:1.26rem;
}

.search-price-box strong:has(+ em){
    margin-bottom:0;
}

.search-price-box strong:first-letter{
    letter-spacing:-.02em;
}

.search-station-card--result:not(:has(.search-price-box strong:not(:empty))) .search-price-box{
    opacity:.82;
}

@media (max-width: 991.98px){
    .search-station-card-inner{
        grid-template-columns:1fr minmax(150px, 190px) 60px;
    }
}

@media (max-width: 767.98px){
    .search-station-title-row{
        gap:7px !important;
        margin-bottom:4px !important;
        align-items:center !important;
    }

    .search-city-badge{
        max-width:100px !important;
        padding:4px 8px !important;
        font-size:10px !important;
    }

    .search-station-address{
        gap:5px !important;
    }

    .search-station-address i{
        font-size:11px !important;
    }

    .search-station-address span{
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
        white-space:normal !important;
    }

    .search-fuel-summary{
        gap:5px !important;
        margin-top:8px !important;
    }

    .search-fuel-summary span{
        min-height:24px !important;
        padding:0 7px !important;
        font-size:10px !important;
    }

    .search-fuel-summary b{
        font-size:9px !important;
    }
}

/* =====================================================
   DESKTOP — ukryj mobilne przełączniki Filtry / Mapa
===================================================== */

.search-mobile-filter-bar,
.search-mobile-filter-btn,
.search-mobile-map-btn,
.search-filter-overlay,
.search-filter-close{
    display:none !important;
}

@media (max-width: 767.98px){
    .search-mobile-filter-bar{
        display:grid !important;
    }

    .search-mobile-filter-btn,
    .search-mobile-map-btn{
        display:inline-flex !important;
    }

    .search-filter-overlay{
        display:block !important;
    }

    .search-filter-close{
        display:inline-flex !important;
    }
}

.search-station-card--featured{
    margin-bottom:14px !important;
}

.search-results-limit-note{
    margin:10px 0 0;
    color:rgba(227,239,255,.62);
    font-size:.84rem;
    line-height:1.4;
    text-align:center;
}

@media(max-width:767.98px){
    body.search-page,
    .search-results-page{
        padding-bottom:calc(150px + env(safe-area-inset-bottom)) !important;
    }

    .search-bottom-cta{
        margin-bottom:70px !important;
    }
}

.search-city-quicklink{
    margin:16px 0 24px;
    padding:14px 18px;
    border-radius:18px;
    background:rgba(255,193,7,.08);
    border:1px solid rgba(255,193,7,.18);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
}

.search-city-quicklink span{
    color:#aeb8c6;
    font-size:14px;
    font-weight:800;
}

.search-city-quicklink a{
    color:#fff;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

.search-city-quicklink a strong{
    color:#ffc107;
}

.search-city-quicklink a:hover{
    text-decoration:underline;
}

@media(max-width:900px){
    .search-city-quicklink{
        display:block;
    }

    .search-city-quicklink span{
        display:block;
        margin-bottom:6px;
    }
}

@media(max-width:640px){
    .search-city-quicklink{
        margin:12px 0 18px;
        padding:13px 14px;
        border-radius:16px;
    }

    .search-city-quicklink a{
        font-size:15px;
        line-height:1.45;
    }
}
/* =====================================================
   SEARCH CATALOG 2026-06 — lista zamiast mapy bocznej
   /szukaj.php ma być katalogiem stacji; mapa tylko po kliknięciu.
===================================================== */
.search-layout{
    grid-template-columns:280px minmax(0, 1fr) !important;
    gap:22px !important;
}

.search-map-side,
.search-map-card,
.search-mini-map{
    display:none !important;
}

.search-main-results{
    width:100% !important;
}

.search-station-card-inner{
    grid-template-columns:minmax(280px, 1.3fr) minmax(160px, 210px) minmax(190px, 230px) !important;
}

.search-station-actions{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
}

.search-card-btn{
    min-height:42px;
    padding:0 12px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.045);
    color:#eef4ff;
    text-decoration:none;
    font-size:.84rem;
    line-height:1.1;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    text-align:center;
    transition:.18s ease;
}

.search-card-btn:hover{
    color:#fff;
    background:rgba(255,255,255,.075);
    border-color:rgba(255,255,255,.18);
}

.search-card-btn--primary{
    color:#081524;
    border-color:rgba(255,193,7,.35);
    background:linear-gradient(180deg, #ffd64d 0%, #ffc107 100%);
    box-shadow:0 10px 24px rgba(255,193,7,.11), inset 0 1px 0 rgba(255,255,255,.4);
}

.search-card-btn--primary:hover{
    color:#07111d;
    background:linear-gradient(180deg, #ffe07a 0%, #ffc928 100%);
}

.search-mobile-map-btn{
    white-space:nowrap;
}

@media (min-width: 1200px){
    .search-results-page .container{
        max-width:1320px;
    }
}

@media (max-width: 1199.98px){
    .search-layout{
        grid-template-columns:260px minmax(0, 1fr) !important;
    }

    .search-station-card-inner{
        grid-template-columns:minmax(0, 1fr) minmax(150px, 190px) minmax(170px, 210px) !important;
    }
}

@media (max-width: 991.98px){
    .search-layout{
        grid-template-columns:1fr !important;
    }

    .search-station-card-inner{
        grid-template-columns:1fr !important;
    }

    .search-station-actions{
        flex-direction:row;
        flex-wrap:wrap;
    }

    .search-card-btn{
        flex:1 1 160px;
    }
}

@media (max-width: 767.98px){
    .search-results-page{
        padding-top:max(0px, env(safe-area-inset-top)) !important;
        padding-bottom:max(150px, calc(118px + env(safe-area-inset-bottom))) !important;
    }

    .search-topbar-section{
        padding-top:max(8px, calc(8px + env(safe-area-inset-top))) !important;
    }

    .search-mobile-filter-bar{
        top:env(safe-area-inset-top) !important;
        grid-template-columns:1fr 1.25fr !important;
        padding-top:8px !important;
        padding-bottom:8px !important;
    }

    .search-mobile-filter-btn,
    .search-mobile-map-btn{
        min-height:50px !important;
        font-size:14px !important;
        padding:0 10px !important;
        -webkit-tap-highlight-color:transparent !important;
    }

    .search-sidebar{
        padding-left:max(10px, env(safe-area-inset-left)) !important;
        padding-right:max(10px, env(safe-area-inset-right)) !important;
        padding-bottom:max(12px, calc(12px + env(safe-area-inset-bottom))) !important;
    }

    .search-sidebar .search-panel-card{
        max-height:min(82dvh, 680px) !important;
        padding-bottom:max(14px, calc(14px + env(safe-area-inset-bottom))) !important;
    }

    .search-station-card-inner{
        grid-template-columns:minmax(0,1fr) !important;
        grid-template-areas:
            "left"
            "price"
            "nav" !important;
        gap:10px !important;
    }

    .search-station-right{
        grid-area:nav !important;
        width:100% !important;
        align-items:stretch !important;
        gap:8px !important;
    }

    .search-station-actions{
        width:100% !important;
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
    }

    .search-card-btn{
        min-height:44px !important;
        border-radius:14px !important;
        padding:0 8px !important;
        font-size:12.5px !important;
    }

    .search-station-distance{
        align-self:flex-start !important;
        margin-bottom:0 !important;
    }
}

@media (max-width: 390px){
    .search-mobile-filter-bar{
        grid-template-columns:1fr !important;
    }

    .search-station-actions{
        grid-template-columns:1fr !important;
    }
}

.search-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-shrink:0;
    flex-wrap:wrap;
}

.search-open-map-link{
    min-height:48px;
    padding:0 15px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.04);
    color:#eef4ff;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:.88rem;
    font-weight:900;
    white-space:nowrap;
}

.search-open-map-link:hover{
    color:#fff;
    background:rgba(255,255,255,.075);
}

@media(max-width:767.98px){
    .search-head-actions{
        width:100% !important;
    }

    .search-open-map-link{
        display:none !important;
    }
}


/* =====================================================
   FIX 2 — mobile katalog PRO: adres, autor, akcje obok siebie
===================================================== */
.search-station-contributor{
    display:flex;
    align-items:center;
    gap:5px;
    min-width:0;
    margin-top:4px;
    color:rgba(227,239,255,.56);
    font-size:.78rem;
    line-height:1.2;
}
.search-station-contributor i{
    flex:0 0 auto;
    color:rgba(255,193,7,.72);
    font-size:.86rem;
}
.search-station-contributor span{
    flex:0 0 auto;
}
.search-station-contributor a{
    min-width:0;
    max-width:145px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#ffd45a;
    font-weight:900;
    text-decoration:none;
}
.search-station-contributor a:hover{ text-decoration:underline; }
.search-card-btn i{ font-size:.95em; }

@media (max-width: 767.98px){
    .search-results-page{
        min-height:100dvh !important;
        padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
    }

    .search-topbar-section{
        padding:calc(6px + env(safe-area-inset-top)) 0 4px !important;
    }

    .search-topbar-form{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 44px !important;
        gap:7px !important;
        padding:7px !important;
        border-radius:18px !important;
        background:rgba(6,18,33,.80) !important;
    }

    .search-topbar-input-wrap{ grid-column:1 / 2 !important; }

    .search-topbar-form .form-control{
        height:43px !important;
        font-size:13px !important;
        border-radius:14px !important;
        padding-left:38px !important;
    }

    .search-topbar-input-wrap i{ left:14px !important; font-size:13px !important; }

    .search-topbar-submit{
        grid-column:2 / 3 !important;
        width:44px !important;
        min-width:44px !important;
        height:43px !important;
        min-height:43px !important;
        padding:0 !important;
        border-radius:14px !important;
        flex:none !important;
    }

    .search-location-btn{
        grid-column:1 / -1 !important;
        width:100% !important;
        height:34px !important;
        min-height:34px !important;
        border-radius:13px !important;
        font-size:12px !important;
        flex:none !important;
        opacity:.92 !important;
        background:rgba(255,255,255,.045) !important;
    }

    .search-mobile-filter-bar{
        grid-template-columns:1fr 1fr !important;
        gap:7px !important;
        margin:0 0 8px !important;
        padding:6px 0 !important;
        top:0 !important;
    }

    .search-mobile-filter-btn,
    .search-mobile-map-btn{
        min-height:40px !important;
        border-radius:14px !important;
        font-size:13px !important;
        box-shadow:none !important;
    }

    .search-results-head{
        display:block !important;
        padding:0 2px !important;
        margin:0 0 8px !important;
    }
    .search-results-head p{
        font-size:12px !important;
        line-height:1.35 !important;
    }
    .search-head-actions{ display:none !important; }

    .search-station-card{
        border-radius:17px !important;
        background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
    }

    .search-station-card-inner{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) !important;
        grid-template-areas:
            "left"
            "price"
            "actions" !important;
        gap:8px !important;
        padding:11px !important;
    }

    .search-station-left{ grid-area:left !important; }

    .search-station-brand-wrap{
        align-items:flex-start !important;
        gap:9px !important;
    }

    .search-station-logo{
        width:39px !important;
        height:39px !important;
        min-width:39px !important;
        border-radius:12px !important;
        margin-top:1px !important;
    }

    .search-station-title-row{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        gap:6px !important;
        width:100% !important;
        margin-bottom:3px !important;
    }

    .search-station-title-row h2 a{
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .search-city-badge{
        max-width:92px !important;
        padding:4px 7px !important;
        font-size:9.5px !important;
    }

    .search-station-address{
        display:flex !important;
        align-items:flex-start !important;
        gap:5px !important;
        font-size:11.5px !important;
        line-height:1.25 !important;
        color:rgba(227,239,255,.68) !important;
    }

    .search-station-address span{
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
        white-space:normal !important;
    }

    .search-station-contributor{
        margin-top:4px !important;
        font-size:10.5px !important;
        color:rgba(227,239,255,.54) !important;
    }
    .search-station-contributor i{ font-size:11px !important; }
    .search-station-contributor a{ max-width:120px !important; }

    .search-station-prices{
        grid-area:price !important;
    }

    .search-price-box{
        min-height:40px !important;
        padding:8px 9px !important;
        border-radius:13px !important;
        grid-template-columns:auto 1fr auto !important;
    }

    .search-price-box span,
    .search-price-box em{ font-size:10.5px !important; }
    .search-price-box strong{ font-size:16px !important; }

    .search-station-right{
        grid-area:actions !important;
        width:100% !important;
        display:block !important;
    }

    .search-station-distance,
    .search-station-time{ display:none !important; }

    .search-station-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:7px !important;
        width:100% !important;
    }

    .search-card-btn{
        width:100% !important;
        min-height:38px !important;
        height:38px !important;
        padding:0 8px !important;
        border-radius:13px !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:5px !important;
        font-size:12px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    .search-card-btn span{ display:inline !important; }

    .search-station-actions .search-card-btn:only-child{
        grid-column:1 / -1 !important;
    }

    .search-sidebar{
        padding-bottom:max(10px, env(safe-area-inset-bottom)) !important;
    }

    .search-sidebar .search-panel-card{
        max-height:calc(82dvh - env(safe-area-inset-top)) !important;
        padding-bottom:calc(14px + env(safe-area-inset-bottom)) !important;
    }
}

@media (max-width: 390px){
    .search-station-card-inner{ padding:10px !important; }
    .search-station-logo{ width:36px !important; height:36px !important; min-width:36px !important; }
    .search-station-meta h2{ font-size:14px !important; }
    .search-city-badge{ max-width:82px !important; }
    .search-card-btn{ font-size:11.5px !important; }
}

/* =========================================================
   Mobile/iOS hotfix v3
   - iPhone Safari nie robi auto-zoomu, gdy pola mają min. 16px
   - górny pasek jest lżejszy
========================================================= */
@media (max-width: 767.98px){
    .search-results-page input,
    .search-results-page select,
    .search-results-page textarea,
    .search-topbar-form .form-control,
    .search-filters-form input,
    .search-filters-form select{
        font-size:16px !important;
    }

    .search-topbar-section{
        padding-top:calc(6px + env(safe-area-inset-top)) !important;
        padding-bottom:6px !important;
    }

    .search-topbar-form{
        padding:6px !important;
        gap:6px !important;
        border-radius:16px !important;
    }

    .search-topbar-form .form-control{
        height:42px !important;
        line-height:42px !important;
        border-radius:13px !important;
        padding-left:38px !important;
    }

    .search-topbar-submit{
        width:42px !important;
        min-width:42px !important;
        height:42px !important;
        min-height:42px !important;
        border-radius:13px !important;
    }

    .search-location-btn{
        height:34px !important;
        min-height:34px !important;
        font-size:13px !important;
    }

    .search-mobile-filter-bar{
        grid-template-columns:1fr !important;
        padding:6px 0 !important;
        gap:6px !important;
    }

    /* Na /szukaj mapa nie jest głównym widokiem. Zostaje tylko przycisk na karcie stacji. */
    .search-mobile-map-btn{
        display:none !important;
    }

    .search-mobile-filter-btn{
        min-height:40px !important;
        border-radius:14px !important;
        padding:0 12px !important;
        font-size:13px !important;
    }

    .search-station-address{
        display:flex !important;
        align-items:flex-start !important;
        gap:5px !important;
        margin-top:4px !important;
        font-size:12px !important;
        line-height:1.3 !important;
        color:rgba(226,239,255,.72) !important;
    }

    .search-station-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:6px !important;
        width:100% !important;
    }

    .search-card-btn{
        min-height:34px !important;
        height:34px !important;
        padding:0 8px !important;
        border-radius:12px !important;
        font-size:12px !important;
    }
}

/* =========================================================
   Search premium pass 2026-07
   Dane i czytelność zamiast dekoracyjnych efektów.
========================================================= */
.search-page,
.search-results-page{
    background:linear-gradient(180deg, #06111d 0%, #081523 48%, #07111d 100%) !important;
}

.search-results-page::before,
.search-station-card::before{
    display:none !important;
}

.search-topbar-form,
.search-panel-card,
.search-bottom-cta-inner{
    background:rgba(9,20,34,.92) !important;
    border-color:rgba(157,178,205,.15) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    backdrop-filter:none !important;
}

.search-station-card{
    border-radius:18px !important;
    border-color:rgba(157,178,205,.16) !important;
    background:#0a1726 !important;
    box-shadow:0 12px 30px rgba(0,0,0,.21) !important;
}

.search-station-card:hover{
    transform:translateY(-1px);
    border-color:rgba(255,193,7,.27) !important;
    box-shadow:0 16px 38px rgba(0,0,0,.28) !important;
}

.search-station-card--featured{
    border-color:rgba(255,193,7,.34) !important;
    background:#0b1928 !important;
}

.search-station-badge{
    margin:14px 16px 0 !important;
    padding:8px 12px !important;
    border-radius:12px !important;
    border:1px solid rgba(255,193,7,.22) !important;
    background:rgba(255,193,7,.09) !important;
    color:#ffd75e !important;
}

.search-station-logo{
    border-radius:12px !important;
    background:#fff !important;
    border-color:rgba(255,255,255,.9) !important;
    box-shadow:0 8px 20px rgba(0,0,0,.16) !important;
}

.search-station-logo.no-logo{
    background:#111f31 !important;
    border-color:rgba(157,178,205,.16) !important;
}

.search-station-meta h2{
    letter-spacing:0 !important;
}

.search-station-address,
.search-station-contributor{
    color:rgba(230,239,251,.72) !important;
}

.search-city-badge{
    border-color:rgba(157,178,205,.18) !important;
    background:rgba(157,178,205,.08) !important;
    color:#dbe8f8 !important;
}

.search-fuel-summary{
    gap:7px !important;
}

.search-fuel-summary span{
    border-radius:9px !important;
    border-color:rgba(157,178,205,.16) !important;
    background:rgba(255,255,255,.045) !important;
    color:rgba(238,244,255,.82) !important;
}

.search-fuel-summary span.is-active{
    border-color:rgba(255,193,7,.34) !important;
    background:rgba(255,193,7,.11) !important;
    color:#fff !important;
}

.search-price-box{
    border-radius:14px !important;
    border-color:rgba(157,178,205,.16) !important;
    background:#0f2134 !important;
}

.search-price-box.is-primary{
    background:#111f2d !important;
    border-color:rgba(255,193,7,.32) !important;
}

.search-price-box.is-primary strong{
    color:#ffd75e !important;
}

.search-card-btn{
    border-radius:10px !important;
    background:#102033 !important;
    border-color:rgba(157,178,205,.18) !important;
}

.search-card-btn--primary{
    color:#07111d !important;
    background:#ffc107 !important;
    border-color:#ffc107 !important;
    box-shadow:none !important;
}

.search-station-actions{
    position:relative;
}

.search-card-btn--share{
    cursor:pointer;
}

.search-share-menu{
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    z-index:20;
    width:180px;
    padding:6px;
    border:1px solid rgba(157,178,205,.18);
    border-radius:12px;
    background:#081523;
    box-shadow:0 16px 34px rgba(0,0,0,.35);
}

.search-share-menu a,
.search-share-menu button{
    width:100%;
    min-height:36px;
    padding:0 10px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#eaf2ff;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:9px;
    font-size:.84rem;
    font-weight:850;
    text-align:left;
    cursor:pointer;
}

.search-share-menu a:hover,
.search-share-menu button:hover{
    background:rgba(255,255,255,.07);
    color:#fff;
}

.search-results-limit-note{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    margin:12px auto 0 !important;
    padding:9px 12px;
    border:1px solid rgba(157,178,205,.14);
    border-radius:12px;
    background:rgba(9,20,34,.58);
    color:rgba(230,239,251,.7) !important;
}

@media (max-width: 767.98px){
    .search-station-card:hover{
        transform:none;
    }

    .search-fuel-summary{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .search-fuel-summary span{
        justify-content:space-between;
        min-width:0;
    }

    .search-card-btn--share{
        grid-column:1 / -1;
    }

    .search-share-menu{
        left:0;
        right:0;
        top:calc(100% + 7px);
        width:auto;
    }
}
