/* Additional component styles for the Ningcai Talent theme. */

.nc-hero__bg { transition: opacity .6s ease; }

/* Search form (widget + header) */
.nc-search-form { display: flex; gap: 10px; }
.nc-search-form__input { flex: 1 1 auto; min-height: 44px; border: 1px solid #DCE4EC; border-radius: 8px; padding: 10px 14px; font-family: inherit; font-size: 15px; background: #fff; }
.nc-search-form .nc-btn { min-height: 44px; }

/* Entry content typography tweaks */
.nc-content > * + * { margin-top: 1em; }
.nc-content h3 { margin-top: 1.6em; }
.nc-content ul { margin-bottom: 1.4em; }

/* Service detail info table */
.nc-info-table { margin: 26px 0; }
.nc-info-table th { width: 160px; }

/* Certificate grid used on the About page */
.nc-cert { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.nc-cert div { border: 1px solid #E4EAF1; border-radius: 10px; padding: 20px; text-align: center; background: #fff; }
.nc-cert b { display: block; color: #0A3560; margin-bottom: 6px; }
.nc-cert span { font-size: 13px; color: #6B7A8B; }

/* Timeline (About page) */
.nc-history { list-style: none; margin: 0; padding: 0 0 0 22px; border-left: 2px solid #E4EAF1; }
.nc-history li { position: relative; padding: 0 0 22px 18px; }
.nc-history li::before { content: ""; position: absolute; left: -29px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: #E4572E; border: 3px solid #fff; box-shadow: 0 0 0 2px #E4572E; }
.nc-history b { display: block; color: #0A3560; font-size: 17px; }

/* Map placeholder on the contact page */
.nc-map { border: 1px solid #E4EAF1; border-radius: 10px; overflow: hidden; }
.nc-map img { width: 100%; height: 320px; object-fit: cover; }

/* Sticky header shadow after scroll */
.nc-header.is-stuck { box-shadow: 0 6px 22px rgba(10, 53, 96, .1); }

/* Back to top */
.nc-top { position: fixed; right: 22px; bottom: 26px; z-index: 80; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #0F4C81; color: #fff; cursor: pointer; display: none; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(15, 76, 129, .32); }
.nc-top.is-visible { display: flex; }

/* Form states */
.nc-form-card input.is-invalid { border-color: #E4572E; background: #FFF6F3; }
.nc-form-card .nc-field-error { display: none; color: #C9461F; font-size: 12.5px; margin: -8px 0 12px; }
.nc-form-card .nc-field-error.is-visible { display: block; }

/* Print */
@media print {
  .nc-topbar, .nc-header, .nc-breadcrumb, .nc-footer, .nc-top, .nc-hero__actions, .nc-form-card { display: none !important; }
  body { color: #000; background: #fff; }
  .nc-section { padding: 0 0 16px; }
}

@media (max-width: 768px) {
  .nc-cert { grid-template-columns: 1fr; }
  .nc-map img { height: 220px; }
  .nc-info-table th { width: 110px; }
}
