/* Portuguese market layer — keep the shared EU soft UI intact. */
:root{
  --pt-navy:#1e3a5f;
  --pt-navy-dark:#102a43;
  --pt-green:#168a4d;
  --pt-text:#334155;
  --pt-muted:#64748b;
  --pt-line:#e2e8f0;
  --pt-soft:#f7f9fc;
}

html{overflow-x:hidden}
body{margin:0;background:#fff;color:var(--pt-text);font-family:"Segoe UI Variable","Segoe UI",Inter,-apple-system,BlinkMacSystemFont,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}

/* Header used by SEO pages and the application form. */
.eta-pt-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--pt-line);
  box-shadow:0 3px 16px rgba(15,39,66,.055);
  backdrop-filter:saturate(150%) blur(8px);
}
.eta-pt-header-inner{
  max-width:1180px;
  margin:0 auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.eta-pt-header img{display:block;height:52px;width:auto;max-width:285px}
.eta-pt-nav{display:flex;align-items:center;gap:6px}
.eta-pt-nav a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 11px;
  color:var(--pt-navy);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  border-radius:9px;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.eta-pt-nav a:hover{background:#f3f6fa;color:var(--pt-navy-dark)}
.eta-pt-nav .cta{
  margin-left:5px;
  padding:10px 16px;
  background:var(--pt-navy);
  color:#fff;
  box-shadow:0 7px 18px rgba(30,58,95,.16);
}
.eta-pt-nav .cta:hover{background:var(--pt-navy-dark);color:#fff;transform:translateY(-1px)}

/* Portuguese homepage extras. Shared homepage styling comes from site-seo.css. */
.pt-payment-chips{display:flex;gap:8px;flex-wrap:wrap}
.pt-payment-chips span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  border:1px solid #d8e4de;
  border-radius:9px;
  background:#fff;
  padding:7px 10px;
  font-size:12px;
  font-weight:600;
  color:#334e68;
}
.eta-home-price-card::before{content:"Tariffa per gruppi"}

/* Article-page polish. */
.seo-page{background:linear-gradient(180deg,#f6f9fc 0,#fff 420px)}
.seo-page__card{overflow:hidden}
.seo-page__card>.eta-breadcrumb{
  margin:-14px 0 27px;
  padding:0 0 15px;
  background:transparent;
  border:0;
  border-bottom:1px solid #edf1f5;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  font-size:13px;
  color:#718096;
}
.seo-page__card>.eta-breadcrumb a{text-decoration:none;color:var(--pt-navy)}
.seo-page__updated{margin:0 0 11px!important}
.seo-page .eta-home-eyebrow{margin-bottom:12px}
.seo-page h1{max-width:850px;letter-spacing:-.03em!important}
.seo-page__lead{max-width:850px}
.seo-page>article>section:not(.eta-answer){max-width:900px}
.seo-page .eta-answer{max-width:900px;border-left:4px solid #8eb1ca}
.seo-page .eta-notice{max-width:900px}
.seo-page .eta-faq{max-width:900px}
.seo-page .eta-related{max-width:900px}
.seo-page .eta-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.seo-page .eta-card:hover{transform:translateY(-2px);border-color:#cbd8e4;box-shadow:0 8px 22px rgba(15,39,66,.07)}

/* Forms: let form.php keep its rounded, modern component styling. */
.form-card{border:1px solid #e2e8f0}
.traveller-card,.review-card,.travel-date-card,.priority-card,.question-card,.declaration-block,.price-summary,.same-contact-box,.traveller-contact-box,.minor-box,.contact-source-note,.step-one-price,.warning,.good,.info-box,.file-preview,.modal-box,.draft-restored-notice{box-shadow:none}
button,.nav-buttons button,button[type=submit]{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
button:hover,.nav-buttons button:hover,button[type=submit]:hover{transform:translateY(-1px)}

/* Footer shared by SEO pages and form. */
.pt-footer{
  margin-top:64px;
  background:linear-gradient(145deg,#102a43 0%,#173b5d 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
}
.pt-footer-in{max-width:1180px;margin:0 auto;padding:46px 22px 25px}
.pt-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px}
.pt-footer img{display:block;height:29px;width:auto;max-width:230px;filter:brightness(0) invert(1);margin-bottom:15px}
.pt-footer h3{margin:0 0 13px;color:#fff;font-size:14px}
.pt-footer p,.pt-footer a{color:#c7d5e3;font-size:13px;line-height:1.7}
.pt-footer p{margin:0 0 12px}
.pt-footer a{display:block;margin:0 0 8px;text-decoration:none}
.pt-footer a:hover{color:#fff}
.pt-footer-tag{font-weight:600;color:#fff!important}
.pt-footer-bottom,.pt-bottom{
  margin-top:28px;
  padding-top:19px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#aebdca;
  font-size:12px;
}

@media(max-width:900px){
  .eta-pt-header-inner{padding:10px 16px}
  .eta-pt-header img{height:46px;max-width:245px}
  .eta-pt-nav{gap:3px}
  .eta-pt-nav a:not(.cta){display:none}
  .eta-pt-nav .cta{margin-left:0}
  .pt-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .eta-pt-header-inner{gap:12px}
  .eta-pt-header img{height:42px;max-width:215px}
  .eta-pt-nav .cta{padding:9px 13px;font-size:13px;white-space:nowrap}
  .pt-payment-chips{justify-content:center}
  .seo-page__card>.eta-breadcrumb{margin-top:-7px}
  .pt-footer{margin-top:44px}
  .pt-footer-grid{grid-template-columns:1fr;gap:25px}
}
@media(max-width:430px){
  .eta-pt-header-inner{padding:9px 12px}
  .eta-pt-header img{height:38px;max-width:190px}
  .eta-pt-nav .cta{padding:8px 10px;font-size:12px}
}


/* Portugal homepage responsive navigation. */
.pt-home-header{background:#fff;border-bottom:1px solid var(--pt-line);position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px rgba(15,39,66,.04)}
.pt-home-header-in{max-width:1180px;margin:auto;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}
.pt-home-logo{display:flex;align-items:center;min-width:0;flex-shrink:1}
.pt-home-header img{display:block;width:auto;height:52px;max-width:285px}
.pt-home-nav{display:flex;gap:8px;align-items:center}
.pt-home-nav a{display:inline-flex;align-items:center;min-height:42px;padding:9px 11px;color:var(--pt-navy);text-decoration:none;font-size:14px;font-weight:600;border-radius:9px;white-space:nowrap}
.pt-home-nav a:hover{background:#f3f6fa;color:var(--pt-navy-dark)}
.pt-home-nav .cta{margin-left:5px;padding:10px 16px;background:var(--pt-navy);color:#fff;box-shadow:0 7px 18px rgba(30,58,95,.16)}
.pt-home-nav .cta:hover{background:var(--pt-navy-dark);color:#fff}
.pt-menu-toggle{display:none;width:42px;height:42px;flex:0 0 42px;border:1px solid #d7e1eb;border-radius:10px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.pt-menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:var(--pt-navy)}
@media(max-width:860px){.pt-home-header-in{padding:10px 14px;gap:12px}.pt-home-logo{flex:1;max-width:285px}.pt-home-header img{height:46px;max-width:100%}.pt-menu-toggle{display:flex}.pt-home-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #eef2f6;border-bottom:1px solid #dfe7ef;box-shadow:0 14px 30px rgba(15,39,66,.12);padding:8px 14px 14px;flex-direction:column;align-items:stretch;gap:0}.pt-home-nav.is-open{display:flex}.pt-home-nav a,.pt-home-nav a:not(.cta){display:block;width:100%;padding:12px 4px;border-bottom:1px solid #eef2f6}.pt-home-nav .cta{margin-top:8px;padding:12px 14px;text-align:center;border-bottom:0}}
@media(max-width:430px){.pt-home-header img{height:38px}.pt-home-logo{max-width:230px}}
