.elementor-1580 .elementor-element.elementor-element-da1b54e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1580 .elementor-element.elementor-element-adc5131{--display:flex;}.elementor-1580 .elementor-element.elementor-element-4635a9e{--display:flex;}/* Start custom CSS for container, class: .elementor-element-da1b54e *//* =========================================================
   NHADATVANBAC • TU-VAN-BDS — HERO + FORM (ULTRA LUXURY) — FULL FINAL
   Paste into: OUTER Container class "nvb-tv-page" -> Custom CSS
========================================================= */

/* ====== BASE ====== */
.elementor-1580 .elementor-element.elementor-element-da1b54e{
  --primary:#15276E;
  --secondary:#FF9638;
  --accent:#FFCD2A;
  --text:#53585E;

  --bd: rgba(21,39,110,0.16);
  --bd2: rgba(21,39,110,0.10);

  font-family:'Roboto',sans-serif;
  color: var(--text);
  padding:34px 0;
}

/* =========================================================
   1) HERO (PREMIUM PRIMARY + GLASS + VIGNETTE)
========================================================= */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-hero{
  width:100%;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;

  position:relative;
  overflow:hidden;
  border-radius:18px;

  background:
    radial-gradient(1000px 520px at 14% 12%, rgba(255,205,42,0.14), transparent 58%),
    radial-gradient(820px 520px at 88% 18%, rgba(255,150,56,0.08), transparent 62%),
    radial-gradient(1200px 560px at 50% 115%, rgba(0,0,0,0.26), transparent 60%),
    linear-gradient(135deg, #0b1538 0%, #15276E 45%, #0f1e52 100%);

  border:1px solid rgba(255,255,255,0.14);
  box-shadow:
    0 22px 44px rgba(0,0,0,0.18),
    inset 0 0 0 1px rgba(255,255,255,0.04);

  padding:28px 28px 24px;
}

/* glass overlay */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.10), transparent 42%),
    radial-gradient(700px 200px at 40% 0%, rgba(255,255,255,0.10), transparent 60%);
  opacity: 0.9;
}
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-hero > *{ position:relative; z-index:1; }

/* subtle inner highlight line */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-hero:after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:16px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
  opacity:0.55;
  pointer-events:none;
}

/* HERO TEXT */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-h1{
  margin:0 0 10px 0;
  font-family: "Be Vietnam Pro", sans-serif;
  font-weight: 900;
  font-size: 32px;
  line-height: 1.22;
  letter-spacing: 0.2px;
  color:#ffffff;
  text-shadow: 0 10px 22px rgba(0,0,0,0.28);
}

/* highlight like luxury marker */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-h1 .hl{
  padding:0 6px;
  border-radius:6px;
  box-shadow: inset 0 -12px 0 rgba(255,205,42,0.36);
}

/* subtitle */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-sub{
  margin:0 0 16px 0;
  font-weight:300;
  font-size:16.5px;
  line-height:1.9;
  color:rgba(255,255,255,0.90);
  max-width: 85ch;
}

/* CHIPS (premium glass pills) */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:9px 14px;
  border-radius:999px;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.08));
  border: 1px solid rgba(255,255,255,0.22);

  color:#ffffff;
  font-size:13px;
  font-weight:500;
  line-height:1;

  box-shadow: 0 10px 18px rgba(0,0,0,0.18);
  backdrop-filter: blur(8px);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-chip i,
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-chip svg{
  opacity:0.95;
}

