/* ═══════════════════════════════════════════
   FOOTER — vykupyostrava.cz
   Prefix: ft-
   Replaces old .footer styles
   ═══════════════════════════════════════════ */

/* ── PRE-FOOTER CTA ── */
.ft-cta{
  padding:clamp(3rem,5vw,4.5rem) 0;
  background:var(--bg);
}
.ft-cta__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2.5rem;
  padding:clamp(2rem,3.5vw,3rem) clamp(2rem,4vw,3.5rem);
  border-radius:var(--rx);
  background:var(--ink);
  position:relative;
  overflow:hidden;
}
.ft-cta__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 80% at 0% 50%, rgba(16,185,129,.1), transparent),
    radial-gradient(ellipse 40% 60% at 100% 20%, rgba(52,211,153,.06), transparent);
  pointer-events:none;
}
.ft-cta__text{position:relative;z-index:1;max-width:520px}
.ft-cta__title{
  font-size:clamp(20px,2.5vw,26px);
  font-weight:700;
  color:#fff;
  letter-spacing:-.03em;
  line-height:1.15;
  margin:0 0 .65rem;
}
.ft-cta__desc{
  font-size:15px;
  line-height:1.65;
  color:rgba(255,255,255,.65);
  margin:0;
}
.ft-cta__acts{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  flex-shrink:0;
}
.ft-cta__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:.75rem 1.75rem;
  border-radius:50px;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  background:var(--accent-glow);
  border:2px solid var(--accent-glow);
  text-decoration:none;
  transition:all .25s;
  box-shadow:0 4px 16px rgba(16,185,129,.2);
  white-space:nowrap;
}
.ft-cta__btn:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--ink);
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(16,185,129,.25);
}
.ft-cta__btn svg{transition:transform .2s}
.ft-cta__btn:hover svg{transform:rotate(45deg)}
.ft-cta__tel{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.6);
  text-decoration:none;
  transition:color .2s;
  padding-left:4px;
}
.ft-cta__tel svg{color:var(--accent-glow);flex-shrink:0}
.ft-cta__tel:hover{color:#fff}

@media(max-width:767px){
  .ft-cta__inner{
    flex-direction:column;
    text-align:center;
    align-items:center;
    padding:2rem 1.5rem;
  }
  .ft-cta__text{max-width:none}
  .ft-cta__acts{align-items:center}
}

/* ── TRUST STRIP ── */
.ft-trust{
  background:var(--ink);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:clamp(1.25rem,2vw,1.75rem) 0;
}
.ft-trust__row{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px clamp(1.25rem,3vw,2.5rem);
}
.ft-trust__item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  font-weight:600;
  color:rgba(255,255,255,.5);
  letter-spacing:-.01em;
}
.ft-trust__item svg{
  color:var(--accent);
  opacity:.7;
  flex-shrink:0;
}

/* ── MAIN FOOTER ── */
.footer{
  background:linear-gradient(165deg,#060a14,#090d1a);
  padding:clamp(2.5rem,4.5vw,4rem) 0 0;
  color:rgba(255,255,255,.7);
}
.footer a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
.footer a:hover{color:#fff}

.ft-main{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:clamp(1.5rem,3vw,3rem);
}

/* Brand block */
.ft-brand__name{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  margin-bottom:.85rem;
}
.ft-brand__name b{
  font-weight:800;
  font-size:1.4rem;
  color:#fff;
  letter-spacing:-.02em;
}
.ft-brand__name i{
  font-style:normal;
  font-weight:400;
  color:rgba(255,255,255,.35);
  font-size:.85rem;
}
.ft-brand__desc{
  font-size:14.5px;
  line-height:1.7;
  color:rgba(255,255,255,.4);
  max-width:340px;
  margin:0 0 1.25rem;
}
.ft-brand__contact{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.ft-brand__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:500;
}
.ft-brand__ic{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:rgba(16,185,129,.08);
  color:var(--accent);
  transition:background .2s;
}
.ft-brand__link:hover .ft-brand__ic{
  background:rgba(16,185,129,.15);
}

/* Columns */
.ft-col__title{
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.22);
  margin:0 0 .9rem;
  padding-bottom:.65rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ft-col__list{
  list-style:none;
  padding:0;
  margin:0;
}
.ft-col__list li{margin-bottom:.1rem}
.ft-col__list a{
  display:block;
  padding:.38rem 0;
  font-size:14px;
  font-weight:500;
  color:rgba(255,255,255,.48);
  transition:color .2s,padding-left .2s;
}
.ft-col__list a:hover{
  color:#fff;
  padding-left:5px;
}

/* Locality list — compact 2-col on desktop */
.ft-col__list--loc{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 .75rem;
}

/* ── BOTTOM BAR ── */
.ft-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:clamp(2rem,3vw,3rem);
  padding:clamp(1rem,2vw,1.3rem) 0;
  border-top:1px solid rgba(255,255,255,.06);
  font-size:13px;
  color:rgba(255,255,255,.22);
}
.ft-bottom__sep{opacity:.35}
.ft-bottom__left{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ft-bottom__right{display:flex;align-items:center;gap:clamp(12px,2vw,20px)}
.ft-bottom a{color:rgba(255,255,255,.28);font-weight:500}
.ft-bottom a:hover{color:rgba(255,255,255,.55)}

/* Entity sentence */
.ft-entity{
  font-size:12px;
  line-height:1.6;
  color:rgba(255,255,255,.15);
  text-align:center;
  padding:0 0 clamp(1.25rem,2vw,1.75rem);
  margin:0;
  max-width:60ch;
  margin-inline:auto;
}

/* ── RESPONSIVE ── */
@media(max-width:991px){
  .ft-main{
    grid-template-columns:1fr 1fr;
    row-gap:clamp(2rem,3.5vw,2.5rem);
  }
  .ft-brand{grid-column:1/-1}
  .ft-brand__desc{max-width:none}
  .ft-brand__contact{flex-direction:row;gap:1.25rem;flex-wrap:wrap}
}

@media(max-width:575px){
  .ft-main{grid-template-columns:1fr}
  .ft-brand__contact{flex-direction:column;gap:.5rem}
  .ft-col__list--loc{grid-template-columns:1fr 1fr}
  .ft-bottom{
    justify-content:center;
    text-align:center;
  }
  .ft-bottom__left,
  .ft-bottom__right{width:100%;justify-content:center}
  .ft-trust__row{justify-content:flex-start}
  .ft-trust__item{font-size:12.5px}
}
