/* ── Contact Info Cards ── */
    .contact-info-card {
      background: #fff;
      border: 1px solid var(--stone-200);
      border-radius: 4px;
      padding: 36px 32px;
      display: flex;
      align-items: flex-start;
      gap: 20px;
      transition: all 0.3s;
    }
    .contact-info-card:hover {
      border-color: var(--gold);
      box-shadow: 0 12px 40px rgba(0,0,0,0.08);
      transform: translateY(-4px);
    }
    .contact-icon-wrap {
      width: 52px; height: 52px; flex-shrink: 0;
      background: var(--stone-100);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      transition: background 0.3s;
    }
    .contact-info-card:hover .contact-icon-wrap {
      background: var(--gold);
    }
    .contact-icon-wrap svg {
      width: 20px; height: 20px;
      stroke: var(--gold); fill: none; stroke-width: 1.8;
      transition: stroke 0.3s;
    }
    .contact-info-card:hover .contact-icon-wrap svg {
      stroke: #fff;
    }
    .contact-info-label {
      font-size: 0.65rem; font-weight: 600;
      letter-spacing: 2px; text-transform: uppercase;
      color: var(--stone-400); margin-bottom: 6px;
    }
    .contact-info-value {
      font-size: 1rem; font-weight: 500;
      color: var(--ink); line-height: 1.5;
    }
    .contact-info-value a { color: var(--ink); transition: color 0.3s; }
    .contact-info-value a:hover { color: var(--gold); }

    /* ── Form panel ── */
    .form-panel {
      background: #fff;
      border-radius: 4px;
      padding: 52px 48px;
      box-shadow: 0 24px 80px rgba(0,0,0,0.1);
    }
    .form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }

    /* ── Map embed ── */
    .map-embed {
      width: 100%; height: 400px;
      border-radius: 4px; overflow: hidden;
      border: 1px solid var(--stone-200);
      position: relative;
    }
    .map-embed iframe { width: 100%; height: 100%; border: none; display: block; }

    /* ── Working hours table ── */
    .hours-row {
      display: flex; justify-content: space-between;
      padding: 10px 0;
      border-bottom: 1px solid var(--stone-200);
      font-size: 0.88rem;
    }
    .hours-row:last-child { border-bottom: none; }
    .hours-row .day { color: var(--stone-600); }
    .hours-row .time { font-weight: 500; color: var(--ink); }
    .hours-row .time.open { color: #237a2c; }

    @media (max-width: 575px) {
      .form-panel { padding: 32px 24px; }
      .form-2col { grid-template-columns: 1fr; }
    }

.faq-item { border-bottom: 1px solid var(--stone-200); }
  .faq-q {
    width: 100%; background: none; border: none; cursor: pointer;
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    padding: 22px 0; text-align: left;
    font-family: 'DM Sans', sans-serif; font-size: 1rem; font-weight: 600;
    color: var(--ink); transition: color 0.3s;
  }
  .faq-q:hover { color: var(--gold); }
  .faq-icon { font-size: 1.4rem; font-weight: 300; flex-shrink: 0; color: var(--gold); transition: transform 0.3s; }
  .faq-q.open .faq-icon { transform: rotate(45deg); }
  .faq-a {
    display: none; padding: 0 0 22px;
    color: var(--stone-600); font-size: .92rem; line-height: 1.8;
  }
  .faq-a.open { display: block; }
