:root{--szp-red:#fb0606;--szp-red-dark:#d90404;--szp-text:#171717;--szp-muted:#5f6368;--szp-line:#e5e7eb;--szp-bg:#f8fafc;--szp-soft:#fff6f6}
.szp-fuel-page{background:#fff;color:var(--szp-text);padding:22px 20px 76px;font-size:18px;line-height:1.6}
.szp-fuel-container{width:min(1280px,100%);margin:0 auto}
.szp-brand{display:flex;align-items:center;justify-content:center;min-height:70px;margin:0 0 28px;text-align:center}
.szp-brand .custom-logo-link,.szp-brand-fallback-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.szp-brand .custom-logo,.szp-brand-image{display:block;width:272px!important;min-width:272px!important;max-width:272px!important;height:auto!important;max-height:none!important;object-fit:contain}
.szp-brand-text{font-size:40px;font-weight:800;color:var(--szp-red);text-decoration:none}
.szp-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:16px;line-height:1.5;color:var(--szp-muted);margin-bottom:26px}
.szp-breadcrumb a{color:var(--szp-red);font-weight:700;text-decoration:none}.szp-breadcrumb a:hover{text-decoration:underline}
.szp-fuel-header{display:flex;justify-content:space-between;gap:26px;align-items:end;border-bottom:1px solid var(--szp-line);padding-bottom:22px;margin-bottom:22px}
.szp-fuel-header h1{font-size:clamp(38px,4.6vw,58px);line-height:1.08;margin:6px 0 8px;color:#111827;letter-spacing:-.02em}
.szp-eyebrow{display:inline-block;font-size:15px;line-height:1.4;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--szp-red)}
.szp-location-meta{font-size:18px;line-height:1.55;color:var(--szp-muted);margin:0}
.szp-lead{font-size:20px;line-height:1.7;color:#4b5563;max-width:980px;margin:0 0 28px}

/* Duża, czytelna wyszukiwarka */
.szp-location-search{position:relative;background:#fff;border:1px solid #e7e9ed;border-radius:18px;padding:28px 26px 22px;margin:28px 0 34px;box-shadow:0 12px 34px rgba(17,24,39,.09)}
.szp-search-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.szp-search-kicker{display:block;color:var(--szp-red);font-size:14px;line-height:1.4;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}
.szp-search-heading h2{font-size:28px;line-height:1.25;margin:0;color:#111827}
.szp-search-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 14px;background:var(--szp-soft);border:1px solid #ffd2d2;color:#a80000;font-size:15px;font-weight:800;white-space:nowrap}
.szp-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end}
.szp-search-field label{display:block;font-weight:750;margin:0 0 9px;font-size:17px;line-height:1.4;color:#232323}
.szp-search-input-wrap{position:relative}
.szp-search-svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:23px;height:23px;color:#8b929c;pointer-events:none}
.szp-search-input-wrap input{width:100%;height:58px;border:1px solid #c9cfd7;border-radius:10px;background:#fff;padding:0 16px 0 52px;font-size:18px;color:#111827;box-sizing:border-box;transition:border-color .18s,box-shadow .18s}
.szp-search-input-wrap input::placeholder{color:#8b929c}.szp-search-input-wrap input:focus{outline:0;border-color:var(--szp-red);box-shadow:0 0 0 4px rgba(251,6,6,.10)}
.szp-search-submit,.szp-search-clear{height:58px;border-radius:10px;padding:0 28px;font-size:17px;font-weight:800;cursor:pointer;transition:transform .12s,background .18s,border-color .18s}
.szp-search-submit{border:1px solid var(--szp-red);background:var(--szp-red);color:#fff;min-width:126px}.szp-search-submit:hover{background:var(--szp-red-dark);border-color:var(--szp-red-dark)}
.szp-search-clear{border:1px solid #c9cfd7;background:#fff;color:#111827;min-width:118px}.szp-search-clear:hover{border-color:#8b929c;background:#fafafa}
.szp-search-submit:active,.szp-search-clear:active{transform:translateY(1px)}
.szp-search-hint{font-size:15px;line-height:1.55;color:var(--szp-muted);margin-top:11px}
.szp-search-results{position:absolute;left:26px;right:26px;top:calc(100% - 14px);z-index:100;background:#fff;border:1px solid var(--szp-line);box-shadow:0 18px 44px rgba(0,0,0,.15);border-radius:12px;overflow:hidden;max-height:430px;overflow-y:auto}
.szp-search-results a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 16px;text-decoration:none;color:var(--szp-text);border-bottom:1px solid #f1f5f9}.szp-search-results a:last-child{border-bottom:0}.szp-search-results a:hover,.szp-search-results a:focus{background:var(--szp-soft);outline:0}.szp-search-results strong{font-size:18px}.szp-search-results span{color:var(--szp-muted);font-size:15px;text-align:right}.szp-search-empty{padding:17px;color:var(--szp-muted);font-size:16px}

/* Panel cen */
.szp-widget-section{border:1px solid var(--szp-line);border-top:5px solid var(--szp-red);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 38px rgba(17,24,39,.08);margin:30px 0}
.szp-widget-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;background:linear-gradient(180deg,#fff,#fffafa);border-bottom:1px solid #f3e6e6;font-size:17px;line-height:1.4;color:var(--szp-muted)}
.szp-widget-topline span{font-weight:800;color:#111827}.szp-widget-topline strong{color:var(--szp-red);font-weight:800}
.szp-provider-note{padding:15px 20px;background:#fff8f8;border-bottom:1px solid #f4dcdc;color:#4b5563;font-size:17px;line-height:1.6}.szp-provider-note strong{color:#202124}.szp-provider-note .szp-provider-location-link{color:#fb0606;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.szp-provider-note .szp-provider-location-link:hover,.szp-provider-note .szp-provider-location-link:focus{color:#c90000;text-decoration-thickness:2px}

/* Iframe jest z innej domeny, więc nie można zmienić jego fontów CSS-em.
   Skalujemy cały widget wizualnie, a JS dopasowuje wysokość kontenera. */
.szp-kfb-wrap{--szp-widget-scale:1.18;position:relative;width:100%;overflow:hidden;background:#fff}
.szp-kfb-iframe{display:block;width:calc(100% / var(--szp-widget-scale))!important;max-width:none!important;border:0;background:#fff;transform:scale(var(--szp-widget-scale));transform-origin:0 0}
.szp-widget-error{padding:28px;font-size:18px;color:#991b1b;background:#fff5f5}
.szp-source{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;padding:16px 20px;border-top:1px solid #f0f1f3;background:#fafafa;font-size:15px;line-height:1.55;color:var(--szp-muted)}
.szp-source strong{color:#333}.szp-source a{color:var(--szp-red);font-weight:750;text-decoration:none}.szp-source a:hover{text-decoration:underline}.szp-source-note{color:#676c74}
.szp-related{margin-top:44px}.szp-related h2{font-size:30px;line-height:1.25;margin-bottom:18px}.szp-related-grid,.szp-location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.szp-related-grid a,.szp-location-card{border:1px solid var(--szp-line);border-radius:12px;padding:16px 17px;text-decoration:none;color:var(--szp-text);background:#fff;font-size:18px;line-height:1.45}.szp-related-grid a:hover,.szp-location-card:hover{border-color:#fecaca;background:#fff7f7;color:#991b1b}
.szp-location-card{display:flex;flex-direction:column;gap:5px}.szp-location-card span{font-size:15px;color:var(--szp-muted)}
.szp-pagination ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:32px 0}.szp-pagination a,.szp-pagination span{display:block;padding:10px 14px;border:1px solid var(--szp-line);border-radius:9px;text-decoration:none;font-size:17px}.szp-pagination .current{background:var(--szp-red);color:#fff;border-color:var(--szp-red)}

body.szp-fuel-standalone{margin:0;background:#fff}
body.szp-fuel-standalone .szp-fuel-page{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box}
body.szp-fuel-standalone .szp-fuel-container{width:min(1280px,calc(100vw - 40px))!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}

/* Stały link wewnętrzny pod listą pobliskich miejscowości */
.szp-tourism-link-wrap{display:flex;justify-content:center;margin:28px auto 8px}
.szp-tourism-link{display:block;width:min(520px,100%);box-sizing:border-box;background:var(--szp-red);color:#fff!important;text-align:center;text-decoration:none!important;font-size:20px;line-height:1.35;font-weight:800;padding:13px 22px;border-radius:4px;box-shadow:0 6px 16px rgba(251,6,6,.16);transition:background .18s,transform .12s}
.szp-tourism-link:hover,.szp-tourism-link:focus{background:var(--szp-red-dark);color:#fff!important;outline:0}
.szp-tourism-link:active{transform:translateY(1px)}

/* Stopka jest dokładnie tą z aktywnego WordPressa; wtyczka nie ustawia jej treści ani typografii. */
.szp-wordpress-footer{width:100%;margin:0;padding:0}

@media(max-width:900px){
  .szp-related-grid,.szp-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .szp-search-controls{grid-template-columns:1fr 1fr}.szp-search-field{grid-column:1/-1}.szp-search-submit,.szp-search-clear{width:100%}
  .szp-kfb-wrap{--szp-widget-scale:1.10}
}
@media(max-width:580px){
  .szp-fuel-page{padding:12px 12px 48px;font-size:17px}.szp-brand{min-height:70px;margin-bottom:16px}.szp-brand .custom-logo,.szp-brand-image{width:272px!important;min-width:272px!important;max-width:272px!important;height:auto!important;max-height:none!important}
  .szp-fuel-header h1{font-size:34px}.szp-lead{font-size:18px}.szp-breadcrumb{font-size:15px}
  .szp-related-grid,.szp-location-grid{grid-template-columns:1fr}.szp-location-search{padding:20px 16px 17px;border-radius:14px}.szp-search-heading{align-items:flex-start}.szp-search-heading h2{font-size:24px}.szp-search-badge{display:none}.szp-search-controls{grid-template-columns:1fr}.szp-search-field{grid-column:auto}.szp-search-submit,.szp-search-clear{width:100%}.szp-search-results{left:16px;right:16px}
  .szp-widget-topline{padding:13px 14px;font-size:16px}.szp-provider-note{padding:13px 14px;font-size:16px}.szp-source{display:block;padding:14px;font-size:14px}.szp-source>div+div{margin-top:7px}
  body.szp-fuel-standalone .szp-fuel-container{width:min(100% - 24px,1280px)!important}
  .szp-kfb-wrap{--szp-widget-scale:1.04}
}

/* Mapa pobliskich stacji paliw */
.szp-map-section{margin:38px 0 34px;background:#fff;border:1px solid var(--szp-line);border-radius:18px;box-shadow:0 12px 38px rgba(17,24,39,.08);overflow:hidden}
.szp-map-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid var(--szp-line);background:#fff}
.szp-map-heading h2{margin:0 0 4px;font-size:30px;line-height:1.2;color:#111827}
.szp-map-heading p{margin:0;color:var(--szp-muted);font-size:17px;line-height:1.5}
.szp-map-count{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 13px;border:1px solid #ffd1d1;border-radius:999px;background:#fff6f6;color:#a60000;font-size:15px;font-weight:800;white-space:nowrap}
.szp-map-canvas{width:100%;height:520px;background:#eef1f4;z-index:1}
.szp-map-status{padding:13px 20px;border-top:1px solid var(--szp-line);font-size:15px;color:var(--szp-muted);background:#fafafa}
.szp-map-section.is-ready .szp-map-status{display:none}
.szp-map-section.is-error .szp-map-status{color:#991b1b;background:#fff5f5}
.szp-map-section.is-warning .szp-map-status{color:#7a4b00;background:#fff8e6}
.szp-map-section .leaflet-container{font-family:inherit;font-size:15px}
.szp-map-section .leaflet-popup-content{font-size:15px;line-height:1.45;margin:14px 16px}
.szp-map-popup-title{font-size:17px;font-weight:800;color:#111827;margin-bottom:4px}
.szp-map-popup-meta{color:#5f6368;margin-top:3px}
.szp-map-popup-link{display:inline-block;margin-top:8px;color:var(--szp-red);font-weight:750;text-decoration:none}.szp-map-popup-link:hover{text-decoration:underline}
.szp-archive-attribution{margin:34px 0 0;font-size:13px;color:#8a8f98;text-align:center}.szp-archive-attribution a{color:inherit}

@media(max-width:700px){
  .szp-map-heading{display:block;padding:18px 16px}.szp-map-heading h2{font-size:25px}.szp-map-heading p{font-size:16px}.szp-map-count{margin-top:12px}.szp-map-canvas{height:420px}
}
