/*Custom Element Kit Table */
.custom-popular,
.custom-standard,
.custom-advanced {
    font-size: 1.9rem !important;
}
.dbpp-finance,
.dbpp-trust-mini,
.dbpp-gold,
.dbpp-con {
  width: 100% !important;
  flex: 0 0 100% !important;
}
/* Fix layout variante prodotto */
.dbpp-vars {
  flex: 1 1 auto !important;
  width: auto !important;
}
.dbpp-attr-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}
.dbpp-attr-sel {
  flex: 1 1 auto !important;
  min-width: 100px !important;
}
/* DB-PD-V5 */
#db-pd-v5{font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;color:#1d1d1f;background:#f5f5f7;border-radius:16px;overflow:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;display:block;width:100%;}
#db-pd-v5 *{box-sizing:border-box;}
#db-pd-v5 a{color:#0096DB;text-decoration:none;}
#db-pd-v5 img{max-width:100%;display:block;}
#db-pd-v5 table,#db-pd-v5 tr,#db-pd-v5 td{background:transparent!important;}
#db-pd-v5 .v5-lbl{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0096DB;margin-bottom:8px;}
#db-pd-v5 .v5-h2{display:block;font-size:clamp(22px,3vw,32px);font-weight:700;letter-spacing:-.022em;line-height:1.1;color:#1d1d1f;margin:0 0 10px;}
#db-pd-v5 .v5-body{font-size:15px;color:#6e6e73;line-height:1.65;max-width:740px;}
#db-pd-v5 .v5-hero{position:relative;background:linear-gradient(160deg,#1d1d1f 0%,#2c2c2e 60%,#1d1d1f 100%);overflow:hidden;padding:48px 44px 52px;}
#db-pd-v5 .v5-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 10% 50%,rgba(0,150,219,.18) 0%,transparent 60%);pointer-events:none;}
#db-pd-v5 .v5-hero-inner{position:relative;z-index:1;}
#db-pd-v5 .v5-hero-kicker{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#0096DB;border:.5px solid rgba(0,150,219,.4);border-radius:999px;padding:4px 14px;margin-bottom:20px;}
#db-pd-v5 .v5-hero-title{display:block;font-size:clamp(26px,4.5vw,46px);font-weight:700;letter-spacing:-.028em;line-height:1.08;color:#fff;margin:0 0 16px;}
#db-pd-v5 .v5-hero-sub{font-size:15px;color:rgba(255,255,255,.65);line-height:1.65;max-width:640px;padding-bottom:12px;}
#db-pd-v5 .v5-kpi{background:#0096DB;}
#db-pd-v5 .v5-kpi table{width:100%;border-collapse:collapse;table-layout:fixed;}
#db-pd-v5 .v5-kpi td{padding:20px 12px;text-align:center;border-right:.5px solid rgba(255,255,255,.2);vertical-align:middle;}
#db-pd-v5 .v5-kpi td:last-child{border-right:none;}
#db-pd-v5 .v5-kpi-num{display:block;font-size:clamp(22px,3vw,36px);font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1;}
#db-pd-v5 .v5-kpi-unit{font-size:13px;font-weight:500;color:rgba(255,255,255,.8);}
#db-pd-v5 .v5-kpi-lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:5px;}
#db-pd-v5 .v5-img-sec{background:#fff;border-bottom:.5px solid #d2d2d7;padding:36px 44px;}
#db-pd-v5 .v5-img-wrap{border-radius:16px;overflow:hidden;border:.5px solid #e8e8ed;background:#fafafa;text-align:center;}
#db-pd-v5 .v5-img-wrap img{max-height:400px;width:auto;margin:0 auto;object-fit:contain;padding:24px;}
#db-pd-v5 .v5-video-sec{background:#f5f5f7;border-bottom:.5px solid #d2d2d7;padding:40px 44px;}
#db-pd-v5 .v5-video-wrap{position:relative;border-radius:16px;overflow:hidden;border:.5px solid #d2d2d7;background:#1d1d1f;aspect-ratio:16/9;}
#db-pd-v5 .v5-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
#db-pd-v5 .v5-feature{position:relative;overflow:hidden;border-bottom:.5px solid #d2d2d7;}
#db-pd-v5 .v5-feature-img{width:100%;height:420px;object-fit:cover;display:block;filter:brightness(.5);}
#db-pd-v5 .v5-feature-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:40px 44px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 60%,transparent 100%);}
#db-pd-v5 .v5-feature-lbl{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,150,219,.85);margin-bottom:10px;}
#db-pd-v5 .v5-feature-title{display:block;font-size:clamp(22px,3.5vw,36px);font-weight:700;letter-spacing:-.025em;line-height:1.1;color:#fff;margin-bottom:12px;}
#db-pd-v5 .v5-feature-desc{font-size:15px;color:rgba(255,255,255,.75);line-height:1.65;max-width:600px;}
#db-pd-v5 .v5-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px;}
#db-pd-v5 .v5-feat-card{background:#2c2c2e;border:.5px solid rgba(0,150,219,.2);border-radius:16px;padding:28px 24px;}
#db-pd-v5 .v5-feat-icon{width:48px;height:48px;background:rgba(0,150,219,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
#db-pd-v5 .v5-feat-icon svg{width:24px;height:24px;stroke:#0096DB;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
#db-pd-v5 .v5-feat-lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,150,219,.8);margin-bottom:8px;}
#db-pd-v5 .v5-feat-title{display:block;font-size:clamp(16px,2.2vw,22px);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:#fff;margin-bottom:10px;}
#db-pd-v5 .v5-feat-desc{font-size:13.5px;color:rgba(255,255,255,.6);line-height:1.65;}
#db-pd-v5 .v5-sec-white{background:#fff;border-bottom:.5px solid #d2d2d7;padding:44px;}
#db-pd-v5 .v5-sec-gray{background:#f5f5f7;border-bottom:.5px solid #d2d2d7;padding:44px;}
#db-pd-v5 .v5-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;}
#db-pd-v5 .v5-card{background:#fff;border:.5px solid #d2d2d7;border-radius:16px;padding:22px 20px;}
#db-pd-v5 .v5-card-icon{width:40px;height:40px;background:#f5f5f7;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
#db-pd-v5 .v5-card-icon svg{width:20px;height:20px;stroke:#6e6e73;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
#db-pd-v5 .v5-card-title{display:block;font-size:13.5px;font-weight:600;color:#1d1d1f;margin-bottom:6px;letter-spacing:-.01em;}
#db-pd-v5 .v5-card-desc{font-size:12.5px;color:#6e6e73;line-height:1.6;}
#db-pd-v5 .v5-seo-text{font-size:14px;color:#3d3d3f;line-height:1.8;max-width:820px;margin-top:16px;}
#db-pd-v5 .v5-seo-text strong{color:#1d1d1f;font-weight:600;}
#db-pd-v5 .v5-specs{margin-top:24px;border:.5px solid #d2d2d7;border-radius:16px;overflow:hidden;}
#db-pd-v5 .v5-spec-group{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0096DB;padding:10px 16px;background:#f0f9ff;border-bottom:.5px solid #d2d2d7;display:block;}
#db-pd-v5 .v5-spec-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 16px;border-bottom:.5px solid #f0f0f0;font-size:12.5px;}
#db-pd-v5 .v5-spec-row:last-child{border-bottom:none;}
#db-pd-v5 .v5-spec-row:nth-child(even){background:#fafafa;}
#db-pd-v5 .v5-spec-k{color:#6e6e73;}
#db-pd-v5 .v5-spec-v{font-weight:600;color:#1d1d1f;text-align:right;max-width:55%;}
#db-pd-v5 .v5-box-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:20px;}
#db-pd-v5 .v5-box-item{background:#fff;border:.5px solid #d2d2d7;border-radius:10px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;}
#db-pd-v5 .v5-box-icon{width:32px;height:32px;background:#f5f5f7;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
#db-pd-v5 .v5-box-icon svg{width:15px;height:15px;stroke:#6e6e73;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
#db-pd-v5 .v5-box-name{font-size:13px;font-weight:500;color:#1d1d1f;line-height:1.4;}
#db-pd-v5 .v5-box-note{font-size:11.5px;color:#6e6e73;margin-top:2px;}
#db-pd-v5 .v5-uc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;}
#db-pd-v5 .v5-uc-card{background:#fff;border:.5px solid #d2d2d7;border-radius:16px;padding:20px 18px;}
#db-pd-v5 .v5-uc-icon{width:40px;height:40px;background:#f5f5f7;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
#db-pd-v5 .v5-uc-icon svg{width:20px;height:20px;stroke:#6e6e73;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
#db-pd-v5 .v5-uc-title{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:4px;}
#db-pd-v5 .v5-uc-desc{font-size:12px;color:#6e6e73;line-height:1.55;}
#db-pd-v5 details.v5-faq{background:#fff;border:.5px solid #d2d2d7;border-radius:10px;margin-bottom:8px;overflow:hidden;}
#db-pd-v5 details.v5-faq summary{font-size:14px;font-weight:500;color:#1d1d1f;padding:14px 48px 14px 18px;cursor:pointer;list-style:none;display:block;position:relative;}
#db-pd-v5 details.v5-faq summary::after{content:'+';position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:300;color:#0096DB;line-height:1;}
#db-pd-v5 details[open].v5-faq summary::after{content:'-';}
#db-pd-v5 .v5-faq-body{padding:0 18px 16px;font-size:13.5px;color:#6e6e73;line-height:1.7;border-top:.5px solid #f0f0f0;}
#db-pd-v5 .v5-cta{background:#1d1d1f;padding:32px 44px;}
#db-pd-v5 .v5-cta-title{display:block;font-size:16px;font-weight:600;color:#fff;margin-bottom:6px;}
#db-pd-v5 .v5-cta-sub{font-size:13.5px;color:rgba(255,255,255,.55);margin-bottom:20px;line-height:1.55;}
#db-pd-v5 .v5-badge{display:inline-block;font-size:11px;font-weight:500;color:#0096DB;background:rgba(0,150,219,.1);border:.5px solid rgba(0,150,219,.3);border-radius:999px;padding:5px 12px;margin:3px;}
/* v5: override degli stili inline presenti nel contenuto prodotto (font Apple, raggi fuori scala) */
#db-pd-v5[style]{font-family:Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif!important;border-radius:16px!important;background:#f5f5f7!important;color:#1d1d1f!important;}
#db-pd-v5 .v5-video-wrap,#db-pd-v5 .v5-video-wrap iframe{border-radius:16px!important;}
@media(max-width:640px){#db-pd-v5 .v5-hero{padding:32px 24px 36px;}#db-pd-v5 .v5-sec-white,#db-pd-v5 .v5-sec-gray,#db-pd-v5 .v5-img-sec,#db-pd-v5 .v5-video-sec{padding:28px 20px;}#db-pd-v5 .v5-feat-grid,#db-pd-v5 .v5-cards,#db-pd-v5 .v5-uc-grid,#db-pd-v5 .v5-box-grid{grid-template-columns:1fr;}#db-pd-v5 .v5-feature-img{height:260px;}#db-pd-v5 .v5-feature-overlay{padding:24px 20px;}#db-pd-v5 .v5-kpi td{padding:14px 8px;}#db-pd-v5 .v5-cta{padding:24px 20px;}}
/* Fix varianti prodotto - dbpp-vars wrap */
.dbpp-btns{flex-wrap:wrap!important;}
.dbpp-vars{width:100%!important;flex:0 0 100%!important;margin-bottom:10px!important;}
/* ── Rimuovi padding laterale blocco descrizione lunga ── */
.single-product .wc-tab {
  padding: 0 !important;
}
 
/* ── v5 feature: sezione nascosta finché non ci sono le immagini definitive.
   Per riattivarla eliminare questo blocco. ── */
#db-pd-v5 .v5-feature {
  display: none !important;
}
 
