/* =========================
   CTA BUTTON – STYLE
========================= */

.btn{
  display: inline-flex;
  align-items: center;
  gap: 12px;

  /* 👇 TÄPNE KÕRGUS / TIHEDUS */
  padding: 5px 16px 5px 20px;
  min-height: 48px;

  /* 👇 TERAVAMAD NURGAD */
  border-radius: 8px;

  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;

  position: relative;
}

/* kollane kest */
.btn-primary{
  background: var(--color-accent);
  color: #0f172a;
}

/* CTA spetsiifiline */
.btn-cta{
  overflow: hidden;
}

/* tekst ja nool alati peal */
.btn-cta span{
  position: relative;
  z-index: 2;
}

/* valge fill */
.btn-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:#fff;
  transform: translateX(-100%);
  transition: transform .45s ease;
  z-index:1;
}

/* hover – fill sisse */
.btn-cta:hover::before{
  transform: translateX(0);
}

.btn-arrow{
  width:36px;
  height:36px;
  border-radius:6px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:#0f172a;
  color:#fff;
  font-size:16px;

  transition: transform .45s ease;
  flex-shrink:0;
}

/* nool liigub */
.btn-cta:hover .btn-arrow{
  transform: translateX(4px);
}

/* tekst jääb alati tumedaks */
.btn-text{
  color:#0f172a;
}

.btn-cta{
  white-space: nowrap;
}

/* =========================
   FOOTER LOGO = HEADER LOGO
========================= */

.footer-pro .site-logo{
  font-size: inherit; /* reset */
}

/* TAASRAKENDA HEADER LOGO SUURUS */
.footer-pro .logo-main{
  font-size: 32px;      
  font-weight: 800;
}

.footer-pro .logo-accent{
  font-size: 32px;      
  font-weight: 800;
}

/* =========================
   SCROLL REVEAL – CORE
========================= */

.reveal,
.reveal-soft{
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity .8s cubic-bezier(.22,1,.36,1),
    transform .8s cubic-bezier(.22,1,.36,1);
  will-change: transform, opacity;
}

.reveal-soft{
  transform: translateY(18px);
}

/* nähtav */
.reveal.is-visible,
.reveal-soft.is-visible{
  opacity: 1;
  transform: none;
}

/* =========================
   STAGGER GRIDS
========================= */

.reveal-stagger > *{
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1);
}

.reveal-stagger.is-visible > *{
  opacity: 1;
  transform: none;
}

/* viited */
.reveal-stagger.is-visible > *:nth-child(1){ transition-delay:.05s }
.reveal-stagger.is-visible > *:nth-child(2){ transition-delay:.12s }
.reveal-stagger.is-visible > *:nth-child(3){ transition-delay:.18s }
.reveal-stagger.is-visible > *:nth-child(4){ transition-delay:.25s }
.reveal-stagger.is-visible > *:nth-child(5){ transition-delay:.32s }

.logo-accent{
  padding:2px 8px;

  background:rgba(255,255,255,.15);
  backdrop-filter:blur(8px);

  border:1px solid rgba(255,255,255,.25);
  border-radius:8px;

  color:#fff;
  font-weight:800;
}

.site-logo img{
  height: 54px;     /* desktop */
  width: auto;
  display: block;
}

.header-inner{
  min-height: 72px; /* sinu headeri kõrgus */
  align-items: center;
}

@media(max-width:768px){
  .site-logo img{
    height: 34px;
  }
}

/* ==================================================
   FORM STATUS – PREMIUM GLASS ALERT
================================================== */

.k24-form-status{
  margin-bottom:16px;
  width:100%;
}

/* BASE */
.k24-form-success,
.k24-form-error{

  display:flex;
  align-items:center;
  gap:10px;

  padding:14px 18px;

  border-radius:14px;

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  background: rgba(15,23,42,.55);

  border:1px solid rgba(255,255,255,.12);

  box-shadow:
    0 8px 30px rgba(0,0,0,.25);

  font-size:15px;
  font-weight:500;
  line-height:1.4;

  color:#f8fafc;
}


/* SUCCESS */
.k24-form-success{

  border-color: rgba(16,185,129,.4);

  background:
    linear-gradient(
      135deg,
      rgba(16,185,129,.15),
      rgba(15,23,42,.6)
    );
}


/* ERROR */
.k24-form-error{

  border-color: rgba(239,68,68,.45);

  background:
    linear-gradient(
      135deg,
      rgba(239,68,68,.18),
      rgba(15,23,42,.6)
    );
}


/* ICON ALIGN */
.k24-form-success::before,
.k24-form-error::before{
  content:"";
  width:6px;
  height:100%;
  border-radius:6px;
  background:currentColor;
  opacity:.4;
}

/* ============================================
   FILE UPLOAD UX
============================================ */

.file-upload{
  margin-top:12px;
}

.file-label{
  display:flex;
  align-items:center;
  gap:10px;

  cursor:pointer;

  padding:12px 14px;

  border-radius:12px;

  background:rgba(255,255,255,.04);
  border:1px dashed rgba(255,255,255,.25);

  transition:.25s ease;
}

.file-label:hover{
  background:rgba(255,255,255,.08);
}

.file-text{
  font-size:14px;
  opacity:.85;
}

.file-text.file-added{
  color:#22c55e;
  font-weight:600;
  opacity:1;
}

.file-upload input[type="file"]{
  display:none;
}

/* ============================================
   FORCE FILE NAME TO STAY INSIDE FORM
============================================ */

/* kogu parempoolne kast */
.contact-hero-form,
.contact-form-card,
.contact-form{
  max-width:100%;
  min-width:0;
  overflow:hidden;
}

/* grid ei tohi laiendada */
.contact-grid{
  min-width:0;
  max-width:100%;
}

/* upload wrapper */
.file-upload{
  max-width:100%;
  min-width:0;
  overflow:hidden;
}

/* label (flex fix) */
.file-label{
  display:flex;

  max-width:100%;
  min-width:0;

  overflow:hidden;
}

/* failinimi */
.file-text{
  flex:1 1 auto;

  min-width:0;
  max-width:100%;

  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;

  display:block;
}

/* ikoon ei veni */
.file-icon{
  flex-shrink:0;
}
