/* ==========================================================================
   Nevoura — [nevoura_quotation] styling
   Rebuilt to match the [nv_lp_contact] page 1:1 — same tokens, same type
   stack (Playfair Display for headings, Segoe UI for everything else),
   same neutral ink/gray palette with the lime accent reserved for focus
   states and brand highlights only (no separate "gold" scheme).

   The hero panel, bottom CTA strip, eyebrow, rule divider, and outline
   buttons are NOT redefined here anymore — they live once in
   nv-shared-components.css (enqueued as a dependency of this file) so
   this page can never visually drift from the contact page again.
   Only the parts that are genuinely unique to a quotation form (fields,
   sidebar, add-ons, access-mode cards) are styled below.
   ========================================================================== */

.nevoura-quotation-page {
  --nv-ink:    #0c0c0c;
  --nv-mid:    #3a3a3a;
  --nv-muted:  #9a9a9a;
  --nv-border: #e2e2e2;
  --nv-off:    #f6f6f4;
  --nv-accent: var(--nv-accent, #d7fe03);

  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  color: var(--nv-ink);
}

/* ---------- Body layout ---------- */
.nevoura-quotation-page .nvq-body {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(48px, 7vw, 88px) 20px;
  align-items: start;
}
@media (max-width: 960px) {
  .nevoura-quotation-page .nvq-body { grid-template-columns: 1fr; }
}

.nevoura-quotation-page .nvq-form-hdr { margin-bottom: 24px; }
.nevoura-quotation-page .nvq-form-title {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 1.7rem;
  margin: 8px 0 10px;
}
.nevoura-quotation-page .nvq-form-title em { font-style: italic; }
.nevoura-quotation-page .nvq-form-sub {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .88rem;
  color: #7a7a7a;
  line-height: 1.6;
  margin: 10px 0 0;
}

/* Section dividers — same quiet, neutral treatment as the rest of the
   page; no more amber/gold, just an uppercase muted label + hairline. */
.nevoura-quotation-page .nvq-form-section-label {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--nv-muted);
  border-bottom: 1px solid var(--nv-border);
  padding-bottom: 8px;
  margin: 32px 0 18px;
}
.nevoura-quotation-page .nvq-form-section-label:first-of-type { margin-top: 0; }

.nevoura-quotation-page .nvq-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}
@media (max-width: 560px) {
  .nevoura-quotation-page .nvq-row { grid-template-columns: 1fr; }
}
.nevoura-quotation-page .nvq-field { display: flex; flex-direction: column; gap: 7px; }
.nevoura-quotation-page .nvq-label {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--nv-muted);
  margin-bottom: 0;
}
.nevoura-quotation-page .nvq-required { color: var(--nv-ink); }

.nevoura-quotation-page .nvq-input,
.nevoura-quotation-page .nvq-select,
.nevoura-quotation-page .nvq-textarea {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  padding: 12px 14px;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .92rem;
  line-height: 1.3;
  color: var(--nv-ink);
  background: #fff;
  border: 1px solid var(--nv-border);
  border-radius: 10px;
  transition: border-color .2s ease;
}
.nevoura-quotation-page .nvq-input::placeholder,
.nevoura-quotation-page .nvq-textarea::placeholder { color: #b7b7b7; }
.nevoura-quotation-page .nvq-input:focus,
.nevoura-quotation-page .nvq-select:focus,
.nevoura-quotation-page .nvq-textarea:focus { outline: none; border-color: var(--nv-accent); }
.nevoura-quotation-page .nvq-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 20 20\' fill=\'none\'%3E%3Cpath d=\'M5 8l5 5 5-5\' stroke=\'%23888888\' stroke-width=\'1.6\' stroke-linecap=\'round\' stroke-linejoin=\'round\'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 13px;
}
.nevoura-quotation-page .nvq-select::-ms-expand { display: none; }
.nevoura-quotation-page .nvq-textarea { height: auto; resize: vertical; min-height: 96px; line-height: 1.6; }

/* Addons — same light card language as the contact page's option pills */
.nevoura-quotation-page .nvq-addons { display: flex; flex-direction: column; gap: 10px; }
.nevoura-quotation-page .nvq-addon {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--nv-border);
  border-radius: 12px;
  padding: 14px 16px;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.nevoura-quotation-page .nvq-addon:hover { border-color: var(--nv-ink); }
.nevoura-quotation-page .nvq-addon:focus-within { box-shadow: inset 0 0 0 1.5px var(--nv-ink); }
.nevoura-quotation-page .nvq-addon-text { display: flex; flex-direction: column; flex: 1; gap: 3px; }
.nevoura-quotation-page .nvq-addon-name {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .84rem; font-weight: 600; color: var(--nv-ink);
}
.nevoura-quotation-page .nvq-addon-desc {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .72rem; color: var(--nv-muted); line-height: 1.5;
}
.nevoura-quotation-page .nvq-addon-price {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .74rem; font-weight: 700; color: var(--nv-ink); white-space: nowrap;
}

