
:root{
  --gh-blue-900:#153A73;
  --gh-blue-800:#0f4c97;
  --gh-blue-700:#0073cc;
  --gh-blue-600:#3b82f6;
  --gh-slate-900:#0f172a;
  --gh-slate-800:#1e293b;
  --gh-slate-700:#334155;
  --gh-slate-600:#475569;
  --gh-slate-500:#64748b;
  --gh-slate-200:#e2e8f0;
  --gh-slate-100:#f1f5f9;
  --gh-slate-50:#f8fafc;
  --gh-shadow-lg:0 30px 80px rgba(15,23,42,.28);
  --gh-shadow-md:0 12px 30px rgba(15,23,42,.12);
  --gh-radius-xl:24px;
  --gh-radius-lg:18px;
  --gh-radius-md:12px;
}

.viper-modal,
.product-modal{
  background:rgba(2,6,23,.78)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

.viper-modal-overlay{background:transparent!important;backdrop-filter:none!important;}

.viper-modal-content,
.product-modal .modal-content{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  border-radius:var(--gh-radius-xl)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  box-shadow:var(--gh-shadow-lg)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}

.product-modal .modal-content{max-width:1180px!important;}

.viper-modal-header,
.product-modal .modal-header{
  background:linear-gradient(135deg,var(--gh-blue-900) 0%, var(--gh-blue-800) 45%, var(--gh-blue-700) 100%)!important;
  color:#fff!important;
  padding:36px 34px 28px!important;
  border-radius:var(--gh-radius-xl) var(--gh-radius-xl) 0 0!important;
  position:relative;
  overflow:hidden;
}

.viper-modal-header::before,
.product-modal .modal-header::before{
  content:'';
  position:absolute;
  inset:auto -12% -40% auto;
  width:280px;
  height:280px;
  background:radial-gradient(circle, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 68%);
  pointer-events:none;
}

.viper-modal-header h2,
.product-modal .modal-header h2{
  font-family:'Space Grotesk',sans-serif!important;
  font-size:clamp(1.7rem,2vw,2.2rem)!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
  margin:0 0 14px 0!important;
  max-width:calc(100% - 72px);
}

.viper-brand,
.product-modal .modal-subtitle{
  font-size:1rem!important;
  font-weight:600!important;
  color:rgba(255,255,255,.92)!important;
  margin:0 0 8px 0!important;
}

.viper-models,
.product-modal .modal-models{
  font-size:.96rem!important;
  color:rgba(255,255,255,.80)!important;
  margin:0!important;
}

.viper-modal-close,
.product-modal .modal-close{
  width:46px!important;
  height:46px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:none!important;
  top:24px!important;
  right:24px!important;
  backdrop-filter:blur(8px);
}

.viper-modal-close:hover,
.product-modal .modal-close:hover{
  background:#fff!important;
  color:var(--gh-blue-900)!important;
  border-color:#fff!important;
  transform:translateY(-1px) rotate(90deg)!important;
}

.viper-tabs-nav,
.gh-modal-tabs-nav{
  display:flex!important;
  gap:0!important;
  padding:0!important;
  margin:0!important;
  background:linear-gradient(180deg,#f8fbff 0%, #f1f6fc 100%)!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-bottom:1px solid var(--gh-slate-200)!important;
  position:sticky!important;
  top:0!important;
  z-index:120!important;
  overflow-x:auto!important;
  scrollbar-width:thin;
}

.viper-tab-btn,
.gh-modal-tab-btn{
  flex:1 1 0;
  min-width:150px;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:16px 14px!important;
  border:none!important;
  border-bottom:3px solid transparent!important;
  background:transparent!important;
  color:var(--gh-slate-500)!important;
  font-family:'Inter',sans-serif!important;
  font-size:.94rem!important;
  font-weight:600!important;
  transition:all .25s ease;
  cursor:pointer;
}

.viper-tab-btn i,
.gh-modal-tab-btn i{font-size:1.2rem!important;}
.viper-tab-btn span,
.gh-modal-tab-btn span{display:block;line-height:1.15;}

.viper-tab-btn:hover,
.gh-modal-tab-btn:hover{
  background:#eef5fd!important;
  color:var(--gh-blue-800)!important;
}

.viper-tab-btn.active,
.gh-modal-tab-btn.active{
  background:#fff!important;
  color:var(--gh-blue-900)!important;
  border-bottom-color:var(--gh-blue-700)!important;
  box-shadow:inset 0 -1px 0 rgba(59,130,246,.12);
}

.viper-tab-content,
.gh-modal-tab-panel{
  display:none;
  padding:32px 36px 36px!important;
  animation:ghFadeUp .28s ease;
}
.viper-tab-content.active,
.gh-modal-tab-panel.active{display:block!important;}
@keyframes ghFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.viper-modal-body,
.product-modal .modal-body{
  padding:0!important;
  background:linear-gradient(180deg,#fff 0%, #f8fbff 100%);
  overflow:visible!important;
}

.viper-section,
.product-modal .modal-section,
.gh-modal-tab-panel .modal-section{
  margin:0 0 24px 0!important;
  padding:26px 28px!important;
  background:#fff!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:18px!important;
  box-shadow:var(--gh-shadow-md)!important;
}

.viper-section:last-child,
.product-modal .modal-section:last-child,
.gh-modal-tab-panel .modal-section:last-child{margin-bottom:0!important;}

.viper-section h3,
.product-modal .modal-section h3,
.gh-modal-tab-panel .modal-section h3{
  font-family:'Space Grotesk',sans-serif!important;
  font-size:1.28rem!important;
  color:var(--gh-slate-900)!important;
  margin:0 0 16px 0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}

.viper-section h3 i,
.product-modal .modal-section h3 i,
.gh-modal-tab-panel .modal-section h3 i{
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--gh-blue-900) 0%, var(--gh-blue-700) 100%)!important;
  box-shadow:0 10px 22px rgba(0,115,204,.22)!important;
  flex:0 0 40px;
}

.viper-section p,
.product-modal .modal-section p,
.gh-modal-tab-panel .modal-section p,
.viper-important-content,
.viper-feature-card p,
.viper-advantage-card p,
.viper-info-card p{
  color:var(--gh-slate-600)!important;
  line-height:1.8!important;
}

.viper-list,
.product-modal .features-list,
.product-modal .accessories-list,
.viper-accessories-list{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px!important;
}

.viper-list li,
.product-modal .features-list li,
.product-modal .accessories-list li,
.viper-accessories-list li{
  background:linear-gradient(180deg,#f8fbff 0%, #f3f8ff 100%)!important;
  color:var(--gh-slate-700)!important;
  border:1px solid #dbe7f5!important;
  border-left:4px solid var(--gh-blue-700)!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.viper-list li:hover,
.product-modal .features-list li:hover,
.product-modal .accessories-list li:hover,
.viper-accessories-list li:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
  border-color:#bfdbfe!important;
}

.viper-list li i,
.product-modal .features-list li i,
.product-modal .accessories-list li i,
.viper-accessories-list li i{color:var(--gh-blue-700)!important;}

.modal-specs-table,
.viper-comparison-table,
.product-modal .specs-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  box-shadow:0 12px 30px rgba(15,23,42,.08)!important;
  background:#fff!important;
}

.modal-specs-table thead,
.viper-comparison-table thead,
.product-modal .specs-table thead,
.modal-specs-table thead tr,
.viper-comparison-table thead tr,
.product-modal .specs-table thead tr{
  background:linear-gradient(135deg,var(--gh-blue-900) 0%, var(--gh-blue-800) 50%, var(--gh-blue-700) 100%)!important;
}

.modal-specs-table th,
.viper-comparison-table th,
.product-modal .specs-table th{
  color:#fff!important;
  font-weight:700!important;
  padding:15px 14px!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
}

.modal-specs-table td,
.viper-comparison-table td,
.product-modal .specs-table td{
  padding:13px 14px!important;
  color:var(--gh-slate-600)!important;
  border-bottom:1px solid var(--gh-slate-200)!important;
  border-right:1px solid #eef2f7!important;
  background:#fff!important;
}

.modal-specs-table td:first-child,
.viper-comparison-table td:first-child,
.product-modal .specs-table td:first-child{
  color:var(--gh-slate-900)!important;
  font-weight:700!important;
  background:#f8fbff!important;
}

.table-responsive,
.specs-table-wrapper,
.viper-comparison-notice,
.specs-scroll-container{
  border-radius:16px!important;
}

.product-modal .table-responsive,
.product-modal .specs-table-wrapper,
.viper-comparison-table,
.specs-scroll-container .specs-table-wrapper{
  overflow:auto!important;
  background:linear-gradient(180deg,#fff 0%, #f8fbff 100%)!important;
  border:1px solid var(--gh-slate-200)!important;
  padding:8px!important;
}

.viper-important,
.viper-accessories,
.viper-accessories-column,
.viper-feature-card,
.viper-advantage-card,
.viper-info-card,
.gh-highlight-box{
  border-radius:16px!important;
  border:1px solid rgba(191,219,254,.8)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}

.viper-important{background:linear-gradient(135deg,#fff8eb 0%, #ffeed3 100%)!important;border-left:4px solid #f59e0b!important;}
.viper-accessories{background:linear-gradient(135deg,#effcf5 0%, #dcfce7 100%)!important;border-left:4px solid #10b981!important;}
.viper-accessories-column,
.viper-feature-card,
.viper-advantage-card,
.viper-info-card{background:#fff!important;}

.viper-modal-footer,
.product-modal .gh-modal-cta-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:16px!important;
  padding:0 36px 36px!important;
  margin-top:0!important;
  background:transparent!important;
  border-top:none!important;
}

.btn-viper-contact,
.btn-viper-phone,
.product-modal .gh-modal-cta,
.viper-modal-cta{
  min-width:240px!important;
  flex:1 1 260px!important;
  border-radius:14px!important;
  padding:16px 22px!important;
  font-weight:700!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.btn-viper-contact,
.viper-modal-cta.viper-cta-form,
.product-modal .gh-modal-cta.gh-modal-primary{
  background:linear-gradient(135deg,var(--gh-blue-900) 0%, var(--gh-blue-800) 100%)!important;
  color:#fff!important;
  border:none!important;
  box-shadow:0 10px 24px rgba(21,58,115,.24)!important;
}

.btn-viper-contact:hover,
.viper-modal-cta.viper-cta-form:hover,
.product-modal .gh-modal-cta.gh-modal-primary:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 30px rgba(21,58,115,.30)!important;
}

.btn-viper-phone,
.viper-modal-cta.viper-cta-phone,
.product-modal .gh-modal-cta.gh-modal-secondary{
  background:#fff!important;
  color:var(--gh-blue-900)!important;
  border:2px solid var(--gh-blue-900)!important;
}

.btn-viper-phone:hover,
.viper-modal-cta.viper-cta-phone:hover,
.product-modal .gh-modal-cta.gh-modal-secondary:hover{
  background:var(--gh-blue-900)!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}

.product-modal .gh-modal-cta-row{padding-top:8px!important;}
.product-modal .gh-modal-tab-panel.active{display:block!important;}
.product-modal.gh-tabs-ready .modal-body > .modal-section{display:none!important;}

.viper-modal,
.product-modal{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}

@media (max-width: 900px){
  .viper-modal-content,
  .product-modal .modal-content{max-width:100%!important;max-height:92vh!important;}
  .viper-modal-header,
  .product-modal .modal-header{padding:28px 22px 24px!important;}
  .viper-tab-content,
  .gh-modal-tab-panel{padding:22px 20px 24px!important;}
  .viper-section,
  .product-modal .modal-section,
  .gh-modal-tab-panel .modal-section{padding:20px 18px!important;}
  .viper-modal-footer,
  .product-modal .gh-modal-cta-row{padding:0 20px 24px!important;}
  .viper-list,
  .product-modal .features-list,
  .product-modal .accessories-list,
  .viper-accessories-list{grid-template-columns:1fr!important;}
}
