/* CargoVerse designsystem, chrome. Generert fra sidene. */
.footer-bottom{display: flex; justify-content: space-between; align-items: center; padding-top: 24px; flex-wrap: wrap; gap: 16px;}
.footer-brand{color: rgba(255,255,255,0.55); line-height: 1.6;}
.footer-brand a{color: rgba(255,255,255,0.8); transition: color 0.2s;}
.footer-brand a:hover{color: var(--orange);}
.footer-col-title{font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-bottom: 16px;}
.footer-copy{color: rgba(255,255,255,0.55); font-size: 13px;}
.footer-inner{max-width: 1200px; margin: 0 auto; padding: 0 48px;}
.footer-legal{display: flex; gap: 20px; flex-wrap: wrap;}
.footer-legal a{color: rgba(255,255,255,0.58); text-decoration: none; font-size: 13px;}
.footer-legal a:hover{color: #fff;}
.footer-login{display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--orange); transition: gap 0.2s; margin-top: 4px;}
.footer-login:hover{gap: 10px; color: var(--orange-glow);}
.footer-nav{display: flex; flex-direction: column; gap: 10px;}
.footer-nav a{color: rgba(255,255,255,0.6); text-decoration: none; font-size: 14px; transition: color 0.2s;}
.footer-nav a:hover{color: #ffffff;}
.footer-top{display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 48px; align-items: start; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,0.06);}
.footer-top a{color: rgba(255,255,255,0.7); text-decoration: none;}
.footer-top p{font-size: 14px; line-height: 1.6; margin-top: 10px;}
.hamburger{display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px;}
.hamburger span{width: 24px; height: 2px; background: var(--pure-white); border-radius: 2px; transition: all 0.3s;}
.hamburger.active span:nth-child(1){transform: rotate(45deg) translate(5px, 5px);}
.hamburger.active span:nth-child(2){opacity: 0;}
.hamburger.active span:nth-child(3){transform: rotate(-45deg) translate(5px, -5px);}
.nav-brand{display: flex; align-items: center; gap: 10px; text-decoration: none;}
.nav-brand svg{width: auto; height: 24px;}
.nav-brand-text{font-size: 18px; letter-spacing: 1px; color: var(--pure-white);}
.nav-brand-text span{font-weight: 400; opacity: 0.7;}
.nav-brand-text strong{font-weight: 700;}
.nav-cta{font-size: 14px; font-weight: 600; color: #1a1206 !important; background: var(--orange); padding: 10px 24px; border-radius: 8px;}
.nav-cta:hover{background: var(--orange-glow); transform: translateY(-1px); box-shadow: 0 4px 20px rgba(232,133,61,0.35);}
.nav-hamburger{display: none; flex-direction: column; gap: 4px; background: none; border: none; cursor: pointer; padding: 8px; min-width: 44px; min-height: 44px; align-items: center; justify-content: center;}
.nav-hamburger span{width: 22px; height: 2px; background: #fff;}
.nav-hamburger.active span:nth-child(1){transform: rotate(45deg) translate(5px, 5px);}
.nav-hamburger.active span:nth-child(2){opacity: 0;}
.nav-hamburger.active span:nth-child(3){transform: rotate(-45deg) translate(5px, -5px);}
.nav-links{display: flex; gap: 36px; align-items: center;}
.nav-links a{font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.75); transition: color 0.2s; text-decoration: none;}
.nav-links a.nav-cta{background: var(--orange); color: #1a1206 !important; padding: 10px 24px; border-radius: 8px; font-weight: 600;}
.nav-links a.nav-cta:hover{background: var(--orange-glow);}
.nav-links a:hover{color: #ffffff;}
footer{padding: 56px 0 40px; background: var(--navy); border-top: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.5); font-size: 14px;}
nav{position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 48px; height: 72px; background: rgba(10, 30, 61, 0.97); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,0.06);}
@media (max-width: 640px){.footer-bottom{flex-direction: column; align-items: flex-start;}.footer-inner{padding: 0 1.5rem;}.footer-legal{justify-content: center;}nav{padding: 0 16px;}}
@media (max-width: 768px){.footer-inner{padding: 0 1.5rem;}.footer-top{grid-template-columns: 1fr; gap: 32px;}nav{padding: 0 24px;}}
@media (max-width: 900px){.footer-bottom{flex-direction: column; gap: 12px; text-align: center;}.footer-legal{justify-content: center;}.footer-nav{flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 12px 20px;}.footer-top{grid-template-columns: 1fr; gap: 32px;}.hamburger{display: flex;}.nav-cta{text-align: center; margin-top: 12px; padding: 14px 24px !important; display: block; width: 100% !important; border-radius: 8px !important; font-size: 15px !important; background: var(--orange) !important; color: #1a1206 !important; font-weight: 600 !important; border: none !important; box-sizing: border-box;}.nav-hamburger{min-width: 44px; min-height: 44px; align-items: center; justify-content: center;}.nav-links{display: none;}.nav-links a{min-height: 44px; padding: 12px 14px !important; display: flex; align-items: center;}.nav-links a.nav-cta{justify-content: center; min-height: 44px; padding: 12px 24px !important;}.nav-links a:hover{background: rgba(255,255,255,0.06);}.nav-links.open{display: flex; flex-direction: column; position: absolute; top: 72px; left: 0; right: 0; background: rgba(10,30,61,0.99); padding: 1.5rem 2rem; gap: 12px; border-bottom: 1px solid rgba(255,255,255,0.1); z-index: 200; backdrop-filter: blur(12px);}.nav-links.open a{padding: 0.5rem 0; font-size: 1rem;}nav{padding: 0 24px;}}
@media (min-width: 769px) and (max-width: 900px){.footer-bottom{flex-wrap: wrap;}.footer-nav{flex-direction: column; align-items: flex-start;}.footer-top{grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start;}}

/* "by Cartagena" endorsement next to the CargoVerse brand */
.nav-brand-wrap{display:flex;align-items:center;gap:14px;min-width:0}
.nav-by{display:inline-flex;align-items:center;gap:6px;text-decoration:none;padding-left:12px;border-left:1px solid rgba(255,255,255,.25);font-size:11px;line-height:1;color:rgba(255,255,255,.65);letter-spacing:.04em;font-weight:400;white-space:nowrap}
.nav-by img{height:10px;width:auto;display:block;opacity:.85;transition:opacity .2s}
.nav-by:hover img{opacity:1}
.nav-by:hover{color:#fff}
.footer-by{display:flex;width:max-content;text-decoration:none;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:rgba(255,255,255,.6);letter-spacing:.04em}
.footer-by img{height:10px;width:auto;display:block;opacity:.8}
@media (max-width:400px){.nav-by{font-size:0;gap:0;padding-left:8px}.nav-by img{height:9px}.nav-brand-wrap{gap:8px}}

/* Sticky CTA, same pattern as cartagena.no: appears after 35 % scroll, hides near the demo form and footer.
   On mobile it starts at 74px to leave room for the cookie-settings button (consent.js, bottom-left). */
.sticky-cta{position:fixed;bottom:22px;right:22px;z-index:90;display:flex;align-items:center;gap:12px;
  background:rgba(8,23,48,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);
  border-radius:999px;padding:10px 12px 10px 20px;box-shadow:0 18px 44px -12px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transform:translateY(16px);pointer-events:none;transition:opacity .45s cubic-bezier(.22,.61,.36,1),transform .45s cubic-bezier(.22,.61,.36,1),visibility .45s}
.sticky-cta.on{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.sticky-cta .t{color:#dfe8f6;font-size:13.5px;font-weight:500;font-family:var(--font-body)}
.sticky-cta a{display:inline-flex;align-items:center;font-family:var(--font-body);font-weight:600;font-size:14.5px;padding:11px 22px;border-radius:999px;text-decoration:none;color:#1a1206;
  background:linear-gradient(135deg,var(--orange),#f3a866);box-shadow:0 8px 24px -8px rgba(232,133,61,.6);transition:transform .3s,box-shadow .3s}
.sticky-cta a:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px rgba(232,133,61,.75)}
.sticky-cta a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:760px){
  .sticky-cta{left:74px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch;gap:8px;border-radius:18px;padding:12px 14px}
  .sticky-cta .t{text-align:center;font-size:13px;line-height:1.35}
  .sticky-cta a{justify-content:center;min-height:44px;font-size:14.5px}
}
@media (prefers-reduced-motion: reduce){.sticky-cta,.sticky-cta a{transition:none}}
