/* Poprawki PDP — minimalne, tylko realne usterki oryginału. */

/* Reguła zdjęta: strony kontaktu mają teraz baner ze zdjęciem, więc pasek górny
   zachowuje się tak samo jak na pozostałych podstronach — jasny tekst na zdjęciu. */

/* Adresy e-mail: motyw pokazuje je przez ::after (antyspam, adres w atrybutach).
   Skrypt zamienia je na klikalny link — wtedy wylaczamy pseudoelement, zeby sie
   nie dublowal. Gdy JS nie zadziala, ::after nadal pokazuje adres (jak dotad). */
.protect-email.is-linked::after { content: none; }
a.protect-email-link { color: inherit; }
a.protect-email-link:hover { color: #d6393a; }

/* =====================================================================
   STOPKA — kolumna z AEO i ikonami
   Problemy oryginalu: (1) ikony maja float, przez co ich kontener zapadal
   sie do 5px i psul odstepy; (2) ikony byly NAD naglowkiem, wiec kolumna
   jako jedyna nie zaczynala sie tytulem; (3) logo AEO 150px bialy kwadrat
   dominowalo nad reszta. Porzadkujemy: naglowek -> logo -> ikony.
   ===================================================================== */

/* 1) float psul wysokosc kontenera */
.ssbp-wrap.alignleft { float: none; }
.widget_ssba_widget .ssba { overflow: hidden; }
.widget_ssba_widget, .wp-block-group, .wp-block-group__inner-container { min-height: 0; }

/* 2) kolejnosc: blok z ikonami na koniec kolumny */
.footer-widget-container:has(.ssbp-wrap) { display: flex; flex-direction: column; }
/* margines gorny zerujemy — w ukladzie flex marginesy sie nie scalaja, a blok
   AEO ma juz 45px od dolu (standardowy rytm tej stopki). */
.footer-widget-container:has(.ssbp-wrap) > li:has(.ssbp-wrap) { order: 2; margin-top: 0; }

/* 3) logo AEO: mniejsze, zaokraglone, wyrownane do lewej jak reszta stopki */
.footer-widget-container .text-center { text-align: left; }
#footer-wrapper img[src*="AEO"], footer img[src*="AEO"] {
  width: 116px; height: auto; border-radius: 4px; display: block;
}

/* 4) ikony: rowny odstep, bez marginesow wtyczki */
.footer-widget-container .ssbp-wrap { margin: 0; }
.footer-widget-container .ssbp-wrap a { margin: 0 8px 0 0 !important; }

