
.dbp-wrap{
  --dbp-ink:#150017;
  --dbp-bg:#21001d;
  --dbp-bg2:#2b0025;
  --dbp-panel:#36002e;
  --dbp-line:rgba(255,255,255,.09);
  --dbp-pink:#ff1493;
  --dbp-hot:#ff55bc;
  --dbp-lime:#91ff72;
  --dbp-text:#fff4fb;
  --dbp-muted:#c9a9bd;
  max-width:1040px;
  margin:0 auto;
  color:var(--dbp-text);
}
.dbp-wrap *{box-sizing:border-box}
.dbp-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 105% -5%,rgba(255,20,147,.12),transparent 34%),
    linear-gradient(180deg,#34002c 0%,#24001f 100%);
  border:1px solid rgba(255,85,188,.22);
  border-radius:26px;
  padding:34px;
  color:var(--dbp-text);
  box-shadow:0 25px 60px rgba(0,0,0,.30);
}
.dbp-card:before{
  content:"";
  position:absolute;
  width:280px;height:280px;
  right:-155px;top:-175px;
  border:1px solid rgba(255,85,188,.13);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,85,188,.045),0 0 0 68px rgba(255,85,188,.025);
  pointer-events:none;
}
.dbp-head{position:relative;z-index:1;margin-bottom:30px}
.dbp-kicker{
  display:inline-block;
  color:var(--dbp-lime);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.dbp-head h2{
  margin:8px 0 8px;
  color:var(--dbp-text);
  font-size:clamp(2.15rem,5vw,3.4rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.dbp-head p{margin:0;color:var(--dbp-muted);line-height:1.55}

.dbp-grid{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.dbp-full{grid-column:1/-1}

.dbp-section-title{
  margin-bottom:14px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.dbp-section-title strong{font-size:1rem;color:var(--dbp-text)}
.dbp-section-title span{font-size:.88rem;color:var(--dbp-muted);font-weight:500}

.dbp-native-qty{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

.dbp-qty-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.dbp-qty-card{
  all:unset;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:150px;
  padding:18px;
  border:1px solid var(--dbp-line);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  color:var(--dbp-text);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.dbp-qty-card:hover,
.dbp-qty-card:focus{
  border-color:rgba(255,85,188,.45);
  background:rgba(255,20,147,.055);
  transform:translateY(-2px);
  outline:none;
}
.dbp-qty-card.is-active{
  border-color:var(--dbp-lime);
  background:
    linear-gradient(145deg,rgba(145,255,114,.10),rgba(255,255,255,.035));
  box-shadow:0 0 0 1px rgba(145,255,114,.11),0 14px 30px rgba(0,0,0,.18);
}
.dbp-card-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.dbp-check{
  display:none;
  width:24px;height:24px;
  border-radius:50%;
  place-items:center;
  background:var(--dbp-lime);
  color:var(--dbp-ink);
  font-size:13px;
  font-weight:950;
}
.dbp-qty-card.is-active .dbp-check{display:grid}
.dbp-qty-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  color:var(--dbp-lime);
  background:rgba(145,255,114,.10);
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.07em;
}
.dbp-qty-badge-parcel{
  color:var(--dbp-hot);
  background:rgba(255,20,147,.10);
}
.dbp-qty-card strong{
  color:var(--dbp-text);
  font-size:1rem;
  letter-spacing:.01em;
}
.dbp-qty-card b{
  color:var(--dbp-lime);
  font-size:2rem;
  line-height:1;
}
.dbp-qty-card small{
  color:var(--dbp-muted);
  font-size:.82rem;
  font-weight:600;
}

.dbp-grid label{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  color:var(--dbp-text);
  font-weight:800;
}
.dbp-brand-field{
  padding:0;
  background:none;
  border:0;
}
.dbp-grid input,
.dbp-grid select,
.dbp-grid textarea{
  width:100%;
  min-height:50px;
  padding:13px 14px;
  border:1px solid rgba(255,85,188,.28);
  border-radius:13px;
  background:#130011;
  color:var(--dbp-text);
  font:inherit;
  outline:none;
  box-shadow:none;
}
.dbp-grid textarea{min-height:92px;resize:vertical}
.dbp-grid input::placeholder,
.dbp-grid textarea::placeholder{color:#8f6e86}
.dbp-grid input:focus,
.dbp-grid select:focus,
.dbp-grid textarea:focus{
  border-color:var(--dbp-lime);
  box-shadow:0 0 0 3px rgba(145,255,114,.075);
}
.dbp-grid select option{background:#160013;color:var(--dbp-text)}

.dbp-subgrid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:20px 0 0;
  margin-top:2px;
  border-top:1px solid var(--dbp-line);
}
.dbp-subgrid .dbp-full{grid-column:1/-1}

.dbp-search-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}
.dbp-secondary-button{
  min-width:100px;
  min-height:50px;
  padding:0 18px;
  border:0;
  border-radius:13px;
  background:var(--dbp-lime)!important;
  color:var(--dbp-ink)!important;
  font-weight:950;
  cursor:pointer;
  box-shadow:none!important;
}
.dbp-secondary-button:hover{filter:brightness(1.03)}

.dbp-search-results{
  margin-top:-4px;
  overflow:hidden;
  border:1px solid rgba(255,85,188,.22);
  border-radius:13px;
  background:#160013;
}
.dbp-search-item{
  display:block;
  width:100%;
  padding:12px 14px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
  border-radius:0!important;
  background:#160013!important;
  color:var(--dbp-text)!important;
  text-align:left;
  font-weight:600!important;
  box-shadow:none!important;
}
.dbp-search-item:hover{background:#260020!important}
.dbp-search-item:last-child{border-bottom:0!important}

#dbp-map{
  height:330px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  overflow:hidden;
  background:#150017;
  box-shadow:none;
}
.leaflet-control-zoom a{
  background:#21001d!important;
  color:var(--dbp-lime)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip{
  background:#21001d;
  color:var(--dbp-text);
}

.dbp-help{
  display:block;
  margin-top:7px;
  color:#a9889e;
  font-size:.82rem;
  font-weight:500;
  line-height:1.45;
}

.dbp-mix18{
  padding:20px;
  border:1px solid var(--dbp-line);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.dbp-mix-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.dbp-mix-grid label{
  padding:12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}
.dbp-mix-counter{
  margin-top:12px;
  padding:11px 13px;
  border-radius:12px;
  background:#130011;
  color:var(--dbp-muted);
}
.dbp-mix-counter strong{color:var(--dbp-lime)}

.dbp-parcel-info{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border:1px solid rgba(145,255,114,.15);
  border-radius:15px;
  background:rgba(145,255,114,.045);
}
.dbp-parcel-info strong{color:var(--dbp-lime)}
.dbp-parcel-info span{color:var(--dbp-muted);font-size:.9rem}

.dbp-summary{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr 1.15fr;
  gap:12px;
  margin:26px 0 16px;
  padding-top:20px;
  border-top:1px solid var(--dbp-line);
}
.dbp-summary>div{
  min-height:78px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.dbp-summary span{
  color:#a98aa0;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dbp-summary strong{
  margin-top:5px;
  color:var(--dbp-text);
  font-size:1.25rem;
}
.dbp-total-row{
  border-color:rgba(145,255,114,.24)!important;
  background:rgba(145,255,114,.08)!important;
}
.dbp-total-row span{color:#b8dbab}
.dbp-total-row strong{color:var(--dbp-lime);font-size:1.55rem}

.dbp-button{
  position:relative;z-index:1;
  width:100%;
  min-height:54px;
  padding:14px 20px;
  border:0;
  border-radius:14px;
  background:var(--dbp-lime)!important;
  color:var(--dbp-ink)!important;
  font-size:16px;
  font-weight:950;
  cursor:pointer;
  box-shadow:none!important;
}
.dbp-button:hover{filter:brightness(1.04)}
.dbp-button:disabled{opacity:.55;cursor:wait}

.dbp-success,.dbp-error{
  position:relative;z-index:1;
  margin-top:14px;
  padding:13px 15px;
  border-radius:13px;
  line-height:1.45;
}
.dbp-success{
  color:#c5ffb1;
  background:rgba(145,255,114,.07);
  border:1px solid rgba(145,255,114,.18);
}
.dbp-error{
  color:#ffbedf;
  background:rgba(255,85,188,.07);
  border:1px solid rgba(255,85,188,.18);
}

/* Blindaje contra estilos de botones del theme */
.dbp-wrap .dbp-qty-card,
.dbp-wrap .dbp-qty-card:hover,
.dbp-wrap .dbp-qty-card:focus{
  border-radius:18px!important;
  box-shadow:inherit;
}
.dbp-wrap .dbp-qty-card b{color:var(--dbp-lime)!important}
.dbp-wrap .dbp-qty-card strong{color:var(--dbp-text)!important}

@media(max-width:760px){
  .dbp-card{padding:22px;border-radius:22px}
  .dbp-grid{grid-template-columns:1fr}
  .dbp-full{grid-column:auto}
  .dbp-qty-cards{grid-template-columns:1fr}
  .dbp-qty-card{min-height:116px}
  .dbp-subgrid,.dbp-mix-grid{grid-template-columns:1fr}
  .dbp-subgrid .dbp-full{grid-column:auto}
  .dbp-summary{grid-template-columns:1fr 1fr}
  .dbp-total-row{grid-column:1/-1}
  #dbp-map{height:285px}
}
@media(max-width:520px){
  .dbp-card{padding:17px;border-radius:18px}
  .dbp-head h2{font-size:2rem}
  .dbp-search-row{grid-template-columns:1fr}
  .dbp-secondary-button{width:100%}
  .dbp-summary{grid-template-columns:1fr}
  .dbp-total-row{grid-column:auto}
  .dbp-grid input,.dbp-grid select,.dbp-grid textarea,.dbp-button{font-size:16px}
}
