/*
 * nhy-contact.css — Contact Us Page Styles
 * Depends on nhy.css (global vars, fonts)
 */

/* === Contact Info Block === */
.nhy-ct-info {
  font-family: 'Inter', 'Noto Sans SC', sans-serif;
}
.nhy-ct-info .nhy-sec-tag {
  font-family: 'Inter', sans-serif;
  font-size: 11px; letter-spacing: 4px; text-transform: uppercase;
  color: var(--nhy-gold, #C9A84C); margin-bottom: 12px; font-weight: 500;
}
.nhy-ct-info h2 {
  font-family: 'Montserrat', sans-serif; font-size: 32px; font-weight: 800;
  color: var(--nhy-black, #0A0A0A); line-height: 1.35; margin-bottom: 16px;
}
.nhy-ct-info > p {
  font-family: 'Inter', sans-serif;
  font-size: 14px; color: var(--nhy-gray, #666); line-height: 1.8; margin-bottom: 40px;
}

/* Contact cards */
.nhy-ct-cards { display: flex; flex-direction: column; margin-bottom: 40px; }
.nhy-ct-card {
  display: grid; grid-template-columns: 48px 1fr; gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--nhy-gray-border, #E0E0E0);
  transition: all .3s;
}
.nhy-ct-card:first-child { padding-top: 0; }
.nhy-ct-card:last-child { border-bottom: none; }
.nhy-ct-card:hover .nhy-ct-icon {
  background: var(--nhy-gold-dim, rgba(201,168,76,0.15));
  border-color: rgba(201,168,76,.25);
}
.nhy-ct-card:hover .nhy-ct-icon svg { stroke: var(--nhy-gold, #C9A84C); }

.nhy-ct-icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--nhy-gray-bg, #F5F5F3);
  border: 1px solid var(--nhy-gray-border, #E0E0E0);
  display: flex; align-items: center; justify-content: center;
  transition: all .35s;
}
.nhy-ct-icon svg {
  width: 20px; height: 20px; stroke: var(--nhy-gray, #666); fill: none;
  stroke-width: 1.5; transition: all .35s;
}
.nhy-ct-card-text strong {
  display: block; font-family: 'Montserrat', sans-serif;
  font-size: 13px; font-weight: 700; color: var(--nhy-black, #0A0A0A); margin-bottom: 2px;
}
.nhy-ct-card-text span,
.nhy-ct-card-text a {
  font-family: 'Inter', sans-serif;
  font-size: 13px; color: var(--nhy-gray, #666); text-decoration: none; line-height: 1.6;
}
.nhy-ct-card-text a:hover { color: var(--nhy-gold, #C9A84C); }

/* WeChat QR section */
.nhy-ct-wechat {
  border-top: 1px solid var(--nhy-gray-border, #E0E0E0);
  padding-top: 32px;
}
.nhy-ct-wechat-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
  color: var(--nhy-gold, #C9A84C); font-weight: 600; margin-bottom: 16px;
}
.nhy-ct-wechat-body {
  display: flex; align-items: flex-start; gap: 20px;
}
.nhy-ct-qr {
  width: 140px; height: 140px; flex-shrink: 0;
  background: var(--nhy-white, #fff);
  border: 1px solid var(--nhy-gray-border, #E0E0E0);
  padding: 8px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.nhy-ct-qr img {
  width: 100%; height: 100%; object-fit: contain; display: block;
}
.nhy-ct-wechat-text h4 {
  font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700;
  color: var(--nhy-black, #0A0A0A); margin-bottom: 6px;
  display: flex; align-items: center; gap: 6px;
}
.nhy-ct-wechat-text h4 svg {
  width: 16px; height: 16px; flex-shrink: 0;
}
.nhy-ct-wechat-text p {
  font-family: 'Inter', sans-serif;
  font-size: 12px; color: var(--nhy-gray-light, #999); line-height: 1.6;
}
.nhy-ct-wechat-id {
  margin-top: 8px;
  font-family: 'Space Mono', monospace;
  font-size: 12px; color: var(--nhy-gray, #666); letter-spacing: .5px;
}

/* === 2560 === */
@media (min-width:1800px) {
  .nhy-ct-info h2 { font-size: 36px; }
  .nhy-ct-info > p { font-size: 15px; }
  .nhy-ct-info .nhy-sec-tag { font-size: 12px; letter-spacing: 5px; }
  .nhy-ct-qr { width: 160px; height: 160px; }
}

/* === Tablet === */
@media (max-width:1080px) {
  .nhy-ct-info h2 { font-size: 28px; }
}

/* === Mobile === */
@media (max-width:640px) {
  .nhy-ct-info h2 { font-size: 24px; }
  .nhy-ct-info > p { font-size: 13px; }
  .nhy-ct-wechat-body { flex-direction: column; }
  .nhy-ct-qr { width: 120px; height: 120px; }
}

/* =========================================================
   Contact Us Hero
   Standalone hero section with background image + dark overlay.
   Mirrors the homepage hero style: left-aligned text, gold
   eyebrow, white headline, muted description.
   Use with this HTML structure:
     <section class="nhy-ct-hero">
       <div class="nhy-ct-hero-bg"></div>
       <div class="nhy-ct-hero-inner">
         <div class="nhy-ct-hero-eyebrow">Contact Us</div>
         <h1 class="nhy-ct-hero-title">...</h1>
         <p class="nhy-ct-hero-desc">...</p>
       </div>
     </section>
   ========================================================= */
.nhy-ct-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--nhy-black, #0A0A0A);
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 480px;
}

/* Background layer: image + dark gradient overlay */
.nhy-ct-hero-bg {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background-image:
    linear-gradient(135deg, rgba(10,10,10,.85) 0%, rgba(10,10,10,.55) 60%, rgba(10,10,10,.75) 100%),
    url('/wp-content/uploads/2026/05/medium-intensity-light.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* Subtle gold horizon glow at bottom (matches homepage hero) */
.nhy-ct-hero-bg::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 40%;
  background: radial-gradient(ellipse 80% 40% at 50% 100%, rgba(201,168,76,.08) 0%, transparent 70%);
  pointer-events: none;
}

/* Inner content */
.nhy-ct-hero-inner {
  position: relative;
  z-index: 2;
  max-width: var(--nhy-max-w, 1400px);
  margin: 0 auto;
  width: 100%;
  padding: 150px var(--nhy-pad, 56px) 100px;
}

.nhy-ct-hero-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--nhy-gold, #C9A84C);
  margin-bottom: 20px;
  font-weight: 500;
}

.nhy-ct-hero-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 44px;
  font-weight: 900;
  line-height: 1.15;
  color: var(--nhy-white, #FFFFFF);
  margin: 0 0 24px 0;
  letter-spacing: -1px;
}

.nhy-ct-hero-desc {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255,255,255,.78);
  max-width: 720px;
  margin: 0;
}

/* === Large screens === */
@media (min-width:1800px) {
  .nhy-ct-hero { min-height: 560px; }
  .nhy-ct-hero-title { font-size: 56px; }
  .nhy-ct-hero-desc { font-size: 17px; max-width: 800px; }
  .nhy-ct-hero-eyebrow { font-size: 12px; letter-spacing: 5px; }
}

/* === Tablet === */
@media (max-width:1080px) {
  .nhy-ct-hero { min-height: 420px; }
  .nhy-ct-hero-inner { padding: 120px 32px 80px; }
  .nhy-ct-hero-title { font-size: 36px; }
  .nhy-ct-hero-desc { font-size: 15px; }
}

/* === Mobile === */
@media (max-width:640px) {
  .nhy-ct-hero { min-height: 360px; }
  .nhy-ct-hero-inner { padding: 96px 20px 56px; }
  .nhy-ct-hero-title { font-size: 28px; letter-spacing: -.5px; }
  .nhy-ct-hero-desc { font-size: 14px; line-height: 1.7; }
  .nhy-ct-hero-eyebrow { font-size: 10px; letter-spacing: 3px; margin-bottom: 14px; }
}
