
/* Contacts page */
.dm-page--contacts{ padding: 28px 0 40px; }
.dm-contacts-hero{ max-width:1200px; margin:0 auto 14px; padding:0 18px; }
.dm-contacts-hero__title{ font-size:44px; line-height:1.05; margin:0; }

.dm-contacts-grid{ max-width:1200px; margin:0 auto; padding:0 18px; display:grid; grid-template-columns: 1.35fr .85fr; gap:18px; align-items:start; }
.dm-contacts-col{ display:flex; flex-direction:column; gap:18px; }
.dm-contacts-card{ padding:18px; border-radius: 22px; }
.dm-contacts-card{ position:relative; overflow:hidden; }
.dm-card-title{ margin:0 0 6px; font-size:20px; }
.dm-card-sub{ margin:0 0 14px; color: rgba(242,245,255,.78); }

.dm-glass-tile{
  background:
    radial-gradient(700px 280px at 18% 12%, rgba(215,180,106,.14) 0%, rgba(0,0,0,0) 55%),
    rgba(255,255,255,.03);
  box-shadow: var(--shadow2);
  border: var(--border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.dm-contact-list{ display:flex; flex-direction:column; gap:10px; }
.dm-contact-item{
  display:flex; gap:12px; align-items:center;
  padding:14px 14px;
  border-radius:16px;
  text-decoration:none;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(242,245,255,.95);
}
.dm-contact-item:hover{ border-color: rgba(120,90,255,.45); box-shadow: 0 0 0 3px rgba(120,90,255,.16); }
.dm-contact-item__ico{ width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:12px; background: rgba(255,255,255,.10); }
.dm-contact-item__ttl{ display:block; font-weight:900; }
.dm-contact-item__txt{ display:block; font-size:13px; color: rgba(242,245,255,.78); margin-top:2px; }

.dm-contact-form{ margin-top: 6px; }
.dm-form-row{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.dm-form-field{ display:block; margin-bottom:12px; }
.dm-form-label{ display:block; font-size:12px; color: rgba(242,245,255,.75); margin:0 0 6px; font-weight:800; }
.dm-input, .dm-textarea{
  width:100%; border-radius:14px; border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  padding:12px 14px; color: rgba(242,245,255,.95);
  outline:none;
}
.dm-textarea{ resize: vertical; min-height: 120px; }
.dm-input:focus, .dm-textarea:focus{ border-color: rgba(120,90,255,.65); box-shadow: 0 0 0 3px rgba(120,90,255,.22); }
.dm-input::placeholder, .dm-textarea::placeholder{ color: rgba(242,245,255,.55); }

.dm-consent{ display:flex; gap:10px; align-items:flex-start; font-size:12px; color: rgba(242,245,255,.75); margin: 4px 0 14px; }
.dm-consent input{ margin-top: 2px; }

.dm-form-actions{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.dm-btn{ display:inline-flex; align-items:center; justify-content:center; border-radius: 12px; padding: 12px 18px; font-weight: 900; text-decoration:none; border: 1px solid rgba(255,255,255,.18); }
.dm-btn--primary{ background: rgba(120, 90, 255, .9); color:#fff; }
.dm-btn--ghost{ background: rgba(255,255,255,.92); color:#0c1b3a; }

.dm-hours{ margin-top: 10px; border-radius: 16px; overflow:hidden; border: 1px solid rgba(255,255,255,.14); }
.dm-hours-row{ display:flex; justify-content:space-between; gap:12px; padding: 12px 14px; background: rgba(255,255,255,.05); }
.dm-hours-row + .dm-hours-row{ border-top: 1px solid rgba(255,255,255,.10); }
.dm-hours-day{ font-weight: 900; }
.dm-hours-time{ color: rgba(242,245,255,.92); font-weight: 800; }
.dm-card-foot{ margin: 10px 0 0; font-size: 12px; color: rgba(242,245,255,.72); }

@media (max-width: 980px){
  .dm-contacts-grid{ grid-template-columns: 1fr; }
  .dm-contacts-col{ gap:14px; }
  .dm-form-row{ grid-template-columns: 1fr; }
}
@media (max-width: 520px){
  .dm-contacts-hero__title{ font-size: 34px; }
}


/* FIX: prevent form fields overflowing / overlapping */
.dm-page--contacts .dm-contacts-card,
.dm-page--contacts .dm-contacts-card *{
  box-sizing: border-box;
}

.dm-page--contacts .dm-contact-form{
  max-width: 100%;
}

.dm-page--contacts .dm-form-row{
  max-width: 100%;
  overflow: hidden;
}

.dm-page--contacts .dm-input,
.dm-page--contacts .dm-textarea{
  display:block;
  max-width: 100%;
}

/* Ensure cards don't visually overlap */
.dm-page--contacts .dm-contacts-col{ gap: 22px; }

