/* Placement in Portugal - public site redesign (2026-10-08).
   Loaded after style.css on every page that is not a back-office page.
   Everything is scoped to body.pip-site so the back office is untouched. */

body.pip-site{
  --ps-navy:#1f3247; --ps-navy-2:#2a4159; --ps-navy-3:#17263a;
  --ps-blue:#245a85; --ps-blue-dark:#173f5f; --ps-blue-soft:#eef3f8;
  --ps-sand:#f6f1ea; --ps-sand-line:#e3ddd2; --ps-sand-dark:#5b5145;
  --ps-accent:#b4532a; --ps-accent-dark:#8f3f1e; --ps-peach:#f0c9a8;
  --ps-text:#1f2a37; --ps-muted:#4f5b6a; --ps-line:#e6e1d8;
  --ps-radius:14px;
  margin:0; background:#ffffff; color:var(--ps-text);
  font-family:'Source Sans 3', 'Source Sans Pro', Helvetica, Arial, sans-serif;
  font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased;
}
body.pip-site #wrapper{overflow:visible}
body.pip-site h1, body.pip-site h2, body.pip-site h3, body.pip-site h4,
body.pip-site .section-title h1, body.pip-site .section-title h2{
  font-family:Poppins, Helvetica, Arial, sans-serif; color:var(--ps-navy);
  text-transform:none; letter-spacing:0; font-weight:600;
}
body.pip-site a{color:var(--ps-blue)}
body.pip-site a:hover, body.pip-site a:focus{color:var(--ps-blue-dark)}
body.pip-site :focus-visible{outline:3px solid #f0a46c; outline-offset:2px}
body.pip-site img{max-width:100%; height:auto}
body.pip-site [hidden]{display:none !important}

/* ---------- layout ---------- */
.pip-site .ps-wrap{max-width:1200px; margin:0 auto; padding-left:24px; padding-right:24px; box-sizing:border-box}
.pip-site .ps-section{padding:64px 0}
.pip-site .ps-section-tight{padding:40px 0}
.pip-site .ps-sand{background:var(--ps-sand)}
.pip-site .ps-blue-soft{background:var(--ps-blue-soft)}
.pip-site .ps-navy{background:var(--ps-navy); color:#ffffff}
.pip-site .ps-navy h2, .pip-site .ps-navy h3{color:#ffffff}
.pip-site .ps-grid{display:grid; gap:16px}
.pip-site .ps-grid-2{grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:24px}
.pip-site .ps-grid-3{grid-template-columns:repeat(auto-fill, minmax(300px, 1fr))}
.pip-site .ps-grid-4{grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:20px}
.pip-site .ps-grid-5{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr))}
.pip-site .ps-split{display:flex; gap:32px; flex-wrap:wrap; align-items:flex-start}
.pip-site .ps-main{flex:999 1 560px; min-width:0}
.pip-site .ps-side{flex:1 1 300px; display:flex; flex-direction:column; gap:16px}
.pip-site .ps-head{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:24px}
.pip-site .ps-h1{font-size:46px; line-height:1.1; font-weight:700; margin:0}
.pip-site .ps-h2{font-size:32px; line-height:1.2; margin:0}
.pip-site .ps-h3{font-size:19px; line-height:1.3; margin:0}
.pip-site .ps-lead{font-size:19px; color:#3f4a58; margin:0}
.pip-site .ps-muted{color:var(--ps-muted)}
.pip-site .ps-eyebrow{font-weight:700; color:var(--ps-accent); letter-spacing:.04em; font-size:14px; text-transform:uppercase}
.pip-site .ps-stack{display:flex; flex-direction:column; gap:16px}
.pip-site .ps-stack-sm{display:flex; flex-direction:column; gap:8px}
.pip-site .ps-row{display:flex; gap:12px; flex-wrap:wrap; align-items:center}

/* ---------- buttons ---------- */
.pip-site .ps-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 18px;
  border-radius:10px; border:1px solid transparent; font:inherit; font-weight:700; font-size:16px; line-height:1.2;
  text-decoration:none; cursor:pointer; box-sizing:border-box; white-space:nowrap}
.pip-site .ps-btn-lg{min-height:50px; padding:0 24px; font-size:17px}
.pip-site .ps-btn-block{display:flex; width:100%}
.pip-site .ps-btn-primary{background:var(--ps-accent); color:#ffffff}
.pip-site .ps-btn-primary:hover, .pip-site .ps-btn-primary:focus{background:var(--ps-accent-dark); color:#ffffff}
.pip-site .ps-btn-dark{background:var(--ps-navy); color:#ffffff}
.pip-site .ps-btn-dark:hover, .pip-site .ps-btn-dark:focus{background:var(--ps-navy-3); color:#ffffff}
.pip-site .ps-btn-ghost{background:#ffffff; color:var(--ps-navy); border-color:#c9c2b6; font-weight:600}
.pip-site .ps-btn-ghost:hover, .pip-site .ps-btn-ghost:focus{border-color:var(--ps-navy); color:var(--ps-navy)}
.pip-site .ps-btn-peach{background:var(--ps-peach); color:var(--ps-navy)}
.pip-site .ps-btn-peach:hover{background:#e9b98f; color:var(--ps-navy)}
.pip-site .ps-link-btn{background:none; border:0; padding:10px 6px; font:inherit; font-weight:600; color:var(--ps-blue); cursor:pointer; text-decoration:none}
.pip-site .ps-link-btn:hover{text-decoration:underline}

/* ---------- header ---------- */
body.pip-site #header{background:#ffffff; min-height:0; border-bottom:1px solid var(--ps-line)}
body.pip-site #header .top-line{display:none}
.pip-site .ps-header{background:#ffffff}
.pip-site .ps-header-row{display:flex; align-items:center; gap:24px; padding-top:12px; padding-bottom:12px; flex-wrap:wrap}
.pip-site .ps-brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ps-navy)}
.pip-site .ps-brand:hover{color:var(--ps-navy)}
.pip-site .ps-logo{width:40px; height:40px; border-radius:10px; background:var(--ps-navy); color:#ffffff; display:flex; align-items:center; justify-content:center;
  font-family:Poppins, sans-serif; font-weight:600; font-size:15px}
.pip-site .ps-brand-name{font-family:Poppins, sans-serif; font-weight:600; font-size:17px}
.pip-site .ps-menu{display:flex; align-items:center; gap:16px; flex:1 1 auto; flex-wrap:wrap}
.pip-site .ps-nav{display:flex; gap:2px; flex-wrap:wrap; flex:1 1 auto}
.pip-site .ps-nav a{padding:10px 11px; border-radius:8px; color:var(--ps-text); text-decoration:none; font-weight:600}
.pip-site .ps-nav a:hover{background:var(--ps-sand); color:var(--ps-navy)}
.pip-site .ps-nav a.is-current{color:var(--ps-accent); font-weight:700}
.pip-site .ps-auth{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.pip-site .ps-menu-btn{display:none; margin-left:auto; align-items:center; gap:6px; min-height:44px; padding:0 14px; border:1px solid #c9c2b6;
  border-radius:10px; background:#ffffff; color:var(--ps-navy); font:inherit; font-weight:600; cursor:pointer}
@media (max-width: 1080px){
  .pip-site .ps-menu-btn{display:inline-flex}
  .pip-site .ps-menu{display:none; flex-basis:100%; flex-direction:column; align-items:stretch; gap:12px; padding:8px 0 4px}
  .pip-site .ps-menu.open{display:flex}
  .pip-site .ps-nav{flex-direction:column}
  .pip-site .ps-nav a{padding:12px 8px; border-bottom:1px solid var(--ps-line); border-radius:0}
  .pip-site .ps-auth .ps-btn{flex:1 1 auto}
}

/* ---------- hero ---------- */
.pip-site .ps-hero{background:var(--ps-sand)}
.pip-site .ps-hero-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:48px; align-items:center; padding-top:64px; padding-bottom:72px}
.pip-site .ps-search{background:#ffffff; border:1px solid #e0d8cb; border-radius:var(--ps-radius); padding:14px; display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end}
.pip-site .ps-hero-media{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px}
.pip-site .ps-photo{border-radius:18px; background:#d9cfc0 center/cover no-repeat; min-height:170px}
.pip-site .ps-photo-wide{grid-column:span 2; min-height:260px}
.pip-site .ps-recruiter-card{border-radius:18px; background:var(--ps-navy); color:#ffffff; padding:18px; display:flex; flex-direction:column; justify-content:space-between; min-height:170px; box-sizing:border-box}
.pip-site .ps-recruiter-card b{font-family:Poppins, sans-serif; font-size:20px; font-weight:600; line-height:1.25}
.pip-site .ps-recruiter-card span{color:#c9d5e2; font-size:14px}

/* ---------- forms ---------- */
.pip-site .ps-field{display:flex; flex-direction:column; gap:4px; font-size:14px; font-weight:600; color:var(--ps-text); flex:1 1 170px; margin:0}
.pip-site .ps-field input, .pip-site .ps-field select, .pip-site .ps-field textarea{
  min-height:46px; border:1px solid #cdc5b8; border-radius:10px; padding:0 12px; font:inherit; font-size:16px; font-weight:400;
  background:#ffffff; color:var(--ps-text); box-sizing:border-box; width:100%}
.pip-site .ps-field textarea{padding:10px 12px}
.pip-site .ps-chips{display:flex; gap:8px; flex-wrap:wrap}
.pip-site .ps-chip{min-height:44px; padding:0 16px; border-radius:999px; border:1px solid #cdc5b8; background:#ffffff; color:var(--ps-text);
  font:inherit; font-size:15px; font-weight:600; cursor:pointer}
.pip-site .ps-chip[aria-pressed="true"]{background:var(--ps-navy); border-color:var(--ps-navy); color:#ffffff}

/* ---------- strips, cards, tags ---------- */
.pip-site .ps-strip{border-bottom:1px solid #ece6dc}
.pip-site .ps-strip .ps-grid-4{padding-top:28px; padding-bottom:28px}
.pip-site .ps-strip b{display:block; font-family:Poppins, sans-serif; font-weight:600; font-size:18px; color:var(--ps-navy)}
.pip-site .ps-strip span{color:var(--ps-muted)}
.pip-site .ps-card{border:1px solid var(--ps-sand-line); border-radius:var(--ps-radius); background:#ffffff; padding:20px; box-sizing:border-box}
.pip-site .ps-card-soft{border-radius:18px; padding:32px; box-sizing:border-box}
.pip-site .ps-offer{display:flex; flex-direction:column; gap:10px; text-decoration:none; color:var(--ps-text)}
.pip-site a.ps-offer:hover{border-color:#b9a991; box-shadow:0 6px 20px rgba(31,50,71,.08); color:var(--ps-text)}
.pip-site .ps-offer-title{font-family:Poppins, sans-serif; font-weight:600; font-size:19px; line-height:1.3; color:var(--ps-navy)}
.pip-site .ps-offer-row{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; align-items:center}
.pip-site .ps-offer-row .ps-tags{grid-column:1 / -1}
.pip-site .ps-view{font-weight:700; color:var(--ps-blue); white-space:nowrap}
.pip-site .ps-tags{display:flex; gap:8px; flex-wrap:wrap; font-size:14px}
.pip-site .ps-tag{border-radius:999px; padding:2px 10px; font-weight:700; background:var(--ps-blue-soft); color:var(--ps-navy)}
.pip-site .ps-tag-sand{background:var(--ps-sand); color:#4a3b2a; font-weight:600}
.pip-site .ps-tag-plain{color:#5b6470; padding:2px 0}
.pip-site .ps-steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:16px}
.pip-site .ps-steps li{border-radius:var(--ps-radius); padding:20px; display:flex; flex-direction:column; gap:8px}
.pip-site .ps-navy .ps-steps li{background:var(--ps-navy-2)}
.pip-site .ps-steps .ps-num{width:36px; height:36px; border-radius:999px; background:var(--ps-peach); color:var(--ps-navy); display:flex; align-items:center; justify-content:center; font-weight:700}
.pip-site .ps-steps b{font-family:Poppins, sans-serif; font-weight:600; font-size:18px}
.pip-site .ps-navy .ps-steps span{color:#d5dee8; font-size:15px}
.pip-site .ps-steps-light li{border:1px solid var(--ps-sand-line); background:#ffffff}
.pip-site .ps-steps-light b{color:var(--ps-navy)}
.pip-site .ps-steps-light .ps-num{background:var(--ps-sand); color:var(--ps-accent)}
.pip-site .ps-steps-light span{color:var(--ps-muted); font-size:15px}
.pip-site .ps-facts{margin:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:12px}
.pip-site .ps-facts div{background:var(--ps-sand); border-radius:12px; padding:14px 16px}
.pip-site .ps-facts dt{font-size:14px; color:var(--ps-sand-dark); font-weight:600}
.pip-site .ps-facts dd{margin:2px 0 0; font-weight:700}
.pip-site .ps-list{margin:0; padding-left:22px; display:flex; flex-direction:column; gap:6px}
.pip-site .ps-aside-dark{background:var(--ps-navy); color:#ffffff; border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:10px}
.pip-site .ps-aside-dark h2{color:#ffffff; font-size:21px; margin:0}
.pip-site .ps-aside-dark p{color:#d5dee8; margin:0}
.pip-site .ps-apply-card{border:1px solid var(--ps-sand-line); border-radius:16px; padding:22px; display:flex; flex-direction:column; gap:12px; box-shadow:0 6px 24px rgba(31,50,71,.08); background:#ffffff}
.pip-site .ps-empty{border:1px dashed #cdc5b8; border-radius:var(--ps-radius); padding:24px; color:var(--ps-muted)}
.pip-site .ps-alert{border-radius:10px; padding:12px 14px; font-weight:600}
.pip-site .ps-alert-warn{background:#fff4e5; color:#7a4a12}
.pip-site .ps-prose{max-width:820px}
.pip-site .ps-prose p, .pip-site .ps-prose li{color:#3f4a58}
.pip-site .ps-prose h2{font-size:26px; margin:32px 0 10px}
.pip-site .ps-prose h3{font-size:19px; margin:22px 0 6px}

/* FAQ */
.pip-site .ps-faq{display:flex; flex-direction:column; gap:12px}
.pip-site .ps-faq details{border:1px solid var(--ps-sand-line); border-radius:12px; padding:16px 18px; background:#ffffff}
.pip-site .ps-faq summary{font-weight:700; cursor:pointer; color:var(--ps-navy)}
.pip-site .ps-faq details p{margin:10px 0 0; color:#3f4a58}

/* ---------- footer ---------- */
body.pip-site #footer{display:none}
.pip-site .ps-footer{background:var(--ps-navy-3); color:#c9d5e2; font-size:15px}
.pip-site .ps-footer a{color:#ffffff}
.pip-site .ps-footer-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:28px; padding-top:44px; padding-bottom:28px}
.pip-site .ps-footer nav{display:flex; flex-direction:column; gap:6px}
.pip-site .ps-footer-brand{font-family:Poppins, sans-serif; color:#ffffff; font-weight:600; font-size:17px; margin-bottom:6px}
.pip-site .ps-footer-h{color:#ffffff; font-weight:700; margin-bottom:4px}
.pip-site .ps-footer p{margin:0 0 10px}
.pip-site .ps-footer-legal{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:16px; padding-bottom:24px; border-top:1px solid #2c3d52}

/* ---------- pages still on the old markup (contact, blog, terms, Erasmus+, dashboards) ---------- */
body.pip-site .main-page-title, body.pip-site .main-page-title-placements{background:var(--ps-sand); border:0; min-height:0; height:auto; padding:36px 24px 28px}
body.pip-site .main-page-title .spacer-0, body.pip-site .main-page-title-placements .spacer-0{display:none}
body.pip-site .main-page-title h1, body.pip-site .main-page-title h2,
body.pip-site .main-page-title-placements h1, body.pip-site .main-page-title-placements h2{font-size:36px; font-weight:700; margin:0 auto; max-width:1152px; text-align:left !important; color:var(--ps-navy)}
body.pip-site #page-content{background:#ffffff}
body.pip-site #page-content .content-shortcodes{max-width:1200px; margin:0 auto; padding:32px 24px 56px; box-sizing:border-box}
body.pip-site #page-content .content-shortcodes.content{max-width:868px}
body.pip-site #page-content h2{font-size:26px; margin:28px 0 10px}
body.pip-site #page-content h3{font-size:19px; margin:20px 0 6px; text-transform:none; color:var(--ps-navy)}
body.pip-site #page-content p, body.pip-site #page-content li{font-size:17px; line-height:1.6; color:#3f4a58}
body.pip-site .btn{border-radius:10px; font-weight:700; text-transform:none; letter-spacing:0}
body.pip-site .btn-success-blue, body.pip-site .btn-primary, body.pip-site .btn-company-sign-up{background:var(--ps-navy); border-color:var(--ps-navy); color:#ffffff}
body.pip-site .btn-success-blue:hover, body.pip-site .btn-primary:hover, body.pip-site .btn-company-sign-up:hover{background:var(--ps-navy-3); border-color:var(--ps-navy-3); color:#ffffff}
body.pip-site .btn-red-active, body.pip-site .btn-red, body.pip-site .btn-success{background:var(--ps-accent); border-color:var(--ps-accent); color:#ffffff}
body.pip-site .btn-red-active:hover, body.pip-site .btn-red:hover, body.pip-site .btn-success:hover{background:var(--ps-accent-dark); border-color:var(--ps-accent-dark); color:#ffffff}
body.pip-site .btn-contact-us{background:#ffffff; border:1px solid #c9c2b6; color:var(--ps-navy)}
body.pip-site .form-control{min-height:44px; border-radius:10px; border-color:#cdc5b8; box-shadow:none; font-size:16px}
body.pip-site .job-side-wrap{border:1px solid var(--ps-sand-line); border-radius:16px; padding:20px; background:#ffffff}
body.pip-site .panel, body.pip-site .well{border-radius:var(--ps-radius); border-color:var(--ps-sand-line); box-shadow:none}

/* sign-up / log-in dialogs */
body.pip-site .modal-content{border-radius:16px; border:0; box-shadow:0 20px 60px rgba(23,38,58,.25)}
body.pip-site .modal-header{border-bottom:1px solid var(--ps-line); padding:18px 22px}
body.pip-site .modal-title{font-family:Poppins, sans-serif; font-weight:600; color:var(--ps-navy); text-transform:none}
body.pip-site .modal-body{padding:22px}
body.pip-site .modal-body h4{font-size:18px; text-transform:none}
body.pip-site .modal-footer{border-top:1px solid var(--ps-line)}

/* cookie notice */
body.pip-site #overbox3 #infobox3{font-size:15px}

@media (max-width: 640px){
  body.pip-site{font-size:16px}
  .pip-site .ps-h1{font-size:34px}
  .pip-site .ps-h2{font-size:26px}
  .pip-site .ps-section{padding:44px 0}
  .pip-site .ps-hero-grid{padding-top:36px; padding-bottom:44px; gap:28px}
  .pip-site .ps-wrap{padding-left:16px; padding-right:16px}
  .pip-site .ps-card-soft{padding:22px}
  body.pip-site .main-page-title h1, body.pip-site .main-page-title-placements h1{font-size:28px}
}

/* 2026-10-08 fixes after the first look on staging */
.pip-site .ps-card.ps-blue-soft{background:var(--ps-blue-soft)}
body.pip-site .main-page-title h1::after, body.pip-site .main-page-title h2::after,
body.pip-site .main-page-title-placements h1::after, body.pip-site .main-page-title-placements h2::after,
body.pip-site .section-title::after{display:none}
@media (max-width: 480px){
  .pip-site .ps-header-row{gap:12px}
  .pip-site .ps-brand-name{font-size:15px}
  .pip-site .ps-logo{width:36px; height:36px; font-size:14px}
  .pip-site .ps-menu-btn{padding:0 12px}
  .pip-site .ps-menu-btn span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
}
body.pip-site .btn.btn-red-active, body.pip-site a.btn-red-active{background-color:var(--ps-accent) !important; border-color:var(--ps-accent) !important; color:#ffffff !important}
body.pip-site .btn.btn-red-active:hover, body.pip-site a.btn-red-active:hover{background-color:var(--ps-accent-dark) !important}
body.pip-site .btn.btn-success-blue{background-color:var(--ps-navy) !important; border-color:var(--ps-navy) !important; color:#ffffff !important}
body.pip-site .job-side-wrap h4{font-size:17px}

/* 2026-10-08: keep the original Placement in Portugal logo (white artwork) on a navy header */
body.pip-site #header{background:var(--ps-navy); border-bottom:0}
.pip-site .ps-header{background:var(--ps-navy)}
.pip-site .ps-logo-img{display:block; width:260px; height:auto; max-width:100%}
.pip-site .ps-nav a{color:#ffffff}
.pip-site .ps-nav a:hover, .pip-site .ps-nav a:focus{background:var(--ps-navy-2); color:#ffffff}
.pip-site .ps-nav a.is-current{color:var(--ps-peach)}
.pip-site .ps-header .ps-link-btn{color:#ffffff}
.pip-site .ps-header .ps-btn-ghost{background:transparent; color:#ffffff; border-color:rgba(255,255,255,.55)}
.pip-site .ps-header .ps-btn-ghost:hover, .pip-site .ps-header .ps-btn-ghost:focus{border-color:#ffffff; color:#ffffff}
.pip-site .ps-menu-btn{background:transparent; color:#ffffff; border-color:rgba(255,255,255,.55)}
@media (max-width: 1080px){
  .pip-site .ps-nav a{border-bottom-color:rgba(255,255,255,.14)}
}
@media (max-width: 480px){
  .pip-site .ps-logo-img{width:220px}
}
