/* =========================================================
   FERRO FABS – CONTACT PAGE
========================================================= */

.ff-contact-premium{
  --ff-blue:#0A2A5A;
  --ff-blue-light:#2f6bb0;
  --ff-orange:#f27a1a;
  --ff-bg:#f4f6f9;
  --ff-line:#e5eaf1;
  --ff-text:#5d6676;
  background:var(--ff-bg);
}

/* HERO */
.ff-contact-premium .ff-page-hero{
  position:relative;
  padding:95px 0 70px;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.08), transparent 45%),
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.05), transparent 45%),
    linear-gradient(135deg,#0A2A5A 0%, #143d7a 45%, #2f6bb0 100%);
  overflow:hidden;
}

.ff-contact-premium .ff-page-hero:before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  background:rgba(255,255,255,.07);
  border-radius:50%;
  top:-120px;
  right:-120px;
  filter:blur(10px);
}

.ff-contact-premium .ff-page-hero:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  background:rgba(255,255,255,.05);
  border-radius:50%;
  bottom:-80px;
  left:-80px;
}

.ff-contact-premium .content-box{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:860px;
  margin:0 auto;
}

.ff-contact-premium .ff-kicker{
  display:inline-block;
  padding:10px 18px;
  border-radius:40px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.ff-contact-premium .ff-page-hero h1{
  color:#fff;
  font-size:52px;
  line-height:1.05;
  font-weight:800;
  margin:0 0 10px;
}

.ff-contact-premium .ff-page-hero p{
  color:rgba(255,255,255,.92);
  font-size:16px;
  line-height:1.8;
  max-width:700px;
  margin:0 auto 16px;
}

.ff-contact-premium .ff-breadcrumb{
  display:flex;
  justify-content:center;
  gap:10px;
  list-style:none;
  padding:0;
  margin:0;
  flex-wrap:wrap;
}

.ff-contact-premium .ff-breadcrumb li,
.ff-contact-premium .ff-breadcrumb a{
  color:rgba(255,255,255,.85);
  font-size:14px;
}

.ff-contact-premium .ff-breadcrumb .sep{
  opacity:.5;
}

/* CONTACT SECTION */
.ff-contact-section{
  padding:80px 0 50px;
}

.ff-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:start;
}

.ff-contact-label{
  display:inline-block;
  color:#fff;
  background:linear-gradient(135deg,#f27a1a,#ff9a3c);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:16px;
  padding:10px 16px;
  border-radius:30px;
  box-shadow:0 10px 24px rgba(242,122,26,.22);
}

.ff-contact-details h2,
.ff-contact-form-box h3,
.ff-contact-map-box h2{
  color:var(--ff-blue);
  font-size:40px;
  line-height:1.12;
  font-weight:800;
  margin:0 0 14px;
}

.ff-contact-details > p{
  color:var(--ff-text);
  font-size:16px;
  line-height:1.9;
  margin-bottom:22px;
}

.ff-contact-card,
.ff-contact-form-box,
.ff-contact-map-box{
  background:#fff;
  border:1px solid var(--ff-line);
  border-radius:24px;
  box-shadow:0 14px 35px rgba(8,34,74,.06);
}

.ff-contact-card{
  padding:22px 24px;
  margin-bottom:16px;
}

.ff-contact-card h4{
  color:var(--ff-blue);
  font-size:22px;
  font-weight:800;
  margin:0 0 10px;
}

.ff-contact-card p,
.ff-contact-card a{
  color:var(--ff-text);
  font-size:16px;
  line-height:1.8;
  margin:0;
  text-decoration:none;
}

.ff-contact-card a:hover{
  color:var(--ff-orange);
}

/* FORM */
.ff-contact-form-box{
  padding:28px;
}

.ff-contact-form .ff-form-group{
  margin-bottom:16px;
}

.ff-contact-form input,
.ff-contact-form textarea{
  width:100%;
  border:1px solid #dbe4ef;
  border-radius:14px;
  padding:14px 16px;
  font-size:15px;
  color:#333;
  background:#fff;
  outline:none;
  transition:.25s ease;
}

.ff-contact-form input:focus,
.ff-contact-form textarea:focus{
  border-color:#f27a1a;
  box-shadow:0 0 0 3px rgba(242,122,26,.10);
}

.ff-contact-form textarea{
  resize:vertical;
}

/* MAP */
.ff-contact-map-section{
  padding:10px 0 84px;
}

.ff-contact-map-box{
  padding:28px;
}

.ff-map-embed{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(8,34,74,.08);
}

.ff-map-embed iframe{
  width:100%;
  height:450px;
  display:block;
  border:0;
}

/* RESPONSIVE */
@media (max-width:991px){
  .ff-contact-grid{
    grid-template-columns:1fr;
  }

  .ff-contact-premium .ff-page-hero h1{
    font-size:42px;
  }

  .ff-contact-details h2,
  .ff-contact-form-box h3,
  .ff-contact-map-box h2{
    font-size:34px;
  }
}

@media (max-width:767px){
  .ff-contact-premium .ff-page-hero{
    padding:80px 0 60px;
  }

  .ff-contact-premium .ff-page-hero h1{
    font-size:34px;
  }

  .ff-contact-section{
    padding:60px 0 40px;
  }

  .ff-contact-form-box,
  .ff-contact-map-box{
    padding:20px;
    border-radius:20px;
  }

  .ff-contact-details h2,
  .ff-contact-form-box h3,
  .ff-contact-map-box h2{
    font-size:28px;
  }

  .ff-map-embed iframe{
    height:340px;
  }
}