/* =========================================================
   MONTOYA LINE — Buscador (lupa) + Suscripción (persona)
   ========================================================= */

/* ---------- BUSCADOR ---------- */
.nsearch { position: fixed; inset: 0; z-index: 140; visibility: hidden; }
.nsearch.is-open { visibility: visible; }
.nsearch__overlay {
  position: absolute; inset: 0; background: rgba(14, 26, 22, .42);
  opacity: 0; transition: opacity .35s var(--ease);
}
.nsearch.is-open .nsearch__overlay { opacity: 1; }

.nsearch__panel {
  position: absolute; top: 0; left: 0; right: 0;
  background: var(--paper); box-shadow: 0 18px 50px rgba(30, 26, 22, .2);
  transform: translateY(-100%); transition: transform .42s var(--ease);
  max-height: 86vh; overflow-y: auto; padding-bottom: 1.5rem;
}
.nsearch.is-open .nsearch__panel { transform: translateY(0); }

.nsearch__bar {
  max-width: var(--maxw); margin-inline: auto;
  display: flex; align-items: center; gap: 1rem;
  padding: 1.4rem var(--pad); border-bottom: 1px solid var(--line);
}
.nsearch__icon { width: 22px; height: 22px; flex: none; fill: none; stroke: var(--ink-soft); stroke-width: 1.6; stroke-linecap: round; }
.nsearch__bar input {
  flex: 1; border: none; background: none; outline: none;
  font-family: var(--serif); font-weight: 400; font-size: clamp(1.3rem, 3vw, 2rem);
  color: var(--ink); letter-spacing: -.01em;
}
.nsearch__bar input::placeholder { color: var(--ink-soft); opacity: .7; }
.nsearch__bar input::-webkit-search-cancel-button { -webkit-appearance: none; }
.nsearch__close { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 50%; color: var(--ink); transition: background .2s var(--ease); }
.nsearch__close:hover { background: rgba(30, 26, 22, .07); }
.nsearch__close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }

.nsearch__results { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--pad); }
.nsearch__hint { padding: 1.8rem 0; color: var(--ink-soft); font-size: 1rem; }
.nsearch__hint a { color: var(--sea); text-decoration: underline; }

.nsearch__item {
  display: flex; align-items: center; gap: 1.1rem;
  padding: .9rem 0; border-bottom: 1px solid var(--line); transition: opacity .2s var(--ease);
}
.nsearch__item:hover { opacity: .68; }
.nsearch__thumb {
  width: 60px; height: 60px; flex: none; background: var(--paper-2);
  border: 1px solid var(--line); display: grid; place-items: center; overflow: hidden;
}
.nsearch__thumb img { width: 82%; height: 82%; object-fit: contain; }
.nsearch__info { flex: 1; display: flex; flex-direction: column; gap: .2rem; }
.nsearch__name { font-family: var(--serif); font-weight: 450; font-size: 1.1rem; color: var(--ink); }
.nsearch__meta { font-size: .76rem; letter-spacing: .04em; color: var(--ink-soft); }
.nsearch__price { font-size: .95rem; color: var(--sand-deep); white-space: nowrap; }
.nsearch__price .cur { font-size: .7em; color: var(--ink-soft); letter-spacing: .06em; }

/* ---------- SUSCRIPCIÓN ---------- */
.nacct { position: fixed; inset: 0; z-index: 150; display: grid; place-items: center; visibility: hidden; padding: 1.2rem; }
.nacct.is-open { visibility: visible; }
.nacct__overlay { position: absolute; inset: 0; background: rgba(14, 26, 22, .46); opacity: 0; transition: opacity .35s var(--ease); }
.nacct.is-open .nacct__overlay { opacity: 1; }

.nacct__card {
  position: relative; z-index: 1; width: min(440px, 100%);
  background: var(--paper); border: 1px solid var(--line);
  box-shadow: 0 30px 70px rgba(30, 26, 22, .28);
  padding: clamp(1.8rem, 5vw, 2.8rem); text-align: center;
  transform: translateY(14px) scale(.97); opacity: 0;
  transition: transform .4s var(--ease), opacity .4s var(--ease);
}
.nacct.is-open .nacct__card { transform: none; opacity: 1; }
.nacct__card .eyebrow { margin-bottom: 1rem; }
.nacct__close { position: absolute; top: .9rem; right: .9rem; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); transition: background .2s var(--ease); }
.nacct__close:hover { background: rgba(30, 26, 22, .07); }
.nacct__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }

.nacct__title { font-family: var(--serif); font-optical-sizing: auto; font-weight: 450; font-size: clamp(1.7rem, 4vw, 2.2rem); line-height: 1.05; letter-spacing: -.02em; }
.nacct__text { color: var(--ink-soft); margin: .9rem auto 1.6rem; max-width: 34ch; line-height: 1.6; }
.nacct__form { display: flex; flex-direction: column; gap: .7rem; }
.nacct__form input {
  font: inherit; font-size: 1rem; padding: 1em 1.1em;
  background: var(--paper-2); border: 1px solid var(--line); color: var(--ink); text-align: center;
}
.nacct__form input::placeholder { color: var(--ink-soft); }
.nacct__form .btn { justify-content: center; }
.nacct__msg { margin-top: .8rem; font-size: .9rem; }
.nacct__msg.is-err { color: var(--terra); }
.nacct__note { margin-top: 1.1rem; font-size: .82rem; color: var(--ink-soft); }
.nacct__ok { width: 56px; height: 56px; margin: 0 auto 1.2rem; border-radius: 50%; background: var(--sea); display: grid; place-items: center; }
.nacct__ok svg { width: 28px; height: 28px; fill: none; stroke: var(--paper); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nacct__ok + .nacct__title { margin-bottom: 0; }
.nacct .btn--line { margin-top: 1.6rem; }

@media (prefers-reduced-motion: reduce) {
  .nsearch__panel, .nacct__card, .nsearch__overlay, .nacct__overlay { transition: none; }
}
