/* Naazco Contact Section — DM Sans */
.naazco-contact, .naazco-contact * { box-sizing:border-box; }
.naazco-contact {
  --nc-text:#F5EEE4; --nc-accent:#C18A62; --nc-field-bg:rgba(31,25,20,.78);
  --nc-field-border:rgba(245,238,228,.22); --nc-button-bg:#F0D4A4; --nc-button-text:#211A15;
  --nc-button-hover-bg:#A96C4A; --nc-button-hover-text:#fff;
  position:relative; isolation:isolate; width:100%; max-width:100%;
  padding:42px 36px; color:var(--nc-text); background-color:#17120e;
  background-size:cover; background-repeat:no-repeat; background-position:center center;
  font-family:"DM Sans",sans-serif; overflow:hidden;
}
.naazco-contact::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(18,13,9,.42); pointer-events:none; }
.naazco-contact__inner {
  position:relative; width:100%; max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; column-gap:64px; row-gap:32px;
}
.naazco-contact__content, .naazco-contact__form { min-width:0; }
.naazco-contact__eyebrow { margin:0 0 14px; color:var(--nc-accent); font:600 11px/1.4 "DM Sans",sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.naazco-contact__heading { margin:0 0 16px; color:var(--nc-text); font:400 clamp(36px,4vw,58px)/1.05 "DM Sans",sans-serif; letter-spacing:-.035em; }
.naazco-contact__description { max-width:500px; margin:0 0 26px; color:var(--nc-text); font:400 16px/1.5 "DM Sans",sans-serif; }
.naazco-contact__info { display:flex; flex-direction:column; gap:14px; margin:0 0 22px; }
.naazco-contact__info-row { display:flex; align-items:center; gap:16px; min-width:0; color:var(--nc-text); font:400 14px/1.45 "DM Sans",sans-serif; text-decoration:none!important; }
.naazco-contact__info-row svg { width:24px; height:24px; flex:0 0 24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.naazco-contact__socials { display:flex; align-items:center; gap:14px; }
.naazco-contact__social { width:28px; height:28px; display:grid; place-items:center; color:var(--nc-text); transition:color .2s ease; }
.naazco-contact__social:hover { color:var(--nc-accent); }
.naazco-contact__social svg { display:block; width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Contact Form 7 styling scoped to the Naazco widget */
.naazco-contact .wpcf7, .naazco-contact .wpcf7 form { width:100%; margin:0; font-family:"DM Sans",sans-serif; }
.naazco-contact .wpcf7 form p { margin:0 0 8px; padding:0; }
.naazco-contact .wpcf7 form p:has(.nc-name), .naazco-contact .wpcf7 form p:has(.nc-email) { display:inline-block; width:calc(50% - 5px); vertical-align:top; }
.naazco-contact .wpcf7 form p:has(.nc-name) { margin-right:6px; }
.naazco-contact .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.naazco-contact .wpcf7 select,
.naazco-contact .wpcf7 textarea {
  display:block; width:100%; max-width:100%; min-width:0; margin:0; padding:14px 16px;
  border:1px solid var(--nc-field-border); border-radius:12px; outline:none;
  background:var(--nc-field-bg); color:var(--nc-text); font:400 13px/1.4 "DM Sans",sans-serif;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.025); transition:border-color .2s ease,background-color .2s ease;
}
.naazco-contact .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.naazco-contact .wpcf7 select { height:50px; }
.naazco-contact .wpcf7 textarea { height:108px; min-height:108px; resize:vertical; }
.naazco-contact .wpcf7 input::placeholder, .naazco-contact .wpcf7 textarea::placeholder { color:rgba(245,238,228,.62); opacity:1; }
.naazco-contact .wpcf7 select { color:rgba(245,238,228,.82); }
.naazco-contact .wpcf7 select option { background:#211a15; color:#f5eee4; }
.naazco-contact .wpcf7 input:focus, .naazco-contact .wpcf7 select:focus, .naazco-contact .wpcf7 textarea:focus { border-color:var(--nc-accent); background:rgba(31,25,20,.9); }
.naazco-contact .wpcf7 input[type=submit],
.naazco-contact .wpcf7 .wpcf7-submit {
  display:inline-flex; align-items:center; justify-content:center; min-width:235px; min-height:52px;
  margin:4px 0 0; padding:14px 48px 14px 28px; border:1px solid rgba(255,255,255,.18);
  border-radius:999px; background:var(--nc-button-bg); color:var(--nc-button-text);
  font:600 14px/1.2 "DM Sans",sans-serif; text-align:center; cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.naazco-contact .wpcf7 input[type=submit]:hover, .naazco-contact .wpcf7 .wpcf7-submit:hover {
  background:var(--nc-button-hover-bg); color:var(--nc-button-hover-text); border-color:var(--nc-button-hover-bg);
}
.naazco-contact .wpcf7-spinner { vertical-align:middle; }
.naazco-contact .wpcf7-not-valid-tip { color:#ffd0bd; font:400 12px/1.4 "DM Sans",sans-serif; margin-top:5px; }
.naazco-contact .wpcf7 form .wpcf7-response-output { margin:12px 0 0; padding:10px 12px; border-radius:8px; color:var(--nc-text); border-color:var(--nc-accent); font:400 12px/1.5 "DM Sans",sans-serif; }
.naazco-contact .wpcf7 form.submitting .wpcf7-submit { opacity:.7; cursor:wait; }
@media (max-width:767px) {
  .naazco-contact { padding:36px 20px; }
  .naazco-contact__inner { grid-template-columns:minmax(0,1fr); row-gap:28px; }
  .naazco-contact__heading { font-size:clamp(34px,9vw,46px); }
  .naazco-contact__description { font-size:15px; }
  .naazco-contact .wpcf7 form p:has(.nc-name), .naazco-contact .wpcf7 form p:has(.nc-email) { display:block; width:100%; margin-right:0; }
  .naazco-contact .wpcf7 input[type=submit], .naazco-contact .wpcf7 .wpcf7-submit { width:auto; min-width:210px; }
}
@media (prefers-reduced-motion:reduce) { .naazco-contact *, .naazco-contact *::before, .naazco-contact *::after { transition:none!important; } }


/* v1.0.1: make the section background image full-bleed, while the content stays in its editable inner container. */
.naazco-contact.naazco-contact--full-bleed {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}
.naazco-contact.naazco-contact--full-bleed .naazco-contact__inner {
  width: 100% !important;
  max-width: 1300px;
}
.naazco-contact.naazco-contact--full-bleed::before {
  inset: 0 !important;
}
@media (max-width: 767px) {
  .naazco-contact.naazco-contact--full-bleed {
    width: 100vw !important;
    max-width: 100vw !important;
  }
  .naazco-contact.naazco-contact--full-bleed .naazco-contact__inner {
    width: 100% !important;
  }
}


/* v1.0.2 form layout repair: keep Name + Email on one row and all remaining controls full width. */
.naazco-contact .wpcf7 form {
  display: block !important;
}
.naazco-contact .wpcf7 form .naazco-cf7-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}
.naazco-contact .wpcf7 form .naazco-cf7-row > p {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.naazco-contact .wpcf7 form .naazco-cf7-row .wpcf7-form-control-wrap,
.naazco-contact .wpcf7 form .naazco-cf7-row .nc-name,
.naazco-contact .wpcf7 form .naazco-cf7-row .nc-email {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
.naazco-contact .wpcf7 form .naazco-cf7-row input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.naazco-contact .wpcf7 form > p {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}
.naazco-contact .wpcf7 form > p:has(select),
.naazco-contact .wpcf7 form > p:has(textarea),
.naazco-contact .wpcf7 form > p:has(input[type="submit"]) {
  display: block !important;
  width: 100% !important;
}
.naazco-contact .wpcf7 form > p:has(select) select,
.naazco-contact .wpcf7 form > p:has(textarea) textarea {
  width: 100% !important;
  max-width: 100% !important;
}
.naazco-contact .wpcf7 input[type="submit"],
.naazco-contact .wpcf7 .wpcf7-submit {
  width: auto !important;
  min-width: 235px !important;
  padding-right: 52px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23211A15' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 22px center !important;
  background-size: 18px 18px !important;
}
@media (max-width: 767px) {
  .naazco-contact .wpcf7 form .naazco-cf7-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .naazco-contact .wpcf7 input[type="submit"],
  .naazco-contact .wpcf7 .wpcf7-submit {
    min-width: 210px !important;
  }
}


/* v1.0.3 configurable hover color for contact links and selectable Elementor social icons */
.naazco-contact {
  --nc-contact-hover:#A96C4A;
}
.naazco-contact .naazco-contact__info-row[href] {
  transition:color .2s ease;
}
.naazco-contact .naazco-contact__info-row[href]:hover {
  color:var(--nc-contact-hover) !important;
}
.naazco-contact .naazco-contact__social {
  transition:color .2s ease;
}
.naazco-contact .naazco-contact__social:hover,
.naazco-contact .naazco-contact__social:focus-visible {
  color:var(--nc-contact-hover) !important;
}
.naazco-contact .naazco-contact__social i,
.naazco-contact .naazco-contact__social svg {
  display:block;
  width:25px;
  height:25px;
  font-size:25px;
  line-height:1;
  fill:currentColor;
}
.naazco-contact .naazco-contact__social svg {
  stroke:currentColor;
}