/* ── v5 hero: rimuovi padding-bottom verso KPI strip ── */
.v5-hero {
  padding-bottom: 0 !important;
}
/* v5 custom classes for DB-DSS150 Dock Security System */
/* Dock Integration */
#db-pd-v5 .v5-int-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:8px;margin-top:24px;}
#db-pd-v5 .v5-int-row{background:#fff;border:.5px solid #d2d2d7;border-radius:10px;padding:16px 20px;display:flex;align-items:flex-start;gap:16px;}
#db-pd-v5 .v5-int-icon{flex-shrink:0;width:36px;height:36px;background:#f0f9ff;border-radius:10px;display:flex;align-items:center;justify-content:center;}
#db-pd-v5 .v5-int-icon svg{width:18px;height:18px;stroke:#0096DB;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
#db-pd-v5 .v5-int-title{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:3px;}
#db-pd-v5 .v5-int-desc{font-size:12.5px;color:#6e6e73;line-height:1.55;}
 
/* Cloud Management */
#db-pd-v5 .v5-cloud-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px;}
#db-pd-v5 .v5-cloud-card{background:#fff;border:.5px solid #d2d2d7;border-radius:10px;padding:18px 16px;}
#db-pd-v5 .v5-cloud-icon{width:36px;height:36px;background:#f0f9ff;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
#db-pd-v5 .v5-cloud-icon svg{width:17px;height:17px;stroke:#0096DB;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
#db-pd-v5 .v5-cloud-title{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:4px;}
#db-pd-v5 .v5-cloud-desc{font-size:12px;color:#6e6e73;line-height:1.55;}
 
