/* Airport Fleet Service – careers and social interactions.
   External stylesheet because site CSP only permits style-src 'self'. */

/* Company follow control in the contact column of the footer */
.afs-follow {
  display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px;
  padding-top:18px;border-top:1px solid #d6e0eb;
}
.afs-follow-label {font-size:.88rem;font-weight:700;color:#163454}
.afs-follow a {
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;min-width:44px;border-radius:11px;
  background:#0a66c2;color:#fff;text-decoration:none;
  transition:transform .15s ease,background-color .15s ease;
}
.afs-follow a:hover {background:#084c94;transform:translateY(-2px)}
.afs-follow svg {display:block;width:23px;height:23px}

/* Consistent, deliberately minimal job listing cards */
.vacancy-grid {align-items:stretch}
.vacancy-grid .vacancy-card {
  display:flex;flex-direction:column;min-width:0;
  background:#f3f6fa;border:1px solid #dbe3ed;border-radius:13px;
  overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.vacancy-grid .vacancy-card:hover {
  border-color:#b6cae6;box-shadow:0 12px 30px rgba(8,30,61,.09);
  transform:translateY(-2px);
}
.vacancy-grid .vacancy-card > div {
  display:flex;flex-direction:column;flex:1;min-width:0;padding:28px;
}
.vacancy-grid .vacancy-card h2 {font-size:clamp(1.55rem,2.5vw,2.35rem)}
.vacancy-grid .vacancy-card p:not(.eyebrow) {line-height:1.68}
.vacancy-grid .vacancy-card .button {
  align-self:flex-start;display:inline-flex;margin-top:auto;padding-top:12px;
  margin-bottom:0;min-height:48px;
}
.vacancy-grid .vacancy-card .eyebrow {margin:0 0 12px}

/* Individual vacancy page – photo and primary action in a compact two-column hero */
.afs-job-hero {
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(28px,4vw,58px);align-items:center;
  padding-top:35px;padding-bottom:46px;
}
.afs-job-copy {min-width:0}
.afs-job-copy .eyebrow {margin-bottom:15px}
.afs-job-copy h1 {
  max-width:670px;font-size:clamp(2.15rem,3.65vw,3.7rem);
  line-height:1.1;letter-spacing:-.045em;margin:0 0 20px;
}
.afs-job-copy > p:not(.eyebrow) {
  font-size:1.07rem;line-height:1.75;color:#485d73;
  max-width:570px;margin:0 0 24px;
}
.afs-job-cta {display:flex;align-items:center;flex-wrap:wrap;gap:15px 23px;margin-top:18px}
.afs-job-cta .button {min-height:50px}
.afs-back-link {
  display:inline-flex;gap:8px;align-items:center;min-height:48px;
  color:#174779;text-decoration:none;font-size:.92rem;font-weight:700;
}
.afs-back-link:hover {color:#0d5ed1;text-decoration:underline}
.afs-back-link svg {width:18px;height:18px;flex-shrink:0}
.afs-job-figure {margin:0;min-width:0}
.afs-job-figure img {
  display:block;width:100%;height:340px;object-fit:cover;object-position:center;
  border-radius:14px;box-shadow:0 16px 36px rgba(8,30,61,.13);
}
.afs-job-content {max-width:1040px;margin-bottom:65px}
.afs-job-content .vacancy-details {
  margin:0 auto;padding:clamp(24px,3vw,42px);
  border:1px solid #dce5f1;border-radius:14px;background:white;
}
.afs-job-content .vacancy-details h2 {margin-bottom:18px}
.afs-job-content .vacancy-details h3 {margin:28px 0 10px;color:#082c54}
.afs-job-content .vacancy-details p,.afs-job-content .vacancy-details li {line-height:1.78}
.afs-job-content .vacancy-details ul {padding-left:1.4rem}
.afs-job-content .vacancy-details .button {display:inline-flex;margin-top:16px}

/* Icon-only share links, with accessible labels in the markup */
.afs-share {
  display:flex;gap:12px;align-items:center;flex-wrap:wrap;
  margin:25px 0 0;padding:19px 0 0;border-top:1px solid #dce4ef;
}
.afs-share-label {font-size:.87rem;font-weight:700;color:#405775;margin-right:2px}
.afs-share-links {display:flex;align-items:center;gap:10px}
.afs-share a {
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;min-width:46px;min-height:46px;padding:0;
  background:#f4f7fb;border:1px solid #d0dce9;border-radius:12px;
  text-decoration:none;transition:transform .15s,background-color .15s,border-color .15s;
}
.afs-share a svg {width:22px;height:22px;display:block}
.afs-share a[data-network="linkedin"] svg,.afs-share a[data-network="facebook"] svg {fill:currentColor}
.afs-share a[data-network="whatsapp"] svg {fill:none;stroke:currentColor}
.afs-share a[data-network="linkedin"] {color:#0a66c2}
.afs-share a[data-network="facebook"] {color:#1877f2}
.afs-share a[data-network="whatsapp"] {color:#128c4c}
.afs-share a:hover {background:#e6f0fc;border-color:#a5bfdd;transform:translateY(-2px)}
.afs-share a:focus-visible,.afs-follow a:focus-visible,.afs-back-link:focus-visible {
  outline:3px solid #e8a32f;outline-offset:3px;
}

/* Breadcrumb and flexible layout on small screens */
.afs-job-breadcrumb {flex-wrap:wrap;row-gap:4px}
@media (max-width:900px){
  .afs-job-hero {grid-template-columns:1fr;gap:24px;padding-top:28px;padding-bottom:36px}
  .afs-job-figure img {height:auto;max-height:440px;aspect-ratio:16/9;object-fit:cover}
  .afs-job-copy h1 {max-width:750px}
}
@media (max-width:600px){
  .afs-job-hero {padding-top:20px;padding-bottom:30px}
  .afs-job-copy h1 {font-size:clamp(2.05rem,9vw,2.8rem)}
  .afs-job-cta {gap:8px 18px}
  .afs-job-cta .button {width:100%}
  .afs-back-link {min-height:44px}
  .afs-share {gap:10px;margin-top:21px}
  .afs-share-label {width:100%;margin-bottom:1px}
  .afs-job-content .vacancy-details {padding:23px 20px}
  .vacancy-grid .vacancy-card > div {padding:24px}
}
@media (prefers-reduced-motion:reduce){
  .afs-share a,.afs-follow a,.vacancy-grid .vacancy-card {transition:none}
  .afs-share a:hover,.afs-follow a:hover,.vacancy-grid .vacancy-card:hover {transform:none}
}

/* Privacy information uses an external stylesheet to comply with the CSP. */
.afs-privacy-page {
  display:block;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  padding-top:clamp(42px,7vw,76px);
  padding-bottom:clamp(48px,7vw,80px);
}
.afs-privacy-page h1 {margin:0 0 24px;line-height:1.2}
.afs-privacy-page h2 {margin:30px 0 10px;font-size:clamp(1.25rem,2.2vw,1.7rem)}
.afs-privacy-page p {line-height:1.8;color:#34465c;max-width:75ch;margin:0 0 14px}
.afs-privacy-page a {overflow-wrap:anywhere}
.afs-contact-guidance {
  margin-top:44px;
  margin-bottom:32px;
  padding:clamp(24px,3.5vw,36px);
  background:#f3f7fd;
  border:1px solid #dce6f3;
  border-radius:14px;
}
.afs-contact-guidance h2 {margin:0 0 14px}
.afs-contact-guidance h3 {margin:22px 0 8px}
.afs-contact-guidance p {color:#445872;line-height:1.75;margin:0 0 12px;max-width:80ch}
@media(max-width:600px){
  .afs-privacy-page {padding-top:32px;padding-bottom:44px}
  .afs-contact-guidance {margin-top:28px}
}
