/* ==========================================================================
   Pagina Contact
   ========================================================================== */
.contact-sep { padding-top: var(--spacing-sm); padding-bottom: var(--spacing-sm); }
.contact-sep hr { margin: var(--spacing-xxs) 0; }

/* Coloane tip banner: două coloane alăturate, stivuite pe ecrane mici */
.contact-cols { display: grid; align-items: start; }
.contact-cols--intro { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-lg); }
.contact-cols--info { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: var(--spacing-md); }

@media (max-width: 1439px) {
  .contact-cols--info { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1023px) {
  .contact-cols--intro { grid-template-columns: minmax(0, 1fr); }
}

.contact-col { display: flex; flex-direction: column; align-items: flex-start; }
.contact-col > * { width: 100%; }
.contact-col--grey { background: var(--color-grey-2); padding: var(--spacing-md); }
.contact-col--grey-sm { background: var(--color-grey-2); padding: var(--spacing-sm); }
.contact-col--pad-sm { padding: var(--spacing-sm); }

.contact-title .accent { color: var(--color-red-1); }
.contact-media { aspect-ratio: 1 / 1; }

/* Blocuri de informații */
.contact-block > * + * { margin-top: var(--spacing-xxs); }
.contact-block .btn-tertiary { align-items: center; }
.contact-block + .contact-block { margin-top: var(--spacing-md); }

.contact-block.border-left { border-left-color: var(--color-black); }

/* Formular: un câmp pe rând, fundal gri ca al coloanei */
.contact-form { width: 100%; }
.contact-form .field + .field { margin-top: var(--spacing-xxs); }
.contact-form .input,
.contact-form .select,
.contact-form .textarea {
  background-color: var(--color-grey-2);
  color: var(--color-grey-5);
}
.contact-form .select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23666' stroke-width='1.3'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}
.contact-form .select:invalid { color: var(--color-grey-4); }
.contact-form .checkbox { margin-top: var(--spacing-xxs); }
.contact-form .checkbox a { text-decoration: underline; text-underline-offset: 2px; }
.contact-form .checkbox a:hover { color: var(--color-red-1); }
.contact-form .btn { margin-top: var(--spacing-xxs); }
.contact-form__note { margin-top: var(--spacing-xxs); font-weight: 700; }

@media (max-width: 767px) {
  .contact-col--grey { padding: var(--spacing-sm) var(--spacing-xxs); }
  .contact-col--grey-sm,
  .contact-col--pad-sm { padding: var(--spacing-sm) var(--spacing-xxs); }
}

/* Datele firmei, imediat sub formular */
.contact-cols--intro { align-items: stretch; }
.contact-side { display: flex; flex-direction: column; gap: var(--spacing-sm); }
.contact-block--sediu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-sm); }
.contact-block--sediu > * + * { margin-top: 0; }
.contact-block--sediu > div > * + * { margin-top: var(--spacing-xxs); }
@media (max-width: 767px) { .contact-block--sediu { grid-template-columns: minmax(0, 1fr); } }

/* Imaginea din stânga se întinde până la baza datelor firmei */
@media (min-width: 1024px) {
  .contact-media { aspect-ratio: auto; flex: 1 1 0; min-height: 320px; }
}
/* Datele firmei pe o coloană până la 1280px, ca adresa de e-mail să nu depășească lățimea coloanei */
@media (max-width: 1279px) { .contact-block--sediu { grid-template-columns: minmax(0, 1fr); } }