/* Alarm */
#db-pd-v5 .v5-alarm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px;}
#db-pd-v5 .v5-alarm-card{background:#fff;border:.5px solid #d2d2d7;border-radius:10px;padding:16px 16px;display:flex;align-items:flex-start;gap:12px;}
#db-pd-v5 .v5-alarm-dot{flex-shrink:0;width:8px;height:8px;background:#0096DB;border-radius:50%;margin-top:5px;}
#db-pd-v5 .v5-alarm-title{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:3px;}
#db-pd-v5 .v5-alarm-desc{font-size:12px;color:#6e6e73;line-height:1.5;}
 
/* Mobile responsive max 640px */
@media(max-width:640px){
  #db-pd-v5 .v5-cloud-grid,
  #db-pd-v5 .v5-alarm-grid{grid-template-columns:1fr;}
}
/* === FIX v5: immagine sezione a piena larghezza === */
#db-pd-v5 .v5-img-sec {
    padding: 0 !important;
    background: transparent !important;
}
#db-pd-v5 .v5-img-wrap {
    max-width: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    overflow: visible !important;
}
#db-pd-v5 .v5-img-wrap img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    max-width: 100% !important;
    object-fit: unset !important;
    display: block !important;
}

/* Product page template DroneBase (estratto da single-product.php) */
/* ============================================================
   DRONEBASE PRODUCT PAGE — Light Satin / Apple-Style
   ============================================================ */
:root {
  --acc:       #0096DB;
  --acc2:      #0096DB;
  --acc-dim:   rgba(0,150,219,.08);
  --hero-bg:   #ecedf2;
  --trust-bg:  #f0f0f5;
  --card-bg:   #ffffff;
  --card-bg2:  rgba(255,255,255,.75);
  --text-h:    #1d1d1f;
  --text-b:    #48484a;
  --text-s:    #86868b;
  --border:    rgba(0,0,0,.09);
  --border2:   rgba(0,0,0,.06);
  --g100: #f5f5f7;
  --g200: #e8e8ed;
  --white: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }

.dbpp {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--text-h);
  -webkit-font-smoothing: antialiased;
}
.dbpp * { box-sizing: border-box; }
.dbpp .woocommerce-breadcrumb { display: none !important; }

/* ══ HERO ══ */
.dbpp-hero {
  background:
    radial-gradient(ellipse 70% 65% at 72% 40%, rgba(255,255,255,.92) 0%, transparent 58%),
    radial-gradient(ellipse 45% 50% at 10% 80%, rgba(0,150,219,.06) 0%, transparent 60%),
    radial-gradient(ellipse 55% 40% at 90% 90%, rgba(0,150,219,.04) 0%, transparent 55%),
    var(--hero-bg);
  position: relative; overflow: hidden;
  width: 100vw; margin-left: calc(50% - 50vw);
}
.dbpp-hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
}
.dbpp-hero-inner { max-width:1440px; margin:0 auto; position:relative; z-index:2; }
.dbpp-hero-top { padding: 48px 64px 20px; }
.dbpp-hero-top .dbpp-eyebrow { font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--acc); margin-bottom:12px; }
.dbpp-hero-top .dbpp-title { font-size:clamp(2rem,3.5vw,3rem); font-weight:700; letter-spacing:-.04em; line-height:1.04; color:var(--text-h); margin:0 0 8px; }
.dbpp-hero-shortdesc { font-size:15px; color:var(--text-b); line-height:1.72; max-width:860px; }
.dbpp-hero-shortdesc p { font-size:15px; color:var(--text-b); line-height:1.72; margin-bottom:10px; }
.dbpp-hero-shortdesc p:last-child { margin-bottom:0; }
.dbpp-hero-shortdesc strong { color:var(--text-h); }
.dbpp-hero-shortdesc ul { padding-left:18px; margin:0 0 10px; }
.dbpp-hero-shortdesc li { font-size:14px; color:var(--text-b); line-height:1.65; margin-bottom:4px; }
.dbpp-hero-cols { display:grid; grid-template-columns:1fr 1fr; align-items:start; }

/* ── LIGHTBOX NOLEGGIO ── */
.dbpp-lbx {
  display: none;
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  align-items: center; justify-content: center;
  padding: 20px;
}
.dbpp-lbx.open { display: flex; }
.dbpp-lbx-box {
  background: #fff;
  border-radius: 16px;
  padding: 36px 40px;
  max-width: 520px;
  width: 100%;
  position: relative;
  box-shadow: 0 24px 64px rgba(0,0,0,.25);
}
.dbpp-lbx-close {
  position: absolute; top: 16px; right: 18px;
  background: none; border: none;
  font-size: 1.2rem; color: #86868b;
  cursor: pointer; line-height: 1;
  transition: color .15s;
}
.dbpp-lbx-close:hover { color: #1d1d1f; }
.dbpp-lbx-eyebrow {
  font-size: 10px; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: #0096DB; margin-bottom: 8px;
}
.dbpp-lbx-title {
  font-size: 1.4rem; font-weight: 700;
  letter-spacing: -.03em; color: #1d1d1f;
  margin-bottom: 20px; line-height: 1.15;
}
.dbpp-lbx-steps {
  list-style: none; padding: 0; margin: 0 0 24px;
}
.dbpp-lbx-steps li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 13px; color: #48484a; line-height: 1.55;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f5;
}
.dbpp-lbx-steps li:last-child { border-bottom: none; }
.dbpp-lbx-num {
  width: 24px; height: 24px; border-radius: 50%;
  background: #0096DB; color: #fff;
  font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}
