/* Vigo additions to the VIGO Facilities site: portal login buttons and the "coming soon" portal pages. */
.nav{gap:22px}
.nav-logins{display:inline-flex;gap:8px;padding-left:18px;border-left:1px solid var(--line)}
.nav-login{padding:9px 14px;border:1px solid #cdd8e3;border-radius:999px;color:var(--navy);font-size:13px;white-space:nowrap}
.nav-login:hover{border-color:var(--teal);color:var(--teal)}
.nav-login.primary{background:linear-gradient(135deg,var(--navy),#0a4f73);border-color:transparent;color:#fff!important}
.nav-login.primary:hover{background:linear-gradient(135deg,#0a3a72,var(--teal))}
.portal-box{margin:4px 0 0;padding:18px 20px;max-width:620px;background:rgba(255,255,255,.82);border:1px solid rgba(6,44,90,.1);border-top:4px solid var(--teal);border-radius:12px;box-shadow:0 12px 34px rgba(6,44,90,.08)}
.portal-title{font:800 12px/1 "Manrope",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.portal-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.portal-buttons .btn{min-height:48px;padding:0 12px;white-space:nowrap}
.mail-link{color:#7fe0ea;text-decoration:underline}
/* the accent card's decorative circle (right:-40px) made phones scroll sideways */
.service-card.accent{overflow:hidden}
/* the full nav + 3 login buttons needs room: switch to the menu earlier */
@media(max-width:1180px){
  .menu-btn{display:block;min-height:44px;padding:0 6px}
  .nav{position:absolute;top:82px;left:0;right:0;background:white;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;padding:20px;gap:6px}
  .nav.open{display:flex}
  .nav > a{padding:10px 4px}
  .nav-cta{text-align:center}
  .nav-logins{flex-direction:column;border-left:0;padding:12px 0 0;border-top:1px solid var(--line);margin-top:6px}
  .nav-login{text-align:center;padding:12px 14px;font-size:15px}
}
@media(max-width:600px){
  .portal-buttons{grid-template-columns:1fr}
  .portal-box{padding:16px}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:12px 18px}
  .contact-form input,.contact-form textarea{font-size:16px}
}
/* portal "coming soon" pages */
.uc{min-height:100vh;display:flex;flex-direction:column}
.uc main{flex:1;padding:150px 0 90px;background:radial-gradient(circle at 82% 30%,rgba(67,199,216,.24),transparent 26%),radial-gradient(circle at 10% 85%,rgba(242,184,75,.14),transparent 26%),linear-gradient(125deg,#eef9fb 0%,#fff 50%,#fff8ec 100%)}
.uc-card{max-width:680px;margin:auto;background:#fff;border-radius:14px;box-shadow:var(--shadow);border-top:5px solid var(--cyan);padding:40px 38px}
.uc-card h1{font:800 clamp(34px,5vw,48px)/1.05 "Manrope",sans-serif;letter-spacing:-.04em;color:var(--navy);margin:16px 0 14px}
.uc-card p{color:#47576b;font-size:17px;margin:0 0 14px}
.uc-card .tip{background:var(--sky);border-left:4px solid var(--teal);padding:12px 14px;border-radius:6px;font-size:15px;color:#24405c}
.uc-card .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.uc-card a.inline{color:var(--teal);font-weight:700;text-decoration:underline}
.uc .nav-simple{display:flex;gap:10px;align-items:center}
@media(max-width:600px){.uc main{padding:120px 0 60px}.uc-card{padding:28px 20px}.uc-card .actions .btn{width:100%}}
.vp-card h1 { margin-bottom: 6px; }
.vp-form { display: grid; gap: 8px; margin: 18px 0 14px; max-width: 360px; }
.vp-form label { font-weight: 700; font-size: 14px; color: #062c5a; }
.vp-form input { font-size: 22px; letter-spacing: .18em; text-transform: uppercase; padding: 12px 14px; border: 1.5px solid #c7d0db; border-radius: 12px; font-family: inherit; }
.vp-form input:focus { outline: none; border-color: #0a7489; box-shadow: 0 0 0 3px rgba(10,116,137,.18); }
.vp-form .btn { justify-self: start; border: 0; cursor: pointer; }
.vp-form .btn:disabled { opacity: .65; }
.vp-err { background: #fde8e6; color: #8a1f12; border-radius: 10px; padding: 10px 12px; margin-top: 10px; max-width: 360px; }

/* Vendor login: desktop split layout (phones keep the single card; .vp-info only shows at 1024px+) */
.vp-info{display:none}
@media(min-width:1024px){
  .vp-split{display:grid;grid-template-columns:1.05fr .95fr;gap:0;max-width:1200px;align-items:stretch;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
  .vp-info{display:block;padding:48px 46px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(67,199,216,.35),transparent 40%),linear-gradient(140deg,#041f42,#062c5a 55%,#0a4f7a)}
  .vp-info .eyebrow{color:#7fe0ea}
  .vp-info h2{font:800 44px/1.05 "Manrope",sans-serif;letter-spacing:-.03em;margin:14px 0 12px}
  .vp-info p{color:rgba(255,255,255,.82);font-size:17px;margin:0 0 22px}
  .vp-info ul{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:12px}
  .vp-info li{padding-left:30px;position:relative;color:rgba(255,255,255,.85);font-size:15.5px}
  .vp-info li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:rgba(127,224,234,.18);color:#7fe0ea;font-size:12px;display:grid;place-items:center;font-weight:800}
  .vp-info li b{color:#fff}
  .vp-contact{border-top:1px solid rgba(255,255,255,.18);padding-top:18px;display:flex;flex-direction:column;gap:4px}
  .vp-contact span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#7fe0ea;font-weight:700}
  .vp-contact a{color:#fff;font-weight:700}
  .vp-split .uc-card{max-width:none;margin:0;border-radius:0;box-shadow:none;border-top:0;padding:48px 46px;display:flex;flex-direction:column;justify-content:center}
  .vp-split .uc-card h1{font-size:38px}
  .vp-form input{font-size:20px;padding:10px 14px}
  .vp-form .btn:hover{filter:brightness(1.1)}
}
/* Client login: normal text inputs (not the Portal PO code style) */
[data-portal="client"] .vp-form input { font-size: 17px; letter-spacing: normal; text-transform: none; }
[data-portal="client"] .vp-form label + input { margin-bottom: 6px; }
