/* NovaGlass – Frontend (Light, compact bar) */
:root{
  --nvt-bg: #f4f7fb;
  --nvt-card: rgba(255,255,255,.78);
  --nvt-stroke: rgba(20, 40, 80, .10);
  --nvt-text: #0f1f3a;
  --nvt-muted: rgba(15,31,58,.62);
  --nvt-primary: #2d6cdf;
  --nvt-primary2:#2aa5ff;
  --nvt-radius: 18px;
  --nvt-radius2: 22px;
  --nvt-shadow: 0 14px 40px rgba(16, 40, 90, .12);
  --nvt-shadow2: 0 18px 55px rgba(16, 40, 90, .16);
  --nvt-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

.nvt-wrap, .nvt-wrap *{ box-sizing: border-box; }
.nvt-wrap{ font-family: var(--nvt-font); color: var(--nvt-text); }

.nvt-form{
  background: radial-gradient(900px 420px at 15% 0%, rgba(45,108,223,.10), transparent 60%),
              radial-gradient(900px 420px at 85% 0%, rgba(42,165,255,.10), transparent 60%),
              var(--nvt-bg);
  border: 1px solid rgba(20,40,80,.08);
  border-radius: var(--nvt-radius2);
  box-shadow: var(--nvt-shadow2);
  padding: 18px;
}

.nvt-shell{ display:flex; flex-direction: column; gap: 14px; }
.nvt-top{ display:flex; align-items:flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }

.nvt-brand__title{ font-size: 18px; font-weight: 900; letter-spacing: .2px; }
.nvt-brand__subtitle{ margin-top: 2px; font-size: 13px; color: var(--nvt-muted); }

.nvt-card{
  border-radius: var(--nvt-radius);
  border: 1px solid var(--nvt-stroke);
  background: var(--nvt-card);
  box-shadow: var(--nvt-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 14px;
}
.nvt-card--compact{ padding: 12px; }

.nvt-row{ display:grid; gap: 12px; align-items:end; }

.nvt-row--travel{
  grid-template-columns: 1.05fr 1.05fr .85fr .85fr .75fr;
  gap: 12px;
}
@media (max-width: 1100px){
  .nvt-row--travel{ grid-template-columns: 1fr 1fr; }
  .nvt-actions--inline{ grid-column: 1 / -1; }
}
@media (max-width: 560px){
  .nvt-row--travel{ grid-template-columns: 1fr; }
}

.nvt-actions--inline{
  display:flex;
  flex-direction: column;
  gap: 8px;
  align-self: stretch;
  justify-content: flex-end;
}
.nvt-hintline{ font-size: 12px; color: var(--nvt-muted); padding-left: 2px; }

.nvt-row--people{ grid-template-columns: repeat(4, 1fr); margin-top: 10px; }
@media (max-width: 900px){ .nvt-row--people{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .nvt-row--people{ grid-template-columns: 1fr; } }

.nvt-field{ min-width: 0; }

.nvt-label{
  display:flex; gap: 6px; align-items: baseline;
  font-size: 12.5px; font-weight: 800;
  color: rgba(15,31,58,.82);
  margin: 0 0 6px;
}
.nvt-label em{ color: var(--nvt-primary); font-style: normal; font-weight: 900; }
.nvt-label small{ font-weight: 700; color: rgba(15,31,58,.55); }

.nvt-control{ position: relative; display:flex; align-items:center; width: 100%; }
.nvt-icon{
  position:absolute; left: 12px; width: 18px; height: 18px;
  display:inline-flex; align-items:center; justify-content:center;
  color: rgba(15,31,58,.55);
  pointer-events: none;
}
.nvt-icon svg{ width: 18px; height: 18px; }

.nvt-control input,
.nvt-control select,
.nvt-control textarea{
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(20,40,80,.14);
  background: rgba(255,255,255,.92);
  color: var(--nvt-text);
  padding: 12px 12px 12px 40px;
  outline: none;
  transition: .15s ease;
  font-size: 14px;
  min-height: 64px;
}
.nvt-control--select select{ padding-left: 14px; }
.nvt-control--textarea textarea{ padding-left: 12px; min-height: 120px; resize: vertical; }
.nvt-control input:focus,
.nvt-control select:focus,
.nvt-control textarea:focus{
  border-color: rgba(45,108,223,.45);
  box-shadow: 0 0 0 4px rgba(45,108,223,.12);
}
.nvt-control input::placeholder,
.nvt-control textarea::placeholder{ color: rgba(15,31,58,.45); }

.nvt-control--select select{
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15,31,58,.55) 50%),
    linear-gradient(135deg, rgba(15,31,58,.55) 50%, transparent 50%);
  background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.nvt-btn{
  border: 0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  font-weight: 900;
  letter-spacing: .3px;
  min-height: 46px;
}
.nvt-btn--primary, .nvt-btn--submit{
  background: linear-gradient(135deg, var(--nvt-primary), var(--nvt-primary2));
  color: #fff;
  box-shadow: 0 16px 36px rgba(45,108,223,.22);
}
.nvt-btn__ico svg{ width: 18px; height: 18px; }
.nvt-btn:hover{ transform: translateY(-1px); filter: brightness(1.02); }
.nvt-btn:active{ transform: translateY(0); }
.nvt-btn:disabled{ opacity: .65; cursor:not-allowed; transform:none; }

.nvt-card__head{ display:flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.nvt-card__title{ font-weight: 900; font-size: 15px; }
.nvt-card__sub{ color: var(--nvt-muted); font-size: 12.5px; font-weight: 700; }

.nvt-grid2{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 900px){ .nvt-grid2{ grid-template-columns: 1fr; } }
.nvt-field--full{ grid-column: 1 / -1; }

/* Footer (privacy + captcha + submit) */
.nvt-footerRow{
  display:grid;
  grid-template-columns: 1fr 320px 220px;
  gap: 12px;
  align-items: end;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(20,40,80,.10);
}
@media (max-width: 980px){
  .nvt-footerRow{ grid-template-columns: 1fr; align-items: stretch; }
}
.nvt-footerRow .nvt-msg{ grid-column: 1 / -1; }

.nvt-privacyBox .nvt-label{ margin-bottom: 8px; }
.nvt-privacy{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 800;
  color: rgba(15,31,58,.78);
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(20,40,80,.14);
  background: rgba(255,255,255,.92);
  min-height: 46px;
}
.nvt-privacy input{ width: 18px; height: 18px; accent-color: var(--nvt-primary); }
.nvt-privacy a{ color: var(--nvt-primary); text-decoration:none; border-bottom: 1px dashed rgba(45,108,223,.40); }
.nvt-privacy a:hover{ border-bottom-style: solid; }

.nvt-submitBox{ display:flex; justify-content: stretch; }
.nvt-submitBox .nvt-btn{ width: 100%; }

.nvt-msg{
  font-size: 13px;
  color: rgba(15,31,58,.70);
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(20,40,80,.12);
  background: rgba(255,255,255,.75);
}
.nvt-msg:empty{ display:none; }
.nvt-msg.is-ok{ border-color: rgba(34,197,94,.25); background: rgba(34,197,94,.10); color: rgba(10,90,35,.95); }
.nvt-msg.is-err{ border-color: rgba(239,68,68,.25); background: rgba(239,68,68,.10); color: rgba(130,15,15,.95); }

.nvt-btn__spinner{
  width: 16px; height:16px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,.95);
  animation: nvtspin .8s linear infinite;
  display:none;
}
@keyframes nvtspin{ to{ transform: rotate(360deg);} }
.nvt-form.is-sending .nvt-btn__spinner{ display:inline-block; }

.nvt-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