.dbpp-lbx-cta {
  display: block; background: #1d1d1f; color: #fff !important;
  text-decoration: none !important; text-align: center;
  padding: 13px 20px; border-radius: 10px;
  font-size: 13px; font-weight: 700; letter-spacing: .02em;
  transition: background .18s;
}
.dbpp-lbx-cta:hover { background: #2c2c2e; color: #fff !important; }

/* ── GALLERY ── */
.dbpp-gal { padding:48px 24px 48px 40px; display:flex; align-items:center; justify-content:center; position:relative; }
.dbpp-gal::before {
  content:''; position:absolute; left:50%; bottom:10%; transform:translateX(-50%);
  width:55%; height:40%; background:radial-gradient(ellipse,rgba(0,150,219,.12) 0%,transparent 70%);
  filter:blur(40px); pointer-events:none;
}
.dbpp-gal-wrap { position:relative; width:100%; max-width:680px; aspect-ratio:1/1; cursor:zoom-in; border-radius:16px; overflow:hidden; }
.dbpp-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:20;
  width:40px; height:40px; background:rgba(255,255,255,.82); backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.9); border-radius:50%;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 2px 12px rgba(0,0,0,.12); transition:background .18s,transform .15s,box-shadow .18s;
  font-size:16px; color:var(--text-h); user-select:none; -webkit-user-select:none;
}
.dbpp-arrow:hover { background:rgba(255,255,255,.96); transform:translateY(-50%) scale(1.08); box-shadow:0 4px 18px rgba(0,0,0,.16); }
.dbpp-arrow-prev { left:10px; }
.dbpp-arrow-next { right:10px; }
.dbpp-arrow.hidden { opacity:0; pointer-events:none; }
.dbpp-gal-wrap #dbMainImg {
  width:100%; height:100%; object-fit:contain; display:block; position:relative; z-index:1;
  filter:drop-shadow(0 20px 48px rgba(0,0,0,.14)) drop-shadow(0 4px 12px rgba(0,0,0,.08));
  transition:opacity .22s;
}
.dbpp-thumbs {
  position:absolute; bottom:0; left:0; right:0; display:flex; gap:6px;
  padding:10px 12px 13px;
  background:linear-gradient(to top,rgba(220,220,228,.55) 0%,transparent 100%);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  overflow-x:auto; scrollbar-width:none; z-index:10;
}
.dbpp-thumbs::-webkit-scrollbar { display:none; }
.dbpp-thumb {
  width:52px; height:52px; border-radius:10px; overflow:hidden; cursor:pointer; flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.8); box-shadow:0 1px 4px rgba(0,0,0,.1);
  transition:border-color .18s,transform .14s,box-shadow .18s; background:#fff;
}
.dbpp-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.dbpp-thumb:hover { border-color:var(--acc); transform:scale(1.06); box-shadow:0 2px 10px rgba(0,150,219,.2); }
.dbpp-thumb.active { border-color:var(--acc); box-shadow:0 0 0 2px rgba(0,150,219,.25); }

/* ── SIDEBAR ── */
.dbpp-side { padding:40px 40px 48px 24px; max-width:100%; overflow:visible; display:flex; flex-direction:column; }
.dbpp-eyebrow { font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--acc); margin-bottom:14px; }
.dbpp-sep { display:none; }

/* ── PREZZO ──
   Layout flex inline: ins + del barrato + suffix "IVA inclusa"
   tutti sulla stessa riga, sia con sconto che senza. Identico
   spaziamento verticale tra prezzo e riga "Fatturazione" in
   entrambi i casi.
*/
.dbpp-price-wrap { margin:0 0 6px; }
.dbpp-price-wrap .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0;
  row-gap: 0;
  margin: 0;
  padding: 0;
}
.dbpp-price-wrap .woocommerce-Price-amount {
  font-size:2.5rem !important; font-weight:700 !important;
  letter-spacing:-.04em !important; color:var(--text-h) !important; line-height:1 !important;
}
.dbpp-price-wrap .woocommerce-Price-currencySymbol { font-size:1.2rem !important; vertical-align:super !important; }

/* Ordine: ins (prezzo finale grande) → del (barrato piccolo) → suffix "IVA inclusa".
   Tutti inline sulla stessa riga, niente flex-basis 100%. */
.dbpp-price-wrap .price ins,
.dbpp-price-wrap .price > .woocommerce-Price-amount {
  order: 1;
}
.dbpp-price-wrap .price del {
  order: 2;
  text-decoration: none;
  margin: 0 0 0 8px;
}
.dbpp-price-wrap .price .woocommerce-price-suffix {
  order: 3;
  display: inline-block !important;
  margin-left: 6px;
  font-size: 13px;
  color: var(--text-s);
  font-weight: 400;
  letter-spacing: 0;
}

/* Stile prezzo barrato (regular price) */
.dbpp-price-wrap del .woocommerce-Price-amount {
  font-size:0.95rem !important; font-weight:400 !important; color:var(--text-s) !important;
  letter-spacing:0 !important; line-height:1.3 !important;
  text-decoration:line-through !important;
  text-decoration-color:rgba(134,134,139,.55) !important; text-decoration-thickness:1.5px !important;
}
.dbpp-price-wrap del .woocommerce-Price-currencySymbol { font-size:0.7rem !important; vertical-align:baseline !important; }

/* Stile prezzo finale (ins, oppure amount nudo se non scontato) */
.dbpp-price-wrap ins { text-decoration:none !important; position:relative; }
.dbpp-price-wrap ins .woocommerce-Price-amount {
  font-size:2.5rem !important; font-weight:700 !important; color:var(--text-h) !important;
  letter-spacing:-.04em !important; line-height:1 !important;
}
.dbpp-price-wrap ins .woocommerce-Price-currencySymbol { font-size:1.2rem !important; vertical-align:super !important; }

/* ── IVA / FATTURAZIONE ── */
.dbpp-iva-fattura { font-size:12px; color:var(--text-s); margin-bottom:16px; line-height:1.5; }
.dbpp-iva-fattura a { color:var(--acc); text-decoration:underline; }