/* Strony prawne (polityka prywatnosci) — czytelna typografia w szablonie serwisu */
.pdp-legal { padding: 50px 0 20px; max-width: 860px; }
.pdp-legal h2 { font-size: 19px; margin: 34px 0 12px; text-transform: none; }
.pdp-legal h2:first-child { margin-top: 0; }
.pdp-legal p { margin: 0 0 14px; line-height: 24px; }
.pdp-legal ul { margin: 0 0 18px; padding: 0; list-style: none; }
.pdp-legal li { position: relative; padding: 5px 0 5px 20px; line-height: 22px; }
.pdp-legal li::before { content: ""; position: absolute; left: 0; top: 12px;
  width: 7px; height: 7px; background: #d6393a; border-radius: 50%; }

/* --- Klauzula informacyjna RODO przy formularzu --- */
.pdp-consent{
  font-size:12px;
  line-height:1.7;
  color:#8a8a8a;
  margin:0 0 18px;
  padding:14px 16px;
  background:#f7f7f7;
  border-left:3px solid #c8102e;
}
.pdp-consent a{color:#c8102e;text-decoration:underline;}
.pdp-consent a:hover{color:#8a8a8a;}

/* --- Link do polityki prywatnosci w stopce --- */
.copyright-container .pdp-privlink{margin:4px 0 0;}
.copyright-container .pdp-privlink a{color:inherit;opacity:.75;}
.copyright-container .pdp-privlink a:hover{opacity:1;color:#c8102e;}

/* --- Podstrony uslug: sekcje z naglowkami i listami --- */
.pdp-service h3{
  font-size:20px;
  margin:32px 0 12px;
  color:#333;
}
.pdp-service h3:first-child{margin-top:8px;}
.pdp-service ul{
  list-style:none;
  padding:0;
  margin:0 0 8px;
}
.pdp-service ul li{
  position:relative;
  padding:0 0 0 22px;
  margin-bottom:8px;
  line-height:1.7;
}
.pdp-service ul li::before{
  content:"";
  position:absolute;
  left:0; top:10px;
  width:7px; height:7px;
  background:#c8102e;
  border-radius:50%;
}

/* Przycisk wezwania do dzialania */
a.pdp-cta{
  display:inline-block;
  margin-top:12px;
  padding:12px 26px;
  background:#c8102e;
  color:#fff !important;
  font-weight:700;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:3px;
  transition:background .2s ease;
}
a.pdp-cta:hover,a.pdp-cta:focus{
  background:#8a0c22;
  color:#fff !important;
  text-decoration:none;
}

/* --- Galezie transportu: kafelki z ikonami --- */
.pdp-modes{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:20px 0 8px;
}
@media (max-width:767px){ .pdp-modes{grid-template-columns:repeat(2,1fr);} }
.pdp-mode{
  text-align:center;
  padding:22px 10px 18px;
  border:1px solid #e4e4e4;
  border-radius:4px;
  background:#fafafa;
  transition:border-color .2s ease, background .2s ease;
}
.pdp-mode:hover{border-color:#c8102e;background:#fff;}
.pdp-mode svg{
  width:46px; height:46px;
  display:block; margin:0 auto 12px;
  color:#c8102e;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pdp-mode span{
  display:block;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  color:#444;
  letter-spacing:.01em;
}

/* --- Zgoda ministerstwa: wyrozniony blok --- */
.pdp-permit{
  margin:26px 0;
  padding:20px 22px 20px 58px;
  background:#fbf3f4;
  border:1px solid #f0d8dc;
  border-left:4px solid #c8102e;
  border-radius:3px;
  position:relative;
}
.pdp-permit::before{
  content:"";
  position:absolute;
  left:20px; top:22px;
  width:22px; height:22px;
  background:#c8102e;
  border-radius:50%;
  box-shadow:inset 0 0 0 2px #fbf3f4;
}
.pdp-permit::after{
  content:"";
  position:absolute;
  left:26px; top:30px;
  width:10px; height:5px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.pdp-permit p{margin:0;font-size:15px;line-height:1.75;color:#4a4a4a;}

/* --- Certyfikaty w stopce: AEO + w trakcie uzyskiwania --- */
.pdp-certs{
  display:flex;
  justify-content:flex-start;   /* rowno z naglowkiem kolumny */
  align-items:flex-start;
  gap:9px;
  flex-wrap:nowrap;
  margin-top:4px;
}
.pdp-cert{
  margin:0;
  flex:0 0 auto;
  width:70px;
  text-align:center;
}
/* wszystkie trzy dokladnie tej samej wielkosci, niezaleznie od proporcji pliku */
.pdp-cert img{
  width:70px !important;
  height:70px !important;
  display:block;
  margin:0 0 5px;
  border-radius:6px;
  background:#fff;
  object-fit:contain;
}
.pdp-cert a{display:block;}
.pdp-cert figcaption{
  font-size:9px;
  line-height:1.2;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  white-space:nowrap;           /* podpis zawsze w jednej linijce */
}

/* --- Potwierdzenie skopiowania numeru WeChat --- */
.pdp-toast{
  position:absolute;
  transform:translate(-50%,-100%) translateY(6px);
  background:#25272e;
  color:#fff;
  font-size:12px;
  line-height:1.3;
  padding:8px 12px;
  border-radius:4px;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  opacity:0;
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:none;
  z-index:100000;
}
.pdp-toast.is-on{opacity:1;transform:translate(-50%,-100%) translateY(0);}
.pdp-toast::after{
  content:"";
  position:absolute;
  left:50%; top:100%;
  margin-left:-5px;
  border:5px solid transparent;
  border-top-color:#25272e;
}

/* --- Naglowek strony dla wyszukiwarek i czytnikow ekranu --- */
/* Nie zmienia wygladu: tresc pozostaje w dokumencie, ale nie zajmuje miejsca. */
.pdp-sr-only{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* --- Naglowek strony dla wyszukiwarek i czytnikow ekranu --- */
/* Nie zmienia wygladu: tresc zostaje w dokumencie, ale nie zajmuje miejsca. */
.pdp-sr-only{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* --- Kafelki uslug na stronie glownej: rowne wysokosci + oznaczenie nowosci --- */
/* Wiersz z kafelkami jako siatka — kolumny rozciagaja sie do tej samej wysokosci. */
.services-element{
  display:flex;
  flex-direction:column;
  height:100%;
}
.services-element .service-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
/* zdjecia w jednakowych proporcjach, niezaleznie od pliku zrodlowego */
.services-element .service-media{position:relative;}
.services-element .service-media img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}
/* opis przyciety do czterech wierszy — wyrownuje karty bez skracania tekstu w kodzie */
.services-element .service-body p{
  margin-bottom:0;
}

/* wiersz kafelkow */
.services-negative-top{
  display:flex;
  flex-wrap:wrap;
}
.services-negative-top > [class*="col-md-"]{
  display:flex;
  margin-bottom:24px;
}
.services-negative-top > [class*="col-md-"] > .services-element{width:100%;}

/* oznaczenie nowej uslugi */
/* Selektor musi byc bardziej szczegolowy niz reguly motywu
   (.service-feature-box .service-media span), inaczej jego odstepy wygrywaja.
   Wysrodkowanie przez wysokosc wiersza rowna wysokosci pudelka — najpewniejsza
   metoda dla tekstu jednowierszowego. */
.service-feature-box .service-media span.pdp-badge,
span.pdp-badge{
  position:absolute;
  top:12px; left:12px;
  z-index:5;
  display:block;
  height:26px;
  line-height:26px;
  padding:0 12px !important;
  background:#c8102e;
  color:#fff;
  font-family:Arial, sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-indent:.1em;
  text-align:center;
  border-radius:2px;
  text-transform:uppercase;
}

/* --- Pytania i odpowiedzi --- */
.pdp-faq{margin:8px 0 24px;}
.pdp-faq details{
  border-bottom:1px solid #e6e6e6;
  padding:14px 0;
}
.pdp-faq details:first-child{border-top:1px solid #e6e6e6;}
.pdp-faq summary{
  cursor:pointer;
  font-weight:700;
  font-size:15px;
  line-height:1.5;
  color:#333;
  list-style:none;
  padding-right:28px;
  position:relative;
}
.pdp-faq summary::-webkit-details-marker{display:none;}
.pdp-faq summary::after{
  content:"+";
  position:absolute;
  right:4px; top:-2px;
  font-size:20px;
  font-weight:400;
  color:#c8102e;
  transition:transform .2s ease;
}
.pdp-faq details[open] summary::after{content:"–";}
.pdp-faq summary:hover{color:#c8102e;}
.pdp-faq details p{margin:10px 0 0;line-height:1.75;color:#666;}

/* --- Oznaczenie nowej uslugi przy naglowku --- */
.pdp-badge-inline{
  display:inline-block;
  vertical-align:middle;
  margin-left:10px;
  height:24px;
  line-height:24px;
  padding:0 11px;
  background:#c8102e;
  color:#fff;
  font-family:Arial, sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-indent:.1em;
  border-radius:2px;
  text-transform:uppercase;
}
.pdp-section-new img{width:100%;height:auto;}

/* --- Kafelki uslug: nagłówki o wspolnej wysokosci --- */
/* Bez tego jednowierszowy naglowek ("Agencja celna") i dwuwierszowy
   ("Spedycja i transport") przesuwaja akapity wzgledem siebie. */
.services-negative-top .service-body .custom-heading{
  min-height:2.9em;
  display:flex;
  align-items:flex-start;
  margin-bottom:10px;
}
.services-negative-top .service-body .custom-heading h4{
  margin:0;
  line-height:1.35;
}

/* --- Podstrony uslug: opis, pod nim panel z zaproszeniem --- */
/* Uklad jednokolumnowy: tekst uslugi na pelnej szerokosci, ponizej wyrozniony
   panel. Wczesniej byly to dwie kolumny o roznej szerokosci i wysokosci,
   z ktorych wezsza niosla tresc glowna, a szersza dodatek. */
.pdp-stack > [class*="col-md-"]{
  float:none;
  width:100%;
}
.pdp-stack > [class*="col-md-"].custom-background{
  margin-top:36px;
}
.pdp-stack > [class*="col-md-"].custom-background h2{
  margin-top:0;
}
@media (max-width:767px){
  .pdp-stack > [class*="col-md-"].custom-background{margin-top:24px;}
}


/* --- Aktualnosci --- */
.pdp-news{max-width:760px;}
.pdp-post{
  padding:0 0 34px;
  margin-bottom:34px;
  border-bottom:1px solid #ececec;
}
.pdp-post:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.pdp-post time{
  display:block;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#9a9a9a;
  margin-bottom:8px;
}
.pdp-post h3{
  margin:0 0 16px;
  font-size:22px;
  line-height:1.35;
  color:#333;
}
.pdp-post img{
  display:block;
  width:100%;
  height:auto;
  margin:0 0 18px;
  border-radius:3px;
}
.pdp-post p{
  margin:0 0 12px;
  line-height:1.8;
  color:#666;
}
.pdp-post p:last-child{margin-bottom:0;}
.pdp-post-link a{
  display:inline-block;
  margin-top:6px;
  font-size:13px;
  font-weight:700;
  color:#c8102e;
}
.pdp-post-link a:hover{text-decoration:underline;}
.pdp-news-empty{color:#9a9a9a;font-style:italic;}

/* --- Kariera: nota o systemie rekrutacyjnym pod przyciskiem --- */
.pdp-kariera-nota{
  margin-top:14px;
  font-size:12px;
  line-height:1.7;
  color:#9a9a9a;
  max-width:640px;
}

/* --- Certyfikaty: wyjasnienie, ze daty dotycza planowanego uzyskania --- */
/* flex-basis 100% wypycha note do wlasnego wiersza — bez tego staje sie
   kolejna kolumna obok kafelkow i zwija sie do kilku znakow szerokosci. */
.pdp-certs-nota{
  clear:both;
  width:100%;
  max-width:260px;
  margin:12px 0 0;
  font-size:10px;
  line-height:1.6;
  color:rgba(255,255,255,.45);
}

/* --- Okruszki nawigacyjne w banerze podstrony --- */
.pdp-okruszki{
  margin-top:10px;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.75);
}
.pdp-okruszki a{
  color:rgba(255,255,255,.75);
  text-decoration:none;
}
.pdp-okruszki a:hover{
  color:#fff;
  text-decoration:underline;
}
.pdp-okruszki-sep{
  margin:0 8px;
  color:rgba(255,255,255,.4);
}
.pdp-okruszki [aria-current="page"]{color:#fff;}
@media (max-width:767px){
  .pdp-okruszki{font-size:12px;}
  .pdp-okruszki-sep{margin:0 5px;}
}

/* Baner zgody na cookie analityczne.
   Dolny pasek, nie zaslania tresci na desktopie i nie blokuje strony —
   uzytkownik moze czytac dalej, a decyzja i tak jest wymagana przed
   zapisaniem czegokolwiek (Consent Mode startuje z odmowa). */
.pdp-zgoda{
  position:fixed;
  left:16px; right:16px; bottom:16px;
  z-index:9999;
  max-width:760px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:20px;
  background:#25272e;
  color:#e8e8ea;
  font-size:13px;
  line-height:1.55;
  padding:16px 20px;
  border-radius:6px;
  box-shadow:0 6px 28px rgba(0,0,0,.32);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .25s ease, transform .25s ease;
}
.pdp-zgoda.is-on{opacity:1;transform:translateY(0);}
.pdp-zgoda-tekst{margin:0;flex:1 1 auto;}
.pdp-zgoda-tekst a{
  color:#fff;
  text-decoration:underline;
  white-space:nowrap;
}
.pdp-zgoda-akcje{
  flex:0 0 auto;
  display:flex;
  gap:10px;
}
.pdp-zgoda button{
  font:inherit;
  font-weight:600;
  line-height:1;
  padding:11px 20px;
  border-radius:4px;
  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s ease, border-color .15s ease;
}
.pdp-zgoda-tak{background:#c8102e;color:#fff;}
.pdp-zgoda-tak:hover{background:#a60d26;}
.pdp-zgoda-nie{background:transparent;color:#e8e8ea;border-color:rgba(255,255,255,.35);}
.pdp-zgoda-nie:hover{border-color:#fff;color:#fff;}
@media (max-width:600px){
  .pdp-zgoda{
    left:10px; right:10px; bottom:10px;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    padding:16px;
  }
  .pdp-zgoda-akcje button{flex:1 1 0;padding:12px 10px;}
}

/* Przycisk zmiany zgody w polityce prywatnosci. */
button.pdp-zgoda-zmien{
  font:inherit;
  font-weight:600;
  color:#c8102e;
  background:transparent;
  border:1px solid #c8102e;
  border-radius:4px;
  padding:9px 18px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
button.pdp-zgoda-zmien:hover{background:#c8102e;color:#fff;}

/* Okno z kodem QR WeChat (ikona w stopce). */
.pdp-qr-tlo{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(0,0,0,.6);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.pdp-qr{
  position:relative;
  background:#fff;
  border-radius:8px;
  padding:26px 28px 22px;
  text-align:center;
  max-width:300px;
  box-shadow:0 10px 40px rgba(0,0,0,.35);
}
.pdp-qr img{
  display:block;
  width:220px; height:220px;
  margin:0 auto 14px;
}
.pdp-qr-tyt{
  margin:0 0 16px;
  font-size:14px;
  font-weight:600;
  color:#25272e;
  line-height:1.4;
}
.pdp-qr-pod{
  margin:0 0 14px;
  font-size:12.5px;
  color:#666;
  line-height:1.5;
}
.pdp-qr-pod strong{
  display:block;
  color:#25272e;
  font-size:14px;
  margin-top:2px;
}
.pdp-qr-kop{
  font:inherit;
  font-size:13px;
  font-weight:600;
  color:#fff;
  background:#c8102e;
  border:0;
  border-radius:4px;
  padding:9px 20px;
  cursor:pointer;
  transition:background .15s ease;
}
.pdp-qr-kop:hover{background:#a60d26;}
.pdp-qr-x{
  position:absolute;
  top:6px; right:10px;
  font:inherit;
  font-size:24px;
  line-height:1;
  color:#999;
  background:none;
  border:0;
  padding:4px 6px;
  cursor:pointer;
}
.pdp-qr-x:hover{color:#25272e;}
