/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./templates/routes/main/contacts/contacts.css ***!
  \***************************************************************************************************************************/
/* Wrapper: solo vincolo larghezza — grid gestito da Bootstrap row/col */
.ct-wrapper {
  max-width: 960px;
  margin: 2rem auto;
  padding: 0 1rem 4rem;
}

.ct-card {
  background: rgba(255, 255, 255, 0.96);
  border-radius: 0.8rem;
  overflow: hidden;
}

.ct-card-header {
  padding: 1rem 1.25rem;
  background: rgba(10, 25, 70, 0.07);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.ct-card-header h5 {
  font-weight: 700;
  color: #0f2456;
  margin: 0;
  font-size: 1.05rem;
}

.ct-card-body {
  padding: 1.25rem;
  flex: 1;
}

.ct-card .card-body,
.ct-card .card-footer {
  background: rgba(255, 255, 255, 0.96);
}

.ct-card-footer {
  padding: 0.75rem 1.25rem;
  background: rgba(10, 25, 70, 0.04);
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  display: flex;
  justify-content: flex-end;
}

/* Section titles — stesso stile di rules-section-title */
.ct-section-title {
  font-weight: 700;
  color: #0f2456;
  border-left: 3px solid #2c7be5;
  padding-left: 0.6rem;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

/* Info contatti */
.ct-value {
  font-size: 0.9rem;
  color: #2d3748;
  padding-left: 0.75rem;
  margin-bottom: 0;
}

.ct-hours { padding-left: 0.75rem; }

.ct-hours-row {
  display: flex;
  gap: 1rem;
  font-size: 0.88rem;
  color: #2d3748;
  padding: 0.18rem 0;
}

.ct-hours-row span:first-child { min-width: 82px; font-weight: 500; }

/* Form */
.ct-card-body--form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ct-form-group { display: flex; flex-direction: column; gap: 0.35rem; }
.ct-form-group--grow { flex: 1; }

.ct-input {
  width: 100%;
  border: 1px solid rgba(10, 25, 70, 0.15);
  border-radius: 0.4rem;
  outline: none;
  background: transparent;
  padding: 0.55rem 0.75rem;
  font-size: 0.9rem;
  color: #0f2456;
  font-family: inherit;
  transition: border-color 0.15s;
}

.ct-input::placeholder { color: #a0aec0; }
.ct-input:focus { border-color: #2c7be5; box-shadow: 0 0 0 3px rgba(44, 123, 229, 0.12); outline: none; }

.ct-textarea {
  flex: 1;
  width: 100%;
  min-height: 220px;
  border: 1px solid rgba(10, 25, 70, 0.15);
  border-radius: 0.4rem;
  outline: none;
  resize: none;
  background: transparent;
  padding: 0.65rem 0.75rem;
  font-size: 0.9rem;
  color: #0f2456;
  font-family: inherit;
  transition: border-color 0.15s;
}

.ct-textarea::placeholder { color: #a0aec0; }
.ct-textarea:focus { border-color: #2c7be5; box-shadow: 0 0 0 3px rgba(44, 123, 229, 0.12); outline: none; }

/* Responsive */
@media (max-width: 767.98px) {
  .ct-wrapper { margin: 1rem auto; padding: 0 0.75rem 3rem; }

  .ct-textarea {
    min-height: 180px;
  }
}

