/* CONTACT HERO */
.contact-hero{
  background:linear-gradient(135deg,#fffdf4,#ffeaa7);
  opacity:0;
  transform:translateY(40px);
  transition:opacity .7s ease-out, transform .7s ease-out;
}
.contact-hero.visible{
  opacity:1;
  transform:translateY(0);
}
.contact-chip{
  display:inline-block;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  padding:.25rem .8rem;
  border-radius:999px;
  background:#fff3c4;
  color:#92400e;
  margin-bottom:.6rem;
}
.contact-title{
  font-weight:800;
  font-size:2.3rem;
}
.contact-sub{
  max-width:480px;
  margin-top:.8rem;
  color:#4b5563;
}

/* contact cards */
.contact-cards{
  margin-top:1.4rem;
  display:flex;
  flex-direction:column;
  gap:.8rem;
}
.contact-card{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.75rem 1rem;
  border-radius:99px;
  background:#fffbeb;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}
.contact-card i{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#facc15;
  color:#111827;
}
.contact-card h4{
  font-size:.9rem;
  font-weight:700;
  margin-bottom:0;
}
.contact-card a,
.contact-card p{
  font-size:.9rem;
  color:#4b5563;
  margin-bottom:0;
  text-decoration:none;
}

/* form card */
.contact-form-card{
  position:relative;
  border-radius:28px;
  padding:1.8rem 1.7rem 2rem;
  background:#ffffff;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
  overflow:hidden;
  opacity:0;
  transform:translateY(40px);
  transition:opacity .7s ease-out .1s, transform .7s ease-out .1s;
}
.contact-form-card::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle at top,#fde68a,transparent 55%);
  opacity:.55;
}
.contact-form-card h3,
.contact-form-card p,
.contact-form-card form{
  position:relative;
}
.contact-form-card h3{
  font-weight:800;
  font-size:1.4rem;
}
.contact-form-text{
  font-size:.9rem;
  color:#4b5563;
}
.contact-form-card.visible{
  opacity:1;
  transform:translateY(0);
}

/* floating labels */
.floating-group{
  position:relative;
  margin-bottom:1rem;
}
.floating-group input,
.floating-group textarea{
  width:100%;
  border-radius:12px;
  border:1px solid #e5e7eb;
  padding:.9rem .9rem .3rem;
  font-size:.9rem;
  background:#fffdf7;
  outline:none;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.floating-group textarea{
  resize:vertical;
  min-height:90px;
}
.floating-group label{
  position:absolute;
  left:.9rem;
  top:.85rem;
  font-size:.8rem;
  color:#9ca3af;
  pointer-events:none;
  transition:all .2s ease;
}
.floating-group input:focus,
.floating-group textarea:focus{
  border-color:#f59e0b;
  box-shadow:0 0 0 2px rgba(245,158,11,.18);
  background:#ffffff;
}
.floating-group input:not(:placeholder-shown) + label,
.floating-group textarea:not(:placeholder-shown) + label,
.floating-group input:focus + label,
.floating-group textarea:focus + label{
  top:.25rem;
  font-size:.7rem;
  color:#f59e0b;
}

/* placeholder hack */
.floating-group input::placeholder,
.floating-group textarea::placeholder{
  color:transparent;
}

/* submit button */
.contact-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.8rem 2.1rem;
  border-radius:999px;
  background:linear-gradient(135deg,#facc15,#f97316);
  color:#111827;
  font-weight:800;
  border:none;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
  transition:transform .25s, box-shadow .25s, filter .25s;
}
.contact-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  filter:brightness(1.05);
}
.contact-note{
  margin-top:.5rem;
  font-size:.75rem;
  color:#6b7280;
}

/* EXTRA SECTION */
.contact-extra{
  background:#ffffff;
  opacity:0;
  transform:translateY(40px);
  transition:opacity .7s ease-out, transform .7s ease-out;
}
.contact-extra.visible{
  opacity:1;
  transform:translateY(0);
}
.contact-extra-card{
  border-radius:22px;
  padding:1.4rem 1.4rem 1.5rem;
  background:#fffbeb;
  box-shadow:0 16px 50px rgba(0,0,0,.08);
}
.contact-extra-card h3{
  font-weight:800;
  font-size:1.2rem;
  margin-bottom:.6rem;
}
.contact-hours{
  list-style:none;
  padding:0;
  margin:0;
}
.contact-hours li{
  display:flex;
  justify-content:space-between;
  font-size:.9rem;
  padding:.35rem 0;
  border-bottom:1px dashed rgba(0,0,0,.06);
}
.contact-hours li:last-child{
  border-bottom:none;
}
.contact-emergency{
  font-weight:700;
  color:#b91c1c;
  text-decoration:none;
}
.contact-map-card{
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.16);
}

/* RESPONSIVE */
@media (max-width:991.98px){
  .contact-hero{
    text-align:center;
  }
  .contact-sub{
    margin-left:auto;
    margin-right:auto;
  }
  .contact-cards{
    align-items:center;
  }
}
@media (max-width:767.98px){
  .contact-title{
    font-size:2rem;
  }
  .contact-form-card{
    margin-top:1rem;
  }
}
