.contact-hero-section {
    background: url('images/fondthisa.png') center center / cover no-repeat;
    min-height: 38vh; display:flex; align-items:center;
    justify-content:center; text-align:center;
    position:relative; overflow:hidden; padding:70px 40px 50px;
  }
a {
  text-decoration: none;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}
.contact-hero-overlay {
    position:absolute; inset:0; background:rgba(255,255,255,0.38);
  }

.contact-hero-content { position:relative; z-index:2; }

.contact-main-section {
    background: url('images/fondthisa.png') center center / cover no-repeat;
    padding:80px 48px; position:relative;
  }

.contact-main-overlay {
    position:absolute; inset:0; background:rgba(250,248,244,0.72);
  }

.contact-main-inner {
    max-width:1100px; margin:0 auto; position:relative; z-index:1;
    display:grid; grid-template-columns:1fr 1.6fr; gap:60px; align-items:start;
  }

.contact-info-col { padding-top:10px; }

.contact-info-list { display:flex; flex-direction:column; gap:12px; }

.contact-info-item {
    display:flex; align-items:center; gap:14px;
    background:rgba(255,255,255,0.75); border-radius:12px; padding:12px 16px;
    backdrop-filter:blur(4px); border:1px solid rgba(143,173,163,0.15);
    transition:transform 0.3s;
  }

.contact-info-item:hover { transform:translateX(4px); }

.contact-info-icon {
    width:36px; height:36px; border-radius:50%;
    background:var(--sage-bg); border:1.5px solid var(--sage-light);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }

.contact-info-item span {
    font-family:var(--font-serif); font-size:0.95rem; color:var(--dark);
  }

.contact-form-col {
    background:rgba(255,255,255,0.9); backdrop-filter:blur(10px);
    border-radius:22px; padding:44px;
    box-shadow:0 8px 50px rgba(107,143,134,0.15);
    border:1px solid rgba(201,168,76,0.12);
  }

.contact-form-title {
    font-family:var(--font-cursive); font-size:2.4rem; color:var(--sage);
    text-align:center; margin-bottom:32px;
  }

.cform { display:flex; flex-direction:column; gap:20px; }

.cform-group { display:flex; flex-direction:column; gap:6px; }

.cform-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.cform-label {
    font-family:var(--font-sans); font-size:0.75rem; font-weight:600;
    letter-spacing:0.06em; color:var(--dark); text-transform:none;
  }

.cform-input {
    padding:12px 16px; border:1.5px solid rgba(143,173,163,0.4);
    border-radius:10px; font-family:var(--font-serif); font-size:0.98rem;
    color:var(--dark); background:white; transition:border-color 0.3s, box-shadow 0.3s;
    outline:none; width:100%;
  }

.cform-input:focus {
    border-color:var(--sage); box-shadow:0 0 0 3px rgba(143,173,163,0.12);
  }

.cform-textarea { height:110px; resize:vertical; }

.cform-hint {
    font-family:var(--font-sans); font-size:0.68rem; color:var(--gray);
    margin-top:3px;
  }

.cform-checkboxes { display:flex; flex-direction:column; gap:8px; padding:4px 0; }

.cform-check {
    display:flex; align-items:center; gap:10px; cursor:pointer;
    font-family:var(--font-sans); font-size:0.85rem; color:var(--dark);
    padding:8px 12px; border-radius:8px; transition:background 0.2s;
  }

.cform-check:hover { background:var(--sage-bg); }

.cform-check input[type="checkbox"] {
    width:16px; height:16px; accent-color:var(--sage-dark);
    cursor:pointer; flex-shrink:0;
  }

.cform-check span { font-weight:500; }

@media (max-width:768px) {
    .contact-main-inner { grid-template-columns:1fr; gap:40px; }
    .cform-row { grid-template-columns:1fr; }
    .contact-form-col { padding:28px 20px; }
  }

/* ===== CONTACT BANNER ===== */
.contact-banner {
  background: url('images/bg-floral.jpg') center center / cover no-repeat;
  min-height: 42vh;
  display: flex; align-items: center; justify-content: center;
  text-align: center; position: relative; overflow: hidden; padding: 80px 40px 60px;
}
.contact-banner-overlay {
  position: absolute; inset: 0; background: rgba(255,255,255,0.25);
}
.contact-banner-content { position: relative; z-index: 2; }
