/* SPAK Premium — with slogan */
:root{
  --bg-1:#f5fbff;
  --bg-2:#e6f4ff;
  --radial-a:rgba(14,165,233,.14);
  --radial-b:rgba(99,102,241,.10);
  --fg:#0f172a;
  --muted:#475569;
  --accent:#0ea5e9;
  --card:#ffffff;
  --border:#e5e7eb;
  --shadow:rgba(2,6,23,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Segoe UI", Roboto, Arial, "Helvetica Neue", Helvetica, system-ui, -apple-system, sans-serif;
  color:var(--fg);
  background: radial-gradient(1000px 600px at 20% 10%, var(--radial-a), transparent 60%),
              radial-gradient(1000px 600px at 80% 0%, var(--radial-b), transparent 60%),
              linear-gradient(135deg, var(--bg-1), var(--bg-2));
  display:flex; align-items:center; justify-content:center; padding:24px;
}
.wrapper{width:100%; max-width:980px;}
.card{
  position:relative;
  border:1px solid var(--border);
  background: linear-gradient(180deg, #ffffff, #fafafa);
  border-radius:26px;
  padding:56px 48px;
  box-shadow:0 18px 50px var(--shadow), inset 0 1px 0 rgba(255,255,255,.8);
  text-align:center;
}
.brand{
  display:inline-block; letter-spacing:.28em; font-weight:800;
  font-size:clamp(28px,5vw,40px);
  padding:10px 18px; border-radius:16px;
  border:1px solid var(--border);
  background: linear-gradient(180deg, #ffffff, #f3f4f6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 6px 16px var(--shadow);
  margin-bottom:4px;
}
.slogan{margin: 4px 0 12px;
  color: #099fe3;
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: clamp(16px,3.2vw,24px); }


h1{ margin:6px 0 6px; font-size:clamp(24px,3.2vw,36px);}
.subtitle{ margin:0 0 18px; color:var(--muted); font-size:clamp(15px,2.2vw,18px);}
.countdown{
  display:inline-flex; align-items:stretch; gap:12px; margin:14px 0 18px;
  padding:12px 18px; border:1px solid var(--border); border-radius:18px; background:#fff;
  box-shadow:0 10px 22px var(--shadow), inset 0 1px 0 rgba(255,255,255,.9);
}
.cd-seg{ display:flex; flex-direction:column; align-items:center; min-width:64px; }
.num{ font-weight:800; font-size:clamp(20px,3.6vw,32px); line-height:1; font-variant-numeric:tabular-nums; letter-spacing:.5px; }
.lbl{ font-size:12px; color:var(--muted); margin-top:4px; }
.cd-sep{ display:flex; align-items:center; font-weight:700; opacity:.5; padding:0 2px; }
.divider{ height:1px; width:100%; margin:18px auto; background:linear-gradient(90deg,transparent, rgba(148,163,184,.35), transparent);}

.contacts{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; justify-content:center; margin-bottom:14px; }
.contact{
  color:var(--fg); text-decoration:none; padding:10px 14px; border:1px dashed var(--border); border-radius:999px;
}
.cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:8px 0 0; }
.button{
  display:inline-block; text-decoration:none; font-weight:700; padding:12px 20px; border-radius:14px;
  border:1px solid var(--border); color:var(--fg);
  background: linear-gradient(180deg, #ffffff, #f3f4f6);
  box-shadow:0 8px 20px var(--shadow), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.button.primary{ background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 88%, white 12%)); color:#fff; border-color: transparent; }
.button:hover{ transform: translateY(-1px); box-shadow:0 12px 26px var(--shadow); border-color: rgba(56,189,248,.35);}

.shadow-edge{ position:absolute; left:0; right:0; bottom:-1px; height:90px; border-bottom-left-radius:26px; border-bottom-right-radius:26px;
  background:linear-gradient(180deg, rgba(0,0,0,0), rgba(2,6,23,.04)); pointer-events:none; }

.footer{ text-align:center; color:#475569; font-size:14px; margin-top:16px; }

/* Floating contact menu with spacing + glow hover */
.fab-menu{
  position:fixed; right:20px; bottom:50%; transform:translateY(50%);
  display:flex; flex-direction:column; gap:14px; z-index:50;
}
.fab-item{
  display:flex; align-items:center; justify-content:center; gap:8px;
  text-decoration:none; color:var(--fg); background:#fff; border:1px solid var(--border);
  border-radius:12px; padding:10px 16px; min-width:132px; font-weight:700;
  box-shadow:0 10px 22px var(--shadow), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, outline-color .15s ease;
  outline:2px solid transparent;
}
.fab-item:hover{ transform:translateY(-1px); border-color: color-mix(in srgb, var(--accent) 40%, #cbd5e1 60%); box-shadow:0 14px 28px var(--shadow); outline-color: color-mix(in srgb, var(--accent) 25%, transparent); }
.fab-item svg{ width:18px; height:18px; fill: var(--accent); }

/* Mobile tweaks */
@media (max-width: 640px){
  .card{ padding:40px 24px; }
  .fab-menu{ right:14px; gap:10px; }
  .countdown{ flex-wrap:wrap; gap:8px; padding:10px 14px; }
  .cd-seg{ min-width:56px; }
  .cd-sep{ display:none; }
}

/* === Docked contact panel: avoid overlapping countdown === */
.card{ position: relative; }
.contact-panel{
  position: absolute;
  right: -110px; /* sits outside the card edge */
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 2; /* below any modal-like elements, above card */
}
/* Keep button visuals (already defined via .fab-item in theme) */
@media (max-width: 1200px){
  /* Pull a bit closer on smaller desktops */
  .contact-panel{ right: -96px; }
}
@media (max-width: 1024px){
  /* Inside the card on tablets to ensure no overflow */
  .contact-panel{
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-width: 640px){
  /* On phones: place under CTA and full width */
  .contact-panel{
    position: static;
    transform: none;
    right: auto; top: auto;
    margin-top: 12px;
    flex-direction: column;
  }
  .contact-panel .fab-item{ width: 100%; }
}

/* === Mobile polish (S23/Safari/Chrome) === */
@media (max-width: 640px){
  .card{ padding: 28px 18px; }
  .contacts{ gap:10px; }
  .contact{ width:100%; text-align:center; }
  .cta{ gap:10px; }
  .cta .button{ width:100%; padding:12px 16px; }
  .countdown{ gap:8px; padding:10px 12px; }
  .cd-seg{ min-width:54px; }
  .fab-item{ width:100%; } /* contact-panel buttons full width */
  .contact-panel{ margin-top: 12px; } /* ensure spacing under CTA */
}

/* === Mobile headroom & safe-area fixes === */
@supports (height: 100dvh){
  body{ min-height:100dvh; }
}
/* Add safe-area padding for notches (Android/iOS) */
body{ padding-top: max(12px, env(safe-area-inset-top)); }

@media (max-width: 640px){
  /* Make sure branding & slogan are always visible above H1 */
  .card{ padding-top: 44px; }
  .brand{ margin-bottom: 6px; }
  .slogan{ margin-top: 2px; font-size: 15px; line-height: 1.3; }
  /* Slightly reduce H1 size so it doesn't push content up */
  h1{ font-size: clamp(22px, 6.2vw, 28px); line-height: 1.18; margin-top: 8px; }
  .subtitle{ margin-top: 6px; }
  /* Keep countdown compact on phones */
  .countdown{ margin-top: 12px; gap:8px; padding:10px 12px; }
}


/* === SPAK logo image (responsive) === */
.logo{
  display:block;
  width:220px;
  max-width:100%;
  height:auto;
  margin:0 auto 6px;
}
@media (max-width:640px){
  .logo{ width:170px; margin-bottom:4px; }
}

/* Hide right-side contact panel on desktop; keep it on mobile */
@media (min-width:641px){
  .contact-panel{ display:none !important; }
}


/* === Mobile scroll fix: keep exact design, enable scrolling and top visibility === */
@media (max-width: 768px){
  html, body{
    height: auto !important;
    min-height: 100vh !important;
    display: block !important;
    overflow-y: auto !important;
  }
  .wrapper{
    display: block;
    padding: 20px 12px;
  }
  .card{
    margin: 0 auto;
    padding: 40px 20px;
  }
}
