/* ===== NovaLuxe font bindings (force Inter + DM Serif) ===== */
:root{
  --nlx-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
              Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji",
              "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
  --nlx-serif: "DM Serif Display", ui-serif, Georgia, "Times New Roman", Times, serif;

  --nlx-gold1: #c8a45b;
  --nlx-gold2: #e6cd8c;
  --nlx-gold3: #ffffff;
}

/* Default body font = Inter */
html, body { font-family: var(--nlx-sans); }

/* Respect Tailwind utility classes sitewide */
.font-sans  { font-family: var(--nlx-sans) !important; }
.font-serif { font-family: var(--nlx-serif) !important; }

/* Make sure headings use DM Serif when you use font-serif in markup */
h1.font-serif, h2.font-serif, h3.font-serif,
h4.font-serif, h5.font-serif, h6.font-serif { font-weight: 700; }

/* Prevent 3rd-party CSS from overriding (Swiper, FA, etc.) */
[id^="contact-hero"], #contact-direct, #contact-form, footer { font-family: inherit; }

/* ===== Contact Hero ===== */
#contact-hero {
  --gold: #c8a45b;
  --gold2: #e6cd8c;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#contact-hero .absolute.inset-0 {
  background: linear-gradient(to top right, rgba(0,0,0,.7), rgba(0,0,0,.4), rgba(0,0,0,.1));
}
#contact-hero-text {
  opacity: 0;
  transform: translateY(16px);
  will-change: opacity, transform;
}

/* ===== Direct Section ===== */
#contact-direct { --gold:#c8a45b; --gold2:#e6cd8c; }
#direct-card {
  background: rgba(0,0,0,0.95);
  backdrop-filter: blur(6px);
  border: 1.5px solid var(--gold);
  box-shadow: 0 8px 28px rgba(0,0,0,0.55);
  position: relative;
}
#direct-card::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  box-shadow: 0 0 12px 2px rgba(200,164,91,0.16);
}

/* Mobile layout */
@media (max-width: 767.98px) {
  #direct-img, #direct-overlay { display:none !important; }
  #direct-content { position:static !important; inset:auto !important; display:block; }
  #direct-pad { padding:1.25rem; }
  #direct-card { max-width:100%; margin:0; }
  #copy-email-inline, #copy-phone-inline {
    display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:9999px;
  }
  #copy-email-inline:hover, #copy-phone-inline:hover { background:rgba(255,255,255,.1); }
  #copy-email-inline:active, #copy-phone-inline:active { background:rgba(255,255,255,.15); }
}

/* Desktop/tablet */
@media (min-width: 768px) {
  .phone-link { pointer-events:none; cursor:default; text-decoration:none !important; }
}

/* ===== Contact Form ===== */
.nlx-goldframe-outer{
  padding:3.5px;
  border-radius:24px;
  background:linear-gradient(180deg,var(--nlx-gold1),var(--nlx-gold2),var(--nlx-gold3));
  overflow:visible;
}
.nlx-form-card { background:#000; border-radius:20px; padding:1.5rem; }

/* Inner gold borders */
.nlx-goldframe{
  padding:2.5px; border-radius:12px;
  background:linear-gradient(180deg,var(--nlx-gold1),var(--nlx-gold2),var(--nlx-gold3));
  transition:filter .2s;
  position: relative;
}
.nlx-goldframe-on{ filter:saturate(1.2); }

/* White input surface */
.nlx-field{
  width:100%;
  border-radius:10px;
  border:none;
  outline:none;
  background:#fff !important;
  color:#111 !important;
  line-height:1.4;
  padding:.75rem 1rem;
}

/* Textarea */
textarea.nlx-field{ min-height:170px; resize:vertical; }

/* Autofill fix */
input:-webkit-autofill,
select:-webkit-autofill,
textarea:-webkit-autofill{
  -webkit-text-fill-color:#111 !important;
  box-shadow:0 0 0 1000px #fff inset !important;
  transition:background-color 9999s ease-in-out 0s !important;
}

/* =========================================================
   CUSTOM DROPDOWNS (nlx-select nlx-custom)
   - Native select kept for form value (hidden)
   - Visible trigger + menu are fully stylable
   - Black divider under closed field and open menu
   ========================================================= */

/* Stop any old underline hacks */
.nlx-select::after { content: none !important; }

/* Wrapper */
.nlx-select { position: relative; border-radius:12px; overflow:visible; }

/* Hide the native select but keep it in flow and accessible */
.nlx-custom > select.nlx-field{
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0; pointer-events:none;
}

/* Visible trigger that mirrors current value */
.nlx-custom .nlx-trigger{
  display:flex; align-items:center; justify-content:space-between;
  width:100%; height:48px; line-height:48px;
  background:#fff; color:#111; border-radius:10px;
  padding:0 2.25rem 0 1rem; position:relative; z-index:2;
}

/* Dropdown menu (white box) */
.nlx-custom .nlx-menu{
  position:absolute; left:2.5px; right:2.5px; top:calc(100% + 6px);
  background:#fff; color:#111; border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  max-height:280px; overflow:auto; display:none; outline:none;
}


/* Options */
.nlx-custom .nlx-option{ padding:.65rem 1rem; cursor:pointer; }
.nlx-custom .nlx-option:hover,
.nlx-custom .nlx-option[aria-selected="true"]{ background:#f3f3f3; }

/* Open state */
.nlx-custom[data-open="true"] .nlx-menu{ display:block; z-index:50; }

/* Keep your gold glow when focused */
.nlx-custom:focus-within{
  box-shadow:0 0 0 1px rgba(200,164,91,.28),
             0 0 0 2px rgba(230,205,140,.20) inset;
}

/* Caret stays on the right; ensure above trigger text */
.nlx-caret{ z-index:3; }

/* Mobile tap target */
@media (max-width:640px){
  .nlx-custom .nlx-trigger{ height:52px; line-height:52px; }
}

/* Force mobile layout + centered content on iPad Mini + iPad Air */
@media (min-width: 768px) and (max-width: 1023px) {

  /* Force single column layout */
  #contact-cta .md\:grid-cols-\[1\.2fr_auto\] {
    grid-template-columns: 1fr !important;
  }

  /* Center text */
  #contact-cta .md\:text-left {
    text-align: center !important;
  }

  /* Center paragraph container */
  #contact-cta .md\:mx-0 {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Center the button container */
  #contact-cta .md\:items-end {
    align-items: center !important;
  }
}


/* iPhone small screens: stop email clipping */
@media (max-width: 420px){
  #direct-card a{
    display:inline-block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
.nlx-wordgrad{
  background:linear-gradient(180deg,var(--gold) 0%,var(--gold2) 55%,#fff 85%,#fff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:inline-block;
}
/* Tiny screens: hide left icons so text fits clean */
@media (max-width: 420px){
  /* hide the icon containers in each row */
  #direct-card li > div:first-child{
    display:none !important;
  }

  /* tighten spacing since icon is gone */
  #direct-card li{
    gap:0 !important;
  }
}
