.contact-hero { display: grid; gap: var(--space-6); align-items: center; }
.contact-hero-text { max-width: 640px; }
.contact-hero-cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.contact-hero-card { max-width: 420px; margin-left: auto; }
.contact-hero-card-title { font-size: var(--font-size-xl); margin-top: var(--space-4); margin-bottom: var(--space-3); }

.contact-layout-grid { align-items: flex-start; }
.contact-form-wrapper { margin-bottom: var(--space-6); }
.contact-form { display: flex; flex-direction: column; gap: var(--space-4); }
.form-field { display: flex; flex-direction: column; }
.form-consent { border-top: 1px solid var(--color-border-subtle); padding-top: var(--space-4); }
.form-consent-row { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--font-size-sm); }
.input-checkbox { margin-top: 0.2rem; width: 1rem; height: 1rem; border-radius: var(--radius-sm); border: 1px solid rgba(255, 255, 255, 0.4); background: rgba(12, 14, 20, 0.96); appearance: none; display: inline-block; position: relative; }
.input-checkbox:checked::after { content: ""; position: absolute; inset: 2px; border-radius: 2px; background: var(--color-primary); }
.form-actions { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-2); }
.form-status { margin-top: var(--space-3); font-size: var(--font-size-sm); }

.contact-sidebar { display: flex; flex-direction: column; gap: var(--space-4); }
.contact-card { height: 100%; }
.contact-details, .opening-hours, .location-details { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
.contact-details dt, .opening-hours dt, .location-details dt { font-size: var(--font-size-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 0.1rem; }
.contact-details dd, .opening-hours dd, .location-details dd { margin: 0; }
.contact-socials { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }

.contact-secondary { padding-top: 0; }
.contact-secondary-grid { align-items: stretch; }
.contact-inline-cta { display: flex; flex-wrap: wrap; gap: var(--space-3); }

.contact-privacy { padding-top: 0; }
.contact-privacy-grid { align-items: center; gap: var(--space-6); }
.contact-privacy-cta { display: flex; flex-direction: column; justify-content: center; gap: var(--space-4); }

.contact-style-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-6); margin-top: var(--space-8); }
.contact-style-content { flex: 1 1 320px; max-width: 640px; }
.contact-style-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: flex-start; }

@media (max-width: 991px) {
  .contact-hero { grid-template-columns: minmax(0, 1fr); }
  .contact-hero-card { max-width: 100%; margin-left: 0; }
}

@media (max-width: 767px) {
  .contact-layout-grid { grid-template-columns: minmax(0, 1fr); }
  .contact-sidebar { order: -1; margin-bottom: var(--space-4); }
  .contact-style-card { flex-direction: column; align-items: flex-start; }
  .form-consent-row { align-items: center; }
}
