/* =========================================================
   SAMA FOR SHIPPING — PUBLIC WEBSITE STYLESHEET
   Style: Glassmorphism / Deep Ocean Gradient
   Notes: Uses CSS logical properties (margin-inline, etc.)
   so the layout mirrors correctly when dir="rtl" is set
   on <html> for Arabic content.
   ========================================================= */

/* ---------- Design tokens ---------- */
:root{
  /* Ocean gradient stops */
  --ocean-1:#0f2027;
  --ocean-2:#203a43;
  --ocean-3:#2c5364;

  /* Glow accents */
  --cyan-glow:#4fd1e8;
  --teal-glow:#2ec4b6;
  --gold-accent:#e0b35c;

  /* Glass surfaces */
  --glass-fill: rgba(255,255,255,0.08);
  --glass-fill-strong: rgba(255,255,255,0.14);
  --glass-border: rgba(255,255,255,0.22);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.35);

  /* Text */
  --text-light:#eef6f9;
  --text-muted: rgba(238,246,249,0.7);

  /* Type */
  --font-base: 'Segoe UI', system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

  /* Radii / spacing */
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 10px;
}

*{ box-sizing: border-box; }
html,body{ margin:0; padding:0; }

body{
  font-family: var(--font-base);
  color: var(--text-light);
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 20%, rgba(79,209,232,0.18), transparent 40%),
    radial-gradient(circle at 85% 15%, rgba(224,179,92,0.10), transparent 45%),
    radial-gradient(circle at 70% 80%, rgba(46,196,182,0.16), transparent 45%),
    linear-gradient(135deg, var(--ocean-1) 0%, var(--ocean-2) 50%, var(--ocean-3) 100%);
  background-attachment: fixed;
  line-height:1.6;
  overflow-x:hidden;
}

a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
img{ max-width:100%; display:block; }
section{ padding-block: 90px; padding-inline: 6vw; position:relative; z-index:1; }
h1,h2,h3{ margin:0 0 0.5em 0; font-weight:600; letter-spacing:0.2px; }
.eyebrow{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:0.78rem;
  color: var(--cyan-glow);
  font-weight:600;
}

/* ---------- Floating glow shapes (decorative, behind content) ---------- */
.bg-blob{
  position:fixed;
  border-radius:50%;
  filter: blur(70px);
  z-index:0;
  pointer-events:none;
  opacity:0.55;
}
.blob-1{ width:380px; height:380px; background:var(--cyan-glow); inset-inline-start:-120px; top:10%; }
.blob-2{ width:420px; height:420px; background:var(--gold-accent); inset-inline-end:-140px; top:55%; opacity:0.25;}
.blob-3{ width:300px; height:300px; background:var(--teal-glow); inset-inline-start:40%; top:85%; }

/* =========================================================
   DYNAMIC MARITIME VIDEO BACKGROUND
   - .video-bg pins a full-viewport layer behind all content
   - the <video> itself fills it via object-fit: cover
   - .video-overlay darkens it so glass/text stay readable
   - .ambient-zoom drives a slow, looping zoom in/out so the
     footage feels alive without being distracting
   ========================================================= */
.video-bg{
  position:fixed;
  inset:0;
  z-index:-2;
  overflow:hidden;
  background: linear-gradient(135deg, var(--ocean-1) 0%, var(--ocean-2) 50%, var(--ocean-3) 100%);
}
.video-bg video{
  position:absolute;
  top:50%; left:50%;
  width:100%; height:100%;
  min-width:100%; min-height:100%;
  object-fit:cover;
  transform: translate(-50%, -50%) scale(1.06);
}
.video-overlay{
  position:absolute;
  inset:0;
  /* requested darkening overlay, blended with the ocean palette
     so the footage colour-matches the rest of the glass UI */
  background:
    linear-gradient(135deg, rgba(15,32,39,0.55), rgba(32,58,67,0.6), rgba(44,83,100,0.55)),
    rgba(15,32,39,0.7);
}