/* =========================================================
   2) FORM CARD (LUXURY CLEAN)
========================================================= */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form{
  width:100%;
  max-width:1100px;
  margin:18px auto 0;

  background:#ffffff;
  border:1px solid rgba(21,39,110,0.16);
  border-radius:18px;
  overflow:hidden;

  box-shadow: 0 18px 36px rgba(0,0,0,0.12);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form-head{
  padding:18px 18px 14px;
  border-bottom:1px solid rgba(21,39,110,0.10);

  background:
    radial-gradient(750px 260px at 12% 0%, rgba(255,205,42,0.18), transparent 62%),
    radial-gradient(620px 260px at 88% 0%, rgba(255,150,56,0.08), transparent 62%),
    #ffffff;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form-title{
  margin:0 0 6px 0;
  font-family: "Be Vietnam Pro", sans-serif;
  font-weight: 900;
  font-size:18px;
  line-height:1.4;
  color: var(--primary);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form-note{
  margin:0;
  font-weight:300;
  font-size:13.5px;
  line-height:1.7;
  color:rgba(83,88,94,0.88);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form-body{
  padding:18px;
}

/* =========================================================
   3) CF7 RESET + GRID
========================================================= */
.elementor-1580 .elementor-element.elementor-element-da1b54e .wpcf7 form{ margin:0; }
.elementor-1580 .elementor-element.elementor-element-da1b54e .wpcf7 p{ margin:0 0 12px 0; padding:0; }
.elementor-1580 .elementor-element.elementor-element-da1b54e .wpcf7 br{ display:none; }
.elementor-1580 .elementor-element.elementor-element-da1b54e .wpcf7 .wpcf7-form-control-wrap{ display:block; }

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-grid .full{ grid-column:1 / -1; }

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field label{
  display:block;
  margin:0 0 6px 0;
  font-size:13px;
  font-weight:800;
  color:rgba(21,39,110,0.78);
  letter-spacing: 0.2px;
}

/* =========================================================
   4) INPUTS (SANG + FOCUS RÕ)
========================================================= */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field input,
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field select,
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field textarea{
  width:100%;
  box-sizing:border-box;

  font-family:'Roboto',sans-serif;
  font-size:14.5px;
  font-weight:300;
  line-height:1.4;
  color: var(--text);

  background:#ffffff;
  border:1px solid rgba(21,39,110,0.22);
  border-radius:14px;

  padding:11px 12px;
  outline:none;

  transition: border-color .15s ease, box-shadow .15s ease, transform .12s ease;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field textarea{
  min-height:96px;
  resize:vertical;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field input:focus,
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field select:focus,
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field textarea:focus{
  border-color: rgba(21,39,110,0.55);
  box-shadow: 0 0 0 4px rgba(21,39,110,0.12);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field input:hover,
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field select:hover,
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-field textarea:hover{
  border-color: rgba(21,39,110,0.34);
}

/* =========================================================
   5) RADIO — PILL LUXURY + CENTER PERFECT (CUSTOM RADIO)
========================================================= */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:6px;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio .wpcf7-list-item{ margin:0; }

/* pill */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio .wpcf7-list-item label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:10px 16px;
  min-height:42px;
  box-sizing:border-box;
  line-height:1 !important;

  border-radius:999px;
  border:1px solid rgba(21,39,110,0.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(21,39,110,0.02));

  cursor:pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .12s ease;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio .wpcf7-list-item label:hover{
  transform: translateY(-1px);
  border-color: rgba(21,39,110,0.45);
  box-shadow: 0 10px 18px rgba(21,39,110,0.10);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio .wpcf7-list-item span{
  display:inline-flex;
  align-items:center;
  line-height:1 !important;
  font-weight:300;
  font-size:14.5px;
  color:#53585E;
}

/* custom radio circle */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;

  width:18px;
  height:18px;
  flex: 0 0 18px;

  border-radius:999px;
  border:2px solid rgba(21,39,110,0.50);
  background:#ffffff;

  margin:0 !important;
  position:relative;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio input[type="radio"]::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:999px;
  background:transparent;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio input[type="radio"]:checked{
  border-color: rgba(21,39,110,0.80);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio input[type="radio"]:checked::after{
  background: rgba(21,39,110,0.95);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio input[type="radio"]:checked + span{
  font-weight:500;
  color:rgba(21,39,110,0.95);
}

/* =========================================================
   6) SUBMIT ROW (LUXURY BUTTON)
========================================================= */
.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-submit{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-submit .wpcf7-submit{
  -webkit-appearance:none;
  appearance:none;

  color:#ffffff;
  border:none;
  border-radius:999px;

  padding:12px 18px;
  font-size:14.5px;
  font-weight:900;
  letter-spacing:0.6px;
  line-height:1.2;

  cursor:pointer;

  background:
    radial-gradient(500px 120px at 20% 0%, rgba(255,205,42,0.25), transparent 60%),
    linear-gradient(135deg, rgba(21,39,110,1), rgba(14,31,94,1));

  box-shadow: 0 14px 26px rgba(21,39,110,0.22);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-submit .wpcf7-submit:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 18px 32px rgba(21,39,110,0.26);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-hotline{
  font-size:13.5px;
  font-weight:300;
  color:rgba(83,88,94,0.92);
}

.elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-hotline a{
  color: var(--secondary);
  font-weight:900;
  text-decoration:none;
}

/* =========================================================
   7) RESPONSIVE
========================================================= */
@media (max-width: 860px){
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-h1{ font-size:24px; }
  /* ✅ Tablet vẫn 2 cột như desktop */
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}




@media (max-width: 480px){
  .elementor-1580 .elementor-element.elementor-element-da1b54e{ padding:22px 0; }
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-hero{ padding:20px 16px 18px; border-radius:16px; }
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form{ border-radius:16px; }
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form-head{ padding:16px 16px 12px; }
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-form-body{ padding:16px; }
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-submit .wpcf7-submit{ width:100%; }
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-radio{ gap:10px 12px; }
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-chip{ padding:9px 12px; }
}
/* ===== FORCE TABLET LIKE DESKTOP (2 columns) ===== */
@media (max-width: 1024px) and (min-width: 768px){
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ===== MOBILE ONLY (1 column) ===== */
@media (max-width: 767px){
  .elementor-1580 .elementor-element.elementor-element-da1b54e .nvb-tv-grid{
    grid-template-columns: 1fr !important;
  }
}/* End custom CSS */