
.dfgvf-wrap{max-width:1280px;margin:46px auto 54px;padding:0 18px}
.dfgvf-shell{position:relative;border-radius:var(--dfgvf-radius,22px);overflow:hidden;background:
linear-gradient(135deg,rgba(12,12,12,.98),rgba(20,20,20,.95) 55%,rgba(35,8,8,.92));
border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 55px rgba(0,0,0,.35)}
.dfgvf-has-bg{background-size:cover;background-position:center}
.dfgvf-overlay{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.5) 45%,rgba(0,0,0,.78)),
radial-gradient(circle at top right,rgba(225,6,0,.18),transparent 35%)}
.dfgvf-shell:before,.dfgvf-shell:after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);z-index:2}
.dfgvf-shell:after{top:0;bottom:auto}
.dfgvf-copy,.dfgvf-card{position:relative;z-index:3}
.dfgvf-copy{padding:42px 42px 18px}
.dfgvf-title{position:relative;margin:0 0 14px;text-align:center;font-size:var(--dfgvf-title-desktop,34px);font-weight:900;letter-spacing:3px;text-transform:uppercase;color:#fff}
.dfgvf-title:before,.dfgvf-title:after{content:"";position:absolute;top:50%;width:26%;height:1px;background:linear-gradient(to right,transparent,rgba(225,6,0,.9));transform:translateY(-50%)}
.dfgvf-title:before{left:0}
.dfgvf-title:after{right:0;background:linear-gradient(to left,transparent,rgba(225,6,0,.9))}
.dfgvf-title span{display:inline-block;padding:0 18px;text-shadow:0 0 22px rgba(225,6,0,.22)}
.dfgvf-subtitle{max-width:760px;margin:0 auto;color:#dadada;text-align:center;font-size:var(--dfgvf-subtitle-size,15px);line-height:1.7;letter-spacing:.2px}
.dfgvf-card{margin:0 28px 28px;padding:22px;background:rgba(8,8,8,.72);backdrop-filter:blur(6px);border-radius:18px;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.dfgvf-grid{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:16px;align-items:end}
.dfgvf-field label{display:block;margin:0 0 8px;color:#d5d5d5;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px}
.dfgvf-select-wrap{position:relative}
.dfgvf-select-wrap:after{content:"";position:absolute;right:16px;top:50%;width:10px;height:10px;border-right:2px solid #b8b8b8;border-bottom:2px solid #b8b8b8;transform:translateY(-65%) rotate(45deg);pointer-events:none}
.dfgvf-select{appearance:none;-webkit-appearance:none;width:100%;height:54px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#121212;color:#fff;padding:0 46px 0 16px;font-size:15px;font-weight:600;transition:border-color .25s ease,box-shadow .25s ease}
.dfgvf-select:focus{outline:none;border-color:rgba(225,6,0,.8);box-shadow:0 0 0 4px rgba(225,6,0,.12)}
.dfgvf-select:disabled{opacity:.55;cursor:not-allowed}
.dfgvf-action .dfgvf-button{display:flex;align-items:center;justify-content:center;height:54px;border-radius:14px;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:1.1px;background:linear-gradient(180deg,#ef1610,#b50500);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 28px rgba(160,0,0,.26);transition:transform .25s ease, box-shadow .25s ease, filter .25s ease}
.dfgvf-action .dfgvf-button:hover{transform:translateY(-1px);box-shadow:0 18px 32px rgba(160,0,0,.34);filter:brightness(1.04)}
.dfgvf-action .dfgvf-button.is-disabled{pointer-events:none;opacity:.55;filter:grayscale(.12)}
.dfgvf-popular{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.dfgvf-popular-label{font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#bdbdbd}
.dfgvf-chip{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#efefef;text-decoration:none;font-size:12px;font-weight:700;transition:all .25s ease}
.dfgvf-chip:hover{border-color:rgba(225,6,0,.4);background:rgba(225,6,0,.08);color:#fff}
@media (max-width:991px){
  .dfgvf-title{font-size:var(--dfgvf-title-mobile,22px);letter-spacing:2px}
  .dfgvf-title:before,.dfgvf-title:after{width:18%}
  .dfgvf-copy{padding:30px 24px 16px}
  .dfgvf-card{margin:0 18px 18px;padding:18px}
  .dfgvf-grid{grid-template-columns:1fr;gap:14px}
}
@media (max-width:575px){
  .dfgvf-wrap{padding:0 12px}
  .dfgvf-subtitle{font-size:14px}
  .dfgvf-title:before,.dfgvf-title:after{display:none}
  .dfgvf-card{padding:14px}
}