@keyframes ambientZoom{
  0%   { transform: translate(-50%, -50%) scale(1.0); }
  50%  { transform: translate(-50%, -50%) scale(1.08); }
  100% { transform: translate(-50%, -50%) scale(1.0); }
}
.ambient-zoom{
  animation: ambientZoom 26s ease-in-out infinite;
  transition: transform 1.2s ease;
}
/* a slightly faster, deliberate push-in while the cursor rests on the page */
.video-bg:hover video.ambient-zoom{
  animation-play-state: paused;
  transform: translate(-50%, -50%) scale(1.1);
}
@media (prefers-reduced-motion: reduce){
  .ambient-zoom{ animation: none; transform: translate(-50%, -50%) scale(1.0); }
}

/* =========================================================
   3D CONTAINER SHOWCASE (pure CSS isometric box)
   ========================================================= */
.container-feature{
  max-width:1180px;
  margin: 0 auto 56px;
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items:center;
  gap:30px;
  padding: 40px 44px;
}
.container-feature-copy h3{ font-size:1.5rem; margin-top:6px; }
.container-feature-copy p{ color: var(--text-muted); max-width:420px; }

.container-3d-wrap{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  height:220px;
  perspective: 900px;
}
.container-3d-glow{
  position:absolute;
  width:220px; height:140px;
  background: radial-gradient(circle, var(--cyan-glow), transparent 70%);
  filter: blur(34px);
  opacity:0.55;
  animation: glowPulse 3.6s ease-in-out infinite;
}
@keyframes glowPulse{
  0%,100%{ opacity:0.4; transform: scale(0.96); }
  50%{ opacity:0.65; transform: scale(1.05); }
}
.container-3d{
  position:relative;
  width:180px; height:120px;
  transform-style: preserve-3d;
  transform: rotateX(-18deg) rotateY(35deg);
  animation: containerFloat 6s ease-in-out infinite;
}
@keyframes containerFloat{
  0%,100%{ transform: rotateX(-18deg) rotateY(35deg) translateY(0); }
  50%{ transform: rotateX(-18deg) rotateY(35deg) translateY(-10px); }
}
.c-face{ position:absolute; border:1px solid rgba(255,255,255,0.35); }
.c-front{
  width:180px; height:120px;
  background: linear-gradient(135deg, var(--teal-glow), #1c5a55);
  box-shadow: 0 0 30px rgba(46,196,182,0.45) inset, 0 0 24px rgba(79,209,232,0.35);
  display:flex; align-items:flex-end; justify-content:center;
  padding-bottom:10px;
}
.c-top{
  width:180px; height:60px;
  background: linear-gradient(135deg, #5be0d6, var(--teal-glow));
  transform: rotateX(90deg) translateZ(60px) translateY(-60px);
  transform-origin: top;
}
.c-side{
  width:60px; height:120px;
  background: linear-gradient(135deg, #14403c, #0c2e2b);
  transform: rotateY(90deg) translateZ(0px) translateX(180px);
  transform-origin: left;
}
.c-id{
  font-family: 'Segoe UI', system-ui, monospace;
  font-size:0.72rem;
  letter-spacing:1px;
  color: rgba(255,255,255,0.85);
  background: rgba(0,0,0,0.2);
  padding:3px 8px;
  border-radius:4px;
}
.c-ridges{
  position:absolute;
  inset-inline:10px;
  top:14px; bottom:36px;
  background-image: repeating-linear-gradient(to right, rgba(0,0,0,0.18) 0 4px, transparent 4px 16px);
}

@media (max-width: 820px){
  .container-feature{ grid-template-columns: 1fr; text-align:center; }
  .container-feature-copy p{ margin-inline:auto; }
}

/* ---------- Generic glass surface utility ---------- */
.glass{
  background: var(--glass-fill);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(15px) saturate(140%);
  -webkit-backdrop-filter: blur(15px) saturate(140%);
  box-shadow: var(--glass-shadow);
}

/* =========================================================
   NAVIGATION — floating glass bar
   ========================================================= */
.navbar{
  position:fixed;
  top:18px;
  inset-inline:6vw;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 26px;
  background: var(--glass-fill-strong);
  border:1px solid var(--glass-border);
  border-radius: 50px;
  backdrop-filter: blur(15px) saturate(160%);
  -webkit-backdrop-filter: blur(15px) saturate(160%);
  box-shadow: var(--glass-shadow);
}
.brand{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.15rem; }
.brand-mark{
  width:36px; height:36px; border-radius:10px;
  background: linear-gradient(135deg, var(--cyan-glow), var(--teal-glow));
  display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#06262b; font-size:1rem;
  box-shadow: 0 0 18px rgba(79,209,232,0.55);
}
.brand-text-ar{ font-family: var(--font-base); }

.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links a{
  font-size:0.95rem;
  color: var(--text-muted);
  transition: color .25s ease;
  position:relative;
}
.nav-links a:hover, .nav-links a:focus-visible{ color: var(--text-light); }
.nav-links a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-6px;
  height:2px;
  background: var(--cyan-glow);
  transform: scaleX(0);
  transition: transform .25s ease;
}
.nav-links a:hover::after, .nav-links a:focus-visible::after{ transform: scaleX(1); }

.nav-actions{ display:flex; align-items:center; gap:12px; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 10px 22px;
  border-radius: 50px;
  font-size:0.92rem;
  font-weight:600;
  cursor:pointer;
  border:1px solid var(--glass-border);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:active{ transform: translateY(1px); }
.btn-primary{
  background: linear-gradient(135deg, var(--cyan-glow), var(--teal-glow));
  color:#06262b;
  box-shadow: 0 6px 22px rgba(79,209,232,0.35);
}
.btn-primary:hover{ box-shadow: 0 8px 28px rgba(79,209,232,0.55); transform: translateY(-1px); }
.btn-ghost{
  background: var(--glass-fill);
  color: var(--text-light);
}
.btn-ghost:hover{ background: var(--glass-fill-strong); }

.lang-toggle{
  width:42px; height:42px; border-radius:50%;
  background: var(--glass-fill);
  border:1px solid var(--glass-border);
  color: var(--text-light);
  font-weight:700; font-size:0.78rem;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.lang-toggle:hover{ background: var(--glass-fill-strong); }

.nav-burger{
  display:none;
  width:42px; height:42px; border-radius:50%;
  background: var(--glass-fill);
  border:1px solid var(--glass-border);
  cursor:pointer;
  position:relative;
}
.nav-burger span{
  position:absolute; inset-inline-start:11px; width:20px; height:2px; background: var(--text-light);
  transition: transform .25s ease, opacity .25s ease;
}
.nav-burger span:nth-child(1){ top:15px; }
.nav-burger span:nth-child(2){ top:21px; }
.nav-burger span:nth-child(3){ top:27px; }
.nav-burger.open span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.nav-burger.open span:nth-child(2){ opacity:0; }
.nav-burger.open span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

.mobile-menu{
  display:none;
  position:fixed;
  top:90px; inset-inline:6vw;
  z-index:99;
  flex-direction:column;
  gap:6px;
  padding:18px;
}
.mobile-menu.open{ display:flex; }
.mobile-menu a, .mobile-menu button{
  padding:12px 16px;
  border-radius: var(--radius-sm);
  color: var(--text-light);
  font-weight:500;
}
.mobile-menu a:hover{ background: rgba(255,255,255,0.08); }

/* =========================================================
   HERO — Track & Trace
   ========================================================= */
.hero{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-top:140px;
  position:relative;
  z-index:1;
}
.hero-title{
  font-size: clamp(2rem, 5vw, 3.4rem);
  max-width:820px;
  line-height:1.2;
}
.hero-title span{
  background: linear-gradient(135deg, var(--cyan-glow), var(--gold-accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-sub{
  max-width:620px;
  color: var(--text-muted);
  font-size:1.05rem;
  margin-bottom:42px;
}

.track-box{
  width:min(680px, 92vw);
  padding: 28px;
  position:relative;
}
.track-box::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(79,209,232,0.5), rgba(46,196,182,0));
  z-index:-1;
  filter: blur(18px);
  opacity:0.7;
}
.track-tabs{
  display:flex;
  gap:8px;
  margin-bottom:18px;
  background: rgba(0,0,0,0.18);
  border-radius: 50px;
  padding:5px;
}
.track-tabs button{
  flex:1;
  padding:9px 0;
  border:none;
  border-radius:50px;
  background:transparent;
  color: var(--text-muted);
  font-weight:600;
  font-size:0.88rem;
  cursor:pointer;
  transition: background .25s ease, color .25s ease;
}
.track-tabs button.active{
  background: linear-gradient(135deg, var(--cyan-glow), var(--teal-glow));
  color:#06262b;
  box-shadow: 0 4px 16px rgba(79,209,232,0.4);
}
.track-form{
  display:flex;
  gap:10px;
}
.track-form input{
  flex:1;
  padding:16px 20px;
  border-radius: var(--radius-md);
  border:1px solid var(--glass-border);
  background: rgba(255,255,255,0.07);
  color: var(--text-light);
  font-size:1rem;
  outline:none;
  transition: box-shadow .25s ease, border-color .25s ease;
}
.track-form input::placeholder{ color: rgba(238,246,249,0.45); }
.track-form input:focus{
  border-color: var(--cyan-glow);
  box-shadow: 0 0 0 4px rgba(79,209,232,0.18), 0 0 24px rgba(79,209,232,0.35);
}
.track-form button{
  padding: 0 26px;
  border:none;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--cyan-glow), var(--teal-glow));
  color:#06262b;
  font-weight:700;
  cursor:pointer;
  box-shadow: 0 6px 20px rgba(79,209,232,0.4);
  transition: transform .2s ease;
}
.track-form button:hover{ transform: translateY(-2px); }
.track-hint{
  margin-top:14px;
  font-size:0.82rem;
  color: var(--text-muted);
}

.hero-stats{
  display:flex;
  gap:14px;
  margin-top:54px;
  flex-wrap:wrap;
  justify-content:center;
}
.stat-pill{
  padding:14px 24px;
  border-radius: var(--radius-md);
  text-align:center;
  min-width:140px;
}
.stat-pill .num{ font-size:1.5rem; font-weight:700; color: var(--cyan-glow); }
.stat-pill .label{ font-size:0.78rem; color: var(--text-muted); }

/* =========================================================
   ABOUT — timeline
   ========================================================= */
.section-head{ text-align:center; max-width:680px; margin: 0 auto 56px; }
.section-head p{ color: var(--text-muted); }

.timeline{
  position:relative;
  max-width:760px;
  margin:0 auto;
  padding-inline-start: 38px;
  border-inline-start: 2px solid rgba(255,255,255,0.18);
}
.timeline-item{
  position:relative;
  padding: 26px 28px;
  margin-bottom:26px;
}
.timeline-item::before{
  content:"";
  position:absolute;
  inset-inline-start:-50px;
  top:30px;
  width:16px; height:16px;
  border-radius:50%;
  background: var(--cyan-glow);
  box-shadow: 0 0 0 4px rgba(79,209,232,0.18), 0 0 18px var(--cyan-glow);
}
.timeline-item .year{
  color: var(--gold-accent);
  font-weight:700;
  font-size:0.85rem;
  letter-spacing:1px;
  margin-bottom:6px;
  display:block;
}
.timeline-item h3{ margin-bottom:8px; }
.timeline-item p{ color: var(--text-muted); margin:0; }

.office-card{
  max-width:760px;
  margin: 36px auto 0;
  padding:28px 30px;
  display:flex;
  gap:20px;
  align-items:flex-start;
}
.office-icon{
  flex-shrink:0;
  width:52px; height:52px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, var(--gold-accent), #b9842f);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
}
.office-card h4{ margin:0 0 6px; }
.office-card p{ margin:0; color: var(--text-muted); }

/* =========================================================
   SERVICES — glass grid
   ========================================================= */
.services-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:26px;
  max-width:1180px;
  margin:0 auto;
}
.service-card{
  padding: 34px 28px;
  transition: transform .35s ease, box-shadow .35s ease, background .35s ease;
  cursor:default;
}
.service-card:hover{
  transform: translateY(-10px);
  background: var(--glass-fill-strong);
  box-shadow: 0 18px 40px rgba(0,0,0,0.4), 0 0 30px rgba(79,209,232,0.18);
}
.service-icon{
  width:58px; height:58px;
  border-radius: var(--radius-sm);
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem;
  margin-bottom:20px;
  background: rgba(79,209,232,0.14);
  border: 1px solid rgba(79,209,232,0.3);
}
.service-card h3{ font-size:1.18rem; }
.service-card p{ color: var(--text-muted); font-size:0.94rem; margin-bottom:18px; }
.service-card ul{ display:flex; flex-direction:column; gap:8px; }
.service-card li{
  font-size:0.86rem;
  color: var(--text-light);
  padding-inline-start:18px;
  position:relative;
}
.service-card li::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:8px;
  width:7px; height:7px;
  border-radius:50%;
  background: var(--teal-glow);
}

/* =========================================================
   LOGIN PORTAL — tabbed glass box
   ========================================================= */
.login-wrap{ display:flex; justify-content:center; }
.login-box{
  width:min(440px, 92vw);
  padding: 36px;
}
.login-tabs{
  display:flex;
  background: rgba(0,0,0,0.2);
  border-radius:50px;
  padding:5px;
  margin-bottom:28px;
  position:relative;
}
.login-tabs button{
  flex:1;
  padding:11px 0;
  border:none;
  background:transparent;
  border-radius:50px;
  color: var(--text-muted);
  font-weight:600;
  cursor:pointer;
  z-index:1;
  transition: color .25s ease;
}
.login-tabs button.active{ color:#06262b; }
.login-tabs .tab-thumb{
  position:absolute;
  top:5px; bottom:5px;
  inset-inline-start:5px;
  width:calc(50% - 5px);
  border-radius:50px;
  background: linear-gradient(135deg, var(--cyan-glow), var(--teal-glow));
  transition: transform .3s ease;
  box-shadow: 0 4px 16px rgba(79,209,232,0.4);
}
html[dir="rtl"] .login-tabs .tab-thumb.shift{ transform: translateX(-100%); }
html:not([dir="rtl"]) .login-tabs .tab-thumb.shift{ transform: translateX(100%); }

.login-panel{ display:none; flex-direction:column; gap:16px; }
.login-panel.active{ display:flex; }
.field-label{ font-size:0.85rem; color: var(--text-muted); margin-bottom:6px; display:block; }
.login-panel input, .login-panel select{
  width:100%;
  padding:13px 16px;
  border-radius: var(--radius-sm);
  border:1px solid var(--glass-border);
  background: rgba(255,255,255,0.07);
  color: var(--text-light);
  font-size:0.95rem;
  outline:none;
}
.login-panel input:focus{
  border-color: var(--cyan-glow);
  box-shadow: 0 0 0 3px rgba(79,209,232,0.18);
}
.login-row{ display:flex; justify-content:space-between; align-items:center; font-size:0.82rem; color: var(--text-muted); }
.login-row a{ color: var(--cyan-glow); }
.login-panel .btn-primary{ width:100%; padding:14px 0; border-radius: var(--radius-sm); margin-top:6px; }
.login-foot{ text-align:center; margin-top:20px; font-size:0.82rem; color: var(--text-muted); }

/* =========================================================
   FOOTER
   ========================================================= */
footer{
  padding: 50px 6vw 30px;
  text-align:center;
  color: var(--text-muted);
  font-size:0.85rem;
  position:relative; z-index:1;
}
footer .foot-links{ display:flex; gap:22px; justify-content:center; margin-bottom:16px; flex-wrap:wrap; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  .services-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px){
  .nav-links{ display:none; }
  .nav-burger{ display:flex; }
  .services-grid{ grid-template-columns: 1fr; }
  .track-form{ flex-direction:column; }
  .track-form button{ padding:14px 0; }
  section{ padding-block:60px; }
  .navbar{ padding:12px 18px; }
}