/* Submit */
.nevoura-quotation-page .nvq-submit-row { margin-top: 28px; }
.nevoura-quotation-page .nvq-submit {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  background: var(--nv-ink);
  color: #fff;
  border: 1.5px solid var(--nv-ink);
  border-radius: 12px;
  padding: 0 28px;
  height: 50px;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.nevoura-quotation-page .nvq-submit:hover { background: #fff; color: var(--nv-ink); }
.nevoura-quotation-page .nvq-submit:disabled { opacity: .6; cursor: default; }
.nevoura-quotation-page .nvq-submit-note {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .8rem; color: var(--nv-muted); margin-top: 12px; line-height: 1.6;
}
.nevoura-quotation-page .nvq-error {
  margin-top: 14px;
  padding: 12px 16px;
  border: 1px solid rgba(192,57,43,.35);
  background: rgba(192,57,43,.06);
  color: #c0392b;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .85rem;
  border-radius: 10px;
}
.nevoura-quotation-page .nvq-success {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid var(--nv-border);
  background: var(--nv-off);
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .85rem;
  color: #4a7c3f;
  font-style: normal;
  border-radius: 10px;
}

/* ---------- Sidebar — same card as .nv-lp-contact__details-col ---------- */
.nevoura-quotation-page .nvq-sidebar {
  background: var(--nv-off) !important;
  border-radius: 20px;
  padding: clamp(28px, 3vw, 40px);
  position: sticky;
  top: 24px;
}
/* Plain title text, no banner/bar — matches .nv-lp-contact__details-title */
.nevoura-quotation-page .nvq-summary-hdr {
  background: transparent !important;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--nv-ink);
  margin: 0 0 20px;
  padding: 0;
  border: none;
}
.nevoura-quotation-page .nvq-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .82rem;
  padding: 9px 0;
  border-bottom: 1px solid var(--nv-border);
}
.nevoura-quotation-page .nvq-summary-line-label { color: var(--nv-muted); }
.nevoura-quotation-page .nvq-summary-line-val { font-weight: 600; text-align: right; color: var(--nv-ink); }
.nevoura-quotation-page .nvq-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1.5px solid var(--nv-ink);
}
.nevoura-quotation-page .nvq-summary-total-label {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nv-muted);
}
.nevoura-quotation-page .nvq-summary-total-val { font-family: "Playfair Display", serif; color: var(--nv-ink); }
.nevoura-quotation-page .nvq-summary-note {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .78rem; color: var(--nv-muted); margin-top: 12px; line-height: 1.6;
}