/* ── VARIATION SELECTOR ── */
.dbpp-vars { margin-bottom:12px; }
.dbpp-attr-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; flex-wrap:nowrap; }
.dbpp-attr-row:last-child { margin-bottom:0; }
.dbpp-attr-label { font-size:11px; font-weight:600; color:#86868b; text-transform:uppercase; letter-spacing:.06em; min-width:70px; flex-shrink:0; }
.dbpp-attr-sel { flex:1; min-width:180px; height:38px; border:1px solid #d2d2d7; border-radius:10px; padding:0 10px; font-size:14px; color:#1d1d1f; background:#fff; cursor:pointer; }
.dbpp-attr-sel:focus { outline:none; border-color:#0096DB; box-shadow:0 0 0 3px rgba(0,150,219,.15); }

/* ── DELIVERY LINE ──
   Tre varianti colore in funzione dello stock_status:
   - default (verde)             → instock
   - .is-backorder (arancione)   → onbackorder
   - .is-outofstock (rosso)      → outofstock
*/
.dbpp-delivery-line {
  font-size:14px; font-weight:700; color:#2c2c2e;
  margin:10px 0 10px; line-height:1.4;
  background:#d4edda; border:1.5px solid #a3d9a5;
  border-radius:10px; padding:10px 14px;
  min-height:0;
}
.dbpp-delivery-line strong { font-weight:800; color:#2c2c2e; }
.dbpp-delivery-line.is-backorder {
  background:#fff3cd; border-color:#ffc107; color:#664d03;
}
.dbpp-delivery-line.is-backorder strong { color:#664d03; }
.dbpp-delivery-line.is-outofstock {
  background:#f8d7da; border-color:#dc3545; color:#842029;
}
.dbpp-delivery-line.is-outofstock strong { color:#842029; }
.dbpp-cd { font-weight:800; font-variant-numeric:tabular-nums; color:#155724; }
.dbpp-cd-urgent { font-weight:800; color:#c40000; font-variant-numeric:tabular-nums; }

/* ── RENTAL STRIP ── */
.dbpp-rental-strip {
  background: #1d1d1f; color: #fff; border-radius: 10px; padding: 12px 16px;
  font-size: 13px; font-weight: 600; text-align: center; margin-bottom: 12px;
  margin-top: 8px;
  letter-spacing: .01em; cursor: pointer; transition: background .18s;
}
.dbpp-rental-strip:hover { background: #2c2c2e; }
.dbpp-rental-strip strong { color: #fff; font-weight: 700; }
#dbpp-rental-amt { color: #0096DB; font-weight: 800; font-size: 15px; }

/* ── QTY + CART ── */
.dbpp-cart-form { display:block; }
.dbpp-btn-row { display:flex !important; gap:8px !important; margin-bottom:0; margin-top:12px; }
.dbpp-btn-row .dbpp-cart-btn { flex:1 !important; width:auto !important; height:50px !important; font-size:13px !important; border-radius:10px !important; }
.dbpp-qty { display:flex !important; align-items:center !important; border:0.5px solid #d0d0d5 !important; border-radius:10px !important; background:#fafafa !important; overflow:hidden !important; height:50px !important; flex-shrink:0 !important; }
.dbpp-qty { display:flex !important; align-items:center !important; border:0.5px solid #d0d0d5 !important; border-radius:10px !important; background:#fafafa !important; overflow:hidden !important; height:38px !important; flex-shrink:0 !important; }
.dbpp-qty .dbpp-qb { width:38px !important; height:38px !important; min-width:38px !important; max-width:38px !important; padding:0 !important; border-radius:6px !important; flex:0 0 38px !important; display:flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; font-size:20px !important; font-weight:300 !important; background:#f5f5f7 !important; border:none !important; border-right:0.5px solid #d0d0d5 !important; color:#1d1d1f !important; cursor:pointer !important; }
.dbpp-qty .dbpp-qb:last-child { border-right:none !important; border-left:0.5px solid #d0d0d5 !important; }
.dbpp-qty .dbpp-qb:hover { background:#e8e8ed !important; }
.dbpp-qty .dbpp-qi { width:40px !important; text-align:center !important; font-size:14px !important; font-weight:600 !important; border:none !important; background:transparent !important; padding:0 !important; -moz-appearance:textfield !important; height:38px !important; }
.dbpp-qty .dbpp-qi::-webkit-inner-spin-button, .dbpp-qty .dbpp-qi::-webkit-outer-spin-button { -webkit-appearance:none !important; }
.dbpp-btn-row .dbpp-cart-btn {
  flex: 1 !important;
  width: auto !important;
  height: 50px !important;
  font-size: 13px !important;
  border-radius: 10px !important;
  background: #0096DB !important;
  color: #fff !important;
}

/* ── PAYPAL WRAPPER ── */
.dbpp-paypal-wrap { display: none; }
.dbpp-side.pp-var-locked .ppc-button-wrapper { display: none !important; }
.dbpp-side .ppc-button-wrapper { margin-top: 8px; border-radius: 10px; overflow: hidden; }

/* ── CONSULTANT ── */
.dbpp-con {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--border); border-radius: 10px;
  background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.07);
  margin-top: 10px;
}
.dbpp-con-info { flex: 1; font-size: 13px; color: var(--text-s); line-height: 1.4; }
.dbpp-con-info strong { color: var(--text-h); display: block; margin-bottom: 2px; font-size: 14px; font-weight: 700; }
.dbpp-con-btn {
  padding: 11px 20px;
  background: #0096DB; color: #fff; border: none;
  border-radius: 10px; font-size: 13px; font-weight: 700;
  text-decoration: none; cursor: pointer;
  transition: background .18s;
  white-space: nowrap; letter-spacing: .02em; font-family: inherit;
  display: flex; align-items: center; gap: 7px;
}
.dbpp-con-btn:hover { background: #0078b0; color: #fff; }
.dbpp-con-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; }

@keyframes dbRing {
  0%   { transform: rotate(0deg); }
  10%  { transform: rotate(15deg); }
  20%  { transform: rotate(-15deg); }
  30%  { transform: rotate(12deg); }
  40%  { transform: rotate(-10deg); }
  50%  { transform: rotate(6deg); }
  60%  { transform: rotate(-4deg); }
  70%  { transform: rotate(2deg); }
  80%  { transform: rotate(0deg); }
  100% { transform: rotate(0deg); }
}
.dbpp-con-btn svg {
  animation: dbRing 2s ease-in-out infinite;
  transform-origin: bottom center;
}

/* ── REGISTER BANNER ── */
.dbpp-register-banner { background:#1d1d1f; border-radius:10px; padding:16px; margin-top:10px; margin-bottom:4px; }
.dbpp-register-banner-title { font-size:11px; font-weight:800; color:#f5a623; text-transform:uppercase; letter-spacing:.1em; margin-bottom:5px; }
.dbpp-register-banner-desc { font-size:11px; color:#999; line-height:1.5; margin-bottom:12px; }
.dbpp-register-banner-cta { display:block; background:#f5a623; color:#1d1d1f !important; text-decoration:none !important; text-align:center; padding:9px 14px; border-radius:10px; font-size:12px; font-weight:800; letter-spacing:.04em; transition:background .18s; }
.dbpp-register-banner-cta:hover { background:#d4880a; color:#2c2c2e !important; }

/* ── FINANCE ROW ── */
.dbpp-finance-row { display:flex; gap:8px; margin-top:10px; }
.dbpp-finance-box { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:8px 10px; border:0.5px solid #e0e0e0; border-radius:10px; background:#fafafa; text-decoration:none; font-size:12px; font-weight:600; color:#0096DB; white-space:nowrap; }
.dbpp-finance-box svg { flex-shrink:0; fill:none; stroke:currentColor; }
.dbpp-finance-box:hover { background:#f0f0f0; }

/* ── TRUST MINI ── */
.dbpp-trust-mini { display:grid; grid-template-columns:1fr 1fr; gap:2px; border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:10px; }
.dbpp-tmi { background:rgba(255,255,255,.65); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:12px 14px; transition:background .2s,border-color .2s; border-left:2px solid transparent; }
.dbpp-tmi:hover { background:rgba(0,150,219,.04); border-left-color:var(--acc); }
.dbpp-tmi-row { display:flex; flex-direction:row; align-items:center; gap:10px; }
.dbpp-tmi-texts { display:flex; flex-direction:column; min-width:0; }
.dbpp-tmi-label { font-size:10px; font-weight:600; letter-spacing:.05em; color:var(--text-h); line-height:1.3; }
.dbpp-tmi-sub { font-size:9px; color:var(--text-s); margin-top:2px; }
.db-icon-sm { width:32px; height:32px; flex-shrink:0; background:rgba(0,0,0,.07); border-radius:10px; display:flex; align-items:center; justify-content:center; }
.db-icon-sm svg { width:15px; height:15px; stroke:#3d3d3f; fill:none; }

/* ── DJI GOLD ── */
.dbpp-gold { display:flex; align-items:center; gap:12px; padding:10px 14px; background:#fff; border-radius:10px; margin-bottom:0; border:1px solid var(--border); box-shadow:0 1px 4px rgba(0,0,0,.05); }
.dbpp-gold-img { width:56px; height:56px; object-fit:contain; flex-shrink:0; }
.dbpp-gold-txt { font-size:11px; color:var(--text-s); line-height:1.5; }
.dbpp-gold-txt strong { color:#92640a; display:block; font-size:11.5px; font-weight:600; }

/* ════════════════════════════════════════════════════════════
   UPSELL SECTION — DJI-style "Completa il tuo setup"
   ════════════════════════════════════════════════════════════ */
.dbpp-upsell-section {
  background: #fff;
  border-top: 1px solid var(--g200);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  position: relative;
}
.dbpp-upsell-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 64px 72px;
}
.dbpp-upsell-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.dbpp-upsell-head-left { flex: 1; min-width: 280px; }
.dbpp-upsell-eyebrow {
  font-size: 10px; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--acc); margin-bottom: 10px;
}
.dbpp-upsell-h2 {
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 700; letter-spacing: -.035em; line-height: 1.12;
  color: var(--text-h); margin: 0 0 8px;
}
.dbpp-upsell-sub {
  font-size: 14px; color: var(--text-s);
  line-height: 1.6; max-width: 560px; margin: 0;
}
.dbpp-upsell-nav {
  display: flex; gap: 8px; flex-shrink: 0;
}
.dbpp-upsell-arrow {
  width: 38px; height: 38px; border-radius: 50%;
  background: #f5f5f7; border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; color: var(--text-h);
  cursor: pointer; transition: background .15s, color .15s, opacity .15s;
  user-select: none;
}
.dbpp-upsell-arrow:hover { background: #e8e8ed; }
.dbpp-upsell-arrow:disabled,
.dbpp-upsell-arrow.disabled { opacity: .35; cursor: not-allowed; }

/* Grid / Scroll container */
.dbpp-upsell-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

/* Card */
.dbpp-up-card {
  background: #fafafa;
  border: 1px solid var(--g200);
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: border-color .2s, box-shadow .2s, background .2s;
  cursor: pointer;
}
.dbpp-up-card:hover {
  border-color: #0096db;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
  background: #fff;
}
.dbpp-up-card.selected {
  border-color: var(--acc);
  background: #fff;
  box-shadow: 0 0 0 1px var(--acc), 0 4px 20px rgba(0,150,219,.12);
}

/* Checkbox */
.dbpp-up-check {
  position: absolute;
  top: 12px; right: 12px;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #d2d2d7;
  display: flex; align-items: center; justify-content: center;
  z-index: 3;
  transition: background .15s, border-color .15s;
}
.dbpp-up-check svg {
  width: 14px; height: 14px;
  stroke: #fff; fill: none;
  stroke-width: 3; stroke-linecap: round; stroke-linejoin: round;
  opacity: 0;
  transition: opacity .15s;
}
.dbpp-up-card.selected .dbpp-up-check {
  background: var(--acc); border-color: var(--acc);
}
.dbpp-up-card.selected .dbpp-up-check svg { opacity: 1; }

/* Image */
.dbpp-up-img-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 12px;
  display: flex; align-items: center; justify-content: center;
}
.dbpp-up-img-wrap img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  display: block;
}
.dbpp-up-img-wrap.placeholder {
  background: linear-gradient(135deg, #f5f5f7, #e8e8ed);
}

/* Title */
.dbpp-up-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-h);
  line-height: 1.35;
  margin: 0 0 6px;
  min-height: 34px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Price */
.dbpp-up-price {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-h);
  letter-spacing: -.02em;
  margin: 0 0 4px;
  line-height: 1.2;
}
.dbpp-up-price del {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-s);
  text-decoration: line-through;
  margin-right: 6px;
}
.dbpp-up-price ins { text-decoration: none; }
.dbpp-up-price .woocommerce-Price-amount {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--text-h) !important;
}
.dbpp-up-price del .woocommerce-Price-amount {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--text-s) !important;
}
.dbpp-up-vat {
  font-size: 11px;
  color: var(--text-s);
  margin: 0 0 12px;
}

/* Variable: link instead of checkbox */
.dbpp-up-card.is-variable .dbpp-up-check { display: none; }
.dbpp-up-card.is-variable { cursor: default; }

/* Link footer card (Vai al prodotto / Vedi opzioni) */
.dbpp-up-options-link {
  display: block;
  margin-top: auto;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--acc);
  text-decoration: none !important;
  transition: background .15s, border-color .15s;
  position: relative;
  z-index: 2;
}
.dbpp-up-options-link:hover {
  background: var(--acc-dim);
  border-color: var(--acc);
}

/* Bundle Footer */
.dbpp-upsell-footer {
  margin-top: 28px;
  background: #f5f5f7;
  border: 1px solid var(--g200);
  border-radius: 16px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  transition: background .2s, border-color .2s;
}
.dbpp-upsell-footer.has-selection {
  background: linear-gradient(135deg, #f0f7ff, #fff);
  border-color: var(--acc);
}
.dbpp-upsell-footer-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dbpp-upsell-count {
  font-size: 12px;
  color: var(--text-s);
  font-weight: 500;
  letter-spacing: .02em;
}
.dbpp-upsell-count strong {
  color: var(--text-h);
  font-weight: 700;
}
.dbpp-upsell-total {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-h);
  letter-spacing: -.02em;
  line-height: 1.1;
}
.dbpp-upsell-bundle-btn,
.dbpp-upsell-section .dbpp-upsell-bundle-btn {
  background: #0096DB !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 26px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: background .18s, transform .12s, opacity .18s !important;
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-family: inherit !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
}
.dbpp-upsell-bundle-btn:hover:not(:disabled),
.dbpp-upsell-bundle-btn:focus:not(:disabled),
.dbpp-upsell-section .dbpp-upsell-bundle-btn:hover:not(:disabled),
.dbpp-upsell-section .dbpp-upsell-bundle-btn:focus:not(:disabled) {
  background: #0078B0 !important;
  color: #fff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.dbpp-upsell-bundle-btn:active:not(:disabled) { transform: scale(.98); }
.dbpp-upsell-bundle-btn:disabled,
.dbpp-upsell-section .dbpp-upsell-bundle-btn:disabled,
.dbpp-upsell-bundle-btn[disabled],
.dbpp-upsell-section .dbpp-upsell-bundle-btn[disabled] {
  background: #0096DB !important;
  color: #fff !important;
  cursor: not-allowed;
  opacity: .45 !important;
}
.dbpp-upsell-bundle-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }

/* Toast */
.dbpp-upsell-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(24px);
  background: #1d1d1f;
  color: #fff;
  padding: 14px 22px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 12px 36px rgba(0,0,0,.25);
  opacity: 0;
  transition: opacity .25s, transform .25s;
  z-index: 99998;
  pointer-events: none;
  display: flex;
  align-items: center;
  gap: 10px;
}
.dbpp-upsell-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.dbpp-upsell-toast svg { width: 18px; height: 18px; stroke: #4ade80; fill: none; stroke-width: 2.5; }

/* Mobile */
@media (max-width: 1024px) {
  .dbpp-upsell-inner { padding: 48px 24px 56px; }
  .dbpp-upsell-track { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 640px) {
  .dbpp-upsell-inner { padding: 40px 0 48px; }
  .dbpp-upsell-head { padding: 0 24px; margin-bottom: 22px; }
  .dbpp-upsell-nav { display: none; }
  .dbpp-upsell-track {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 4px 24px 16px;
    gap: 12px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .dbpp-upsell-track::-webkit-scrollbar { display: none; }
  .dbpp-up-card {
    flex: 0 0 65%;
    max-width: 65%;
    scroll-snap-align: start;
  }
  .dbpp-upsell-footer {
    margin: 22px 24px 0;
    padding: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .dbpp-upsell-bundle-btn { width: 100%; justify-content: center; }
}

/* ══ DESCRIPTION TABS ══ */
.dbpp-desc-section { background:var(--white); border-top:1px solid var(--g200); width:100vw; margin-left:calc(50% - 50vw); }
.dbpp-desc-inner { max-width:1440px; margin:0 auto; padding:0 64px; }
.dbpp-desc-inner ul.tabs.wc-tabs { display:flex; border-bottom:1px solid var(--g200); margin:0; padding:0; list-style:none; gap:0; flex-wrap:wrap; }
.dbpp-desc-inner ul.tabs.wc-tabs li { margin:0; padding:0; border:none; background:none; border-radius:0; }
.dbpp-desc-inner ul.tabs.wc-tabs li a { display:block; padding:20px 26px; font-size:13px; font-weight:500; color:var(--text-s); text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-1px; transition:color .18s; }
.dbpp-desc-inner ul.tabs.wc-tabs li.active a,
.dbpp-desc-inner ul.tabs.wc-tabs li a:hover { color:var(--text-h); border-bottom-color:var(--acc); }
.dbpp-desc-inner .woocommerce-Tabs-panel { padding:52px 0 64px; width:100%; max-width:100%; }
.dbpp-desc-inner .woocommerce-Tabs-panel h2 { font-size:28px; font-weight:700; letter-spacing:-.03em; line-height:1.08; color:var(--text-h); margin-bottom:18px; }
.dbpp-desc-inner .woocommerce-Tabs-panel h3 { font-size:18px; font-weight:600; color:var(--text-h); margin:26px 0 10px; }
.dbpp-desc-inner .woocommerce-Tabs-panel p { font-size:15px; color:var(--text-b); line-height:1.75; margin-bottom:14px; }
.dbpp-desc-inner .woocommerce-Tabs-panel ul { padding-left:18px; margin-bottom:14px; }
.dbpp-desc-inner .woocommerce-Tabs-panel li { font-size:14px; color:var(--text-b); line-height:1.7; }
.dbpp-desc-inner .woocommerce-Tabs-panel strong { color:var(--text-h); }
.dbpp-desc-inner .woocommerce-Tabs-panel table { width:100%; border-collapse:collapse; font-size:13px; margin:16px 0; }
.dbpp-desc-inner .woocommerce-Tabs-panel table th,
.dbpp-desc-inner .woocommerce-Tabs-panel table td { padding:11px 14px; border-bottom:1px solid var(--g200); text-align:left; }
.dbpp-desc-inner .woocommerce-Tabs-panel table th { background:var(--g100); font-weight:600; color:var(--text-h); width:38%; font-size:12px; letter-spacing:.02em; }
.dbpp-desc-inner .woocommerce-Tabs-panel,
.dbpp-desc-inner .woocommerce-Tabs-panel .electro-description,
.dbpp-desc-inner .woocommerce-Tabs-panel > * { max-width:100% !important; width:100% !important; }

/* ══ TRUST SECTION ══ */
.dbpp-trust-section {
  background:
    radial-gradient(ellipse 60% 55% at 15% 30%, rgba(255,255,255,.85) 0%, transparent 60%),
    radial-gradient(ellipse 45% 40% at 85% 70%, rgba(0,150,219,.05) 0%, transparent 55%),
    var(--trust-bg);
  border-top:1px solid var(--border); width:100vw; margin-left:calc(50% - 50vw);
}
.dbpp-trust-inner { max-width:1440px; margin:0 auto; padding:72px 64px; }
.dbpp-trust-eyebrow { font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--acc); margin-bottom:10px; }
.dbpp-trust-heading { font-size:30px; font-weight:700; letter-spacing:-.03em; line-height:1.1; color:var(--text-h); margin-bottom:40px; }
.dbpp-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.dbpp-tc { background:rgba(255,255,255,.8); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.9); border-radius:16px; padding:28px 22px; transition:transform .22s,box-shadow .22s,border-color .22s; border-top:2px solid transparent; box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.04); display:flex; flex-direction:column; }
.dbpp-tc:hover { transform:translateY(-3px); box-shadow:0 4px 24px rgba(0,0,0,.1); border-top-color:var(--acc); }
.dbpp-tc-num { font-size:9px; font-weight:600; letter-spacing:.12em; color:rgba(0,150,219,.55); text-transform:uppercase; margin-bottom:14px; }
.dbpp-tc-title { font-size:13.5px; font-weight:600; color:var(--text-h); letter-spacing:-.02em; margin-bottom:7px; }
.dbpp-tc-desc { font-size:12px; color:var(--text-s); line-height:1.65; }
.db-icon-tc { width:40px; height:40px; flex-shrink:0; background:rgba(0,0,0,.06); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
.db-icon-tc svg { width:18px; height:18px; stroke:#3d3d3f; fill:none; }

/* ── ZOOM ── */
.dbpp-zoom { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.82); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); align-items:center; justify-content:center; cursor:zoom-out; }
.dbpp-zoom.open { display:flex; }
.dbpp-zoom img { max-width:90vw; max-height:88vh; object-fit:contain; border-radius:10px; box-shadow:0 32px 80px rgba(0,0,0,.6); }
.dbpp-zoom-close { position:absolute; top:20px; right:26px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.7); width:36px; height:36px; border-radius:50%; font-size:1rem; cursor:pointer; line-height:1; display:flex; align-items:center; justify-content:center; transition:all .15s; }
.dbpp-zoom-close:hover { background:rgba(255,255,255,.22); color:#fff; }

/* ── SHORTDESC ── */
.dbpp-hero-shortdesc-wrap { padding:0 64px 32px; }
.dbpp-hero-shortdesc-wrap .dbpp-hero-shortdesc { max-width:100%; font-size:15px; color:var(--text-b); line-height:1.72; }
.dbpp-hero-shortdesc-wrap .dbpp-hero-shortdesc p { font-size:15px; color:var(--text-b); line-height:1.72; margin-bottom:10px; }
.dbpp-hero-shortdesc-wrap .dbpp-hero-shortdesc p:last-child { margin-bottom:0; }
.dbpp-hero-shortdesc-wrap .dbpp-hero-shortdesc strong { color:var(--text-h); }
.dbpp-hero-shortdesc-wrap .dbpp-hero-shortdesc ul { padding-left:18px; margin:0 0 10px; }
.dbpp-hero-shortdesc-wrap .dbpp-hero-shortdesc li { font-size:14px; color:var(--text-b); line-height:1.65; margin-bottom:4px; }

/* ── KEYFRAMES ── */
@keyframes dbPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(34,197,94,.5); }
  60%     { box-shadow:0 0 0 7px rgba(34,197,94,0); }
}

/* ── MOBILE ── */
@media (max-width:1024px) {
  .dbpp-hero-top { padding:32px 24px 16px; }
  .dbpp-hero-shortdesc-wrap { padding:0 24px 24px; }
  .dbpp-hero-cols { grid-template-columns:1fr; }
  .dbpp-gal { padding:44px 24px 24px; order:1; }
  .dbpp-gal-wrap { max-width:360px; }
  .dbpp-side { padding:24px 24px 52px; max-width:100%; order:2; }
  .dbpp-desc-inner { padding:0 24px; }
  .dbpp-trust-inner { padding:52px 24px; }
  .dbpp-trust-grid { grid-template-columns:1fr 1fr; gap:10px; }
}
@media (max-width:600px) {
  .dbpp-hero-top .dbpp-title { font-size:1.8rem; }
  .dbpp-trust-grid { grid-template-columns:1fr; }
  .dbpp-trust-heading { font-size:22px; }
}

/* ── VAT-FREE STRIP ── */
.dbpp-vatfree-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
  margin-top: 10px;
  text-decoration: none !important;
  color: inherit;
  transition: border-color .18s, box-shadow .18s;
  cursor: pointer;
}
.dbpp-vatfree-strip:hover {
  border-color: #0096DB;
  box-shadow: 0 2px 12px rgba(0,150,219,.12);
}
.dbpp-vatfree-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.dbpp-vatfree-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #0096DB;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 6px;
  white-space: nowrap;
  flex-shrink: 0;
}
.dbpp-vatfree-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dbpp-vatfree-text {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-h);
  line-height: 1.2;
}
.dbpp-vatfree-sub {
  font-size: 12px;
  color: var(--text-s);
  line-height: 1.3;
}
.dbpp-vatfree-arrow {
  font-size: 16px;
  color: var(--text-s);
  flex-shrink: 0;
  transition: transform .18s, color .18s;
}
.dbpp-vatfree-strip:hover .dbpp-vatfree-arrow {
  transform: translate(2px, -2px);
  color: #0096DB;
}

.dbpp .woocommerce-message,
.dbpp .woocommerce-error,
.dbpp .woocommerce-info {
    max-width: 1440px;
    margin: 16px auto 0;
    padding: 0 64px;
    box-sizing: border-box;
}
@media (max-width: 1024px) {
    .dbpp .woocommerce-message,
    .dbpp .woocommerce-error,
    .dbpp .woocommerce-info {
        padding: 0 24px;
    }
}

/* Product page - sezione agevolazioni (estratto da single-product.php) */
.dbpp-agev-section { background: #fff; border-top: 1px solid var(--g200); width: 100vw; margin-left: calc(50% - 50vw); }
.dbpp-agev-inner { max-width: 1440px; margin: 0 auto; padding: 72px 64px; }
.dbpp-agev-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #0096DB; margin-bottom: 10px; }
.dbpp-agev-h2 { font-size: clamp(1.5rem, 2.8vw, 2.2rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.12; color: var(--text-h); margin-bottom: 12px; }
.dbpp-agev-sub { font-size: 14px; color: var(--text-s); line-height: 1.7; max-width: 620px; }
.dbpp-agev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 36px; }
.dbpp-agev-card { background: rgba(255,255,255,.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.9); border-radius: 16px; padding: 28px 22px; transition: transform .22s, box-shadow .22s; border-top: 2px solid #0096DB; box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04); display: flex; flex-direction: column; }
.dbpp-agev-card:hover { transform: translateY(-3px); box-shadow: 0 4px 24px rgba(0,0,0,.10); }
.dbpp-agev-num { font-size: 9px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(0,150,219,.55); margin-bottom: 14px; }
.dbpp-agev-icon { width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0; background: rgba(0,150,219,.10); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.dbpp-agev-icon svg { width: 18px; height: 18px; fill: none; stroke: #0096DB; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dbpp-agev-card-title { font-size: 13.5px; font-weight: 600; color: var(--text-h); letter-spacing: -.02em; margin-bottom: 7px; }
.dbpp-agev-card-desc { font-size: 12px; color: var(--text-s); line-height: 1.65; flex: 1; margin-bottom: 14px; }
.dbpp-agev-tags { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.dbpp-agev-tag { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 6px; width: fit-content; font-size: 10px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; background: rgba(0,150,219,.09); color: #0096DB; border: 1px solid rgba(0,150,219,.2); }
.dbpp-agev-link { font-size: 12.5px; font-weight: 600; color: #0096DB; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; margin-top: auto; transition: gap .15s; }
.dbpp-agev-link:hover { gap: 7px; }
.dbpp-agev-banner { background: linear-gradient(135deg, #0078b0 0%, #0096DB 100%); border-radius: 16px; padding: 22px 28px; margin-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.dbpp-agev-banner-text { font-size: 14px; color: #fff; line-height: 1.6; flex: 1; }
.dbpp-agev-banner-text strong { font-weight: 700; }
.dbpp-agev-banner-btn { background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.45); color: #fff !important; text-decoration: none !important; padding: 10px 22px; border-radius: 10px; font-size: 13px; font-weight: 700; white-space: nowrap; flex-shrink: 0; display: inline-block; transition: background .18s; letter-spacing: .02em; }
.dbpp-agev-banner-btn:hover { background: rgba(255,255,255,.28); color: #fff !important; }
@media (max-width: 1024px) { .dbpp-agev-inner { padding: 52px 24px; } .dbpp-agev-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .dbpp-agev-grid { grid-template-columns: 1fr; } .dbpp-agev-banner { flex-direction: column; align-items: flex-start; } .dbpp-agev-banner-btn { width: 100%; text-align: center; } }