.nevoura-quotation-page .nvq-sidebar-sep { border: none; border-top: 1px solid var(--nv-border); margin: 20px 0; }
.nevoura-quotation-page .nvq-sidebar-block { display: flex; flex-direction: column; gap: 6px; }
.nevoura-quotation-page .nvq-sidebar-block + .nvq-sidebar-block { margin-top: 20px; }
.nevoura-quotation-page .nvq-sidebar-tag {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-muted);
}
.nevoura-quotation-page .nvq-sidebar-val {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: 1.02rem; font-weight: 500; color: var(--nv-ink);
}
.nevoura-quotation-page .nvq-sidebar-val a { color: inherit; text-decoration: none; }
.nevoura-quotation-page .nvq-sidebar-val a:hover { color: #6b7d1c; }
.nevoura-quotation-page .nvq-sidebar-note {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .8rem; color: #8f8f8f; line-height: 1.6;
}
.nevoura-quotation-page .nvq-access-guide { display: flex; flex-direction: column; gap: 6px; }

.nevoura-quotation-page .nvq-wa-btn {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none !important;
  color: #fff;
  background: var(--nv-ink);
  border: none;
  border-radius: 14px;
  padding: 16px 18px;
  transition: opacity .2s ease;
}
.nevoura-quotation-page .nvq-wa-btn:hover { opacity: .9; }
.nevoura-quotation-page .nvq-wa-icon {
  flex-shrink: 0;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #25D366;
  display: flex; align-items: center; justify-content: center;
  padding: 7px;
  box-sizing: border-box;
}
.nevoura-quotation-page .nvq-wa-icon svg { width: 100%; height: 100%; fill: #fff; }
.nevoura-quotation-page .nvq-wa-label {
  display: block;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .82rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  color: var(--nv-accent);
}
.nevoura-quotation-page .nvq-wa-sub {
  display: block;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .78rem; color: rgba(255,255,255,.6); margin-top: 3px; line-height: 1.4;
}

.nevoura-quotation-page .nvq-turnaround-title {
  display: block;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-muted);
  margin-bottom: 14px;
}
.nevoura-quotation-page .nvq-ta-row {
  display: flex; justify-content: space-between;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: .8rem; padding: 7px 0;
}
.nevoura-quotation-page .nvq-ta-tier { color: var(--nv-mid); }
.nevoura-quotation-page .nvq-ta-days { font-weight: 600; color: var(--nv-ink); }

/* Dark CTA strip: styled by shared .nv-lp-cta / .nv-lp-cta__* classes now
   (see nv-shared-components.css) — nothing quotation-specific left here. */

/* ---------- Access mode cards ---------- */
.nevoura-quotation-page .nvq-access-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 4px;
}
.nevoura-quotation-page .nvq-access-card {
  border: 1px solid var(--nv-border);
  padding: 18px 18px 18px 50px;
  cursor: pointer;
  position: relative;
  transition: border-color 0.25s, background 0.25s;
  display: block;
  border-radius: 14px;
  background: #fff;
}
.nevoura-quotation-page .nvq-access-card:hover { border-color: var(--nv-ink); }
.nevoura-quotation-page .nvq-access-card.selected {
  border-color: var(--nv-ink);
  background: var(--nv-off);
}
.nevoura-quotation-page .nvq-access-card input[type=radio] {
  position: absolute; opacity: 0; width: 0; height: 0;
}
.nevoura-quotation-page .nvq-access-check {
  position: absolute;
  top: 20px; left: 16px;
  width: 18px; height: 18px;
  border: 1px solid var(--nv-border);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: border-color 0.25s, background 0.25s;
}
.nevoura-quotation-page .nvq-access-card.selected .nvq-access-check {
  border-color: var(--nv-ink);
  background: var(--nv-ink);
}
.nevoura-quotation-page .nvq-access-check::after {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
  opacity: 0;
  transition: opacity 0.2s;
}
.nevoura-quotation-page .nvq-access-card.selected .nvq-access-check::after { opacity: 1; }
.nevoura-quotation-page .nvq-access-icon {
  font-size: 1rem;
  position: absolute;
  top: 17px; left: 38px;
  display: none;
}
.nevoura-quotation-page .nvq-access-name {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--nv-ink);
  display: block;
  margin-bottom: 5px;
}
.nevoura-quotation-page .nvq-access-desc {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: 0.76rem;
  color: var(--nv-muted);
  line-height: 1.65;
  font-weight: 400;
  display: block;
  margin-bottom: 8px;
}
.nevoura-quotation-page .nvq-access-tag {
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nv-muted);
  display: block;
}

.nevoura-quotation-page .nvq-private-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 18px;
  background: var(--nv-off);
  border: 1px solid var(--nv-border);
  border-left: 3px solid var(--nv-ink);
  margin-top: 10px;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  font-size: 0.78rem;
  color: var(--nv-mid);
  line-height: 1.65;
  font-weight: 400;
  border-radius: 8px;
}
.nevoura-quotation-page .nvq-private-note-icon {
  flex-shrink: 0;
  color: var(--nv-ink);
  font-size: 1rem;
  margin-top: 1px;
}

@media (max-width: 680px) {
  .nevoura-quotation-page .nvq-access-card { padding: 16px 16px 16px 46px; }
}

@media (max-width: 560px) {
  .nevoura-quotation-page .nvq-body { grid-template-columns: 1fr; }
}

/* ── Extracted from inline style="" attrs in class-quotations.php
     render_shortcode() — modifiers layered on the base component
     classes above, same rules that were previously inlined. ── */
.nevoura-quotation-page .nvq-form-section-label.nvq-tight-top { margin-top: 8px; }
.nevoura-quotation-page .nvq-field.nvq-tight-bottom { margin-bottom: 4px; }
.nevoura-quotation-page .nvq-access-hint {
  font-size: .68rem; color: var(--nv-muted); font-weight: 300; margin: 4px 0 14px; line-height: 1.6;
}
.nevoura-quotation-page .nvq-summary-total-val.nvq-total-custom { font-size: 1rem; letter-spacing: 0; }
.nevoura-quotation-page .nvq-sidebar-val.nvq-sidebar-val-sm { font-size: .88rem; }
.nevoura-quotation-page .nv-eyebrow.nvq-eyebrow-cta { justify-content: center; color: rgba(255,255,255,.6); }

/* Elements that start hidden and are toggled via JS (.show()/.hide()
   or classList) — same initial state as the old style="display:none;" */
.nevoura-quotation-page .nvq-js-hidden { display: none; }
