.npbd-price-card{background:#f9f5ef;border:1px solid #e7d7c6;border-radius:13px;padding:20px;margin:16px 0 26px;max-width:460px;box-sizing:border-box;color:#143039}
.npbd-price-caption{display:block;font-size:.85rem;letter-spacing:.055em;text-transform:uppercase;font-weight:650;color:#446267}
.npbd-price-amount{display:block;font-size:clamp(1.6rem,2.3vw,2.15rem);line-height:1.3;font-weight:750;color:#122c34}
.npbd-price-note{font-size:.9rem;line-height:1.6;margin:8px 0 14px;color:#465b60}
.npbd-quote-link{display:inline-block;background:#112e37;border-radius:999px;padding:11px 18px;color:#fff!important;text-decoration:none!important;font-weight:650;font-size:.9rem}
.npbd-options{font-size:.9rem;margin:10px 0}.npbd-options summary{cursor:pointer;color:#1c6370;font-weight:600}.npbd-options ul{margin:8px 0 10px 18px;list-style:disc}
@media(max-width:700px){.npbd-price-card{max-width:100%;margin-top:16px}}

.npbd-hero-note{display:block;font-size:.8rem;line-height:1.5;font-weight:400;letter-spacing:normal;text-transform:none;opacity:.8;margin-top:5px}

/* Managed design specifications: mobile-friendly and visible without scripts. */
.npbd-specifications{margin:24px 0;padding:22px;background:#f7faf9;border:1px solid #dbe5e2;border-radius:12px}
.npbd-specifications h2{margin:0 0 16px;font-size:1.4rem}
.npbd-spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0}
.npbd-spec-grid>div{min-width:0;border-top:1px solid #d6e3df;padding-top:10px}
.npbd-spec-grid dt{font-weight:700;color:#305058;margin-bottom:5px}
.npbd-spec-grid dd{margin:0;overflow-wrap:anywhere;line-height:1.5}
.npbd-spec-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 20px;margin:8px 0 0 18px}
.npbd-managed-options .npbd-delivery-note{margin-top:16px;font-size:.95rem}
.npbd-managed-options .npbd-quote-link{margin-top:8px}

/* v0.4.2 single quote/pricing panel */
.npbd-price-card{max-width:100%;margin:0 0 24px}
.npbd-price-heading{margin:0 0 12px;font-size:1.35rem}
.npbd-upgrade-heading{font-size:1.05rem;margin:16px 0 10px}
.npbd-price-card .npwr-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.npbd-price-card .npwr-option-grid>div{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-top:1px solid #e7d7c6}
.npbd-price-card .npwr-option-grid strong{font-weight:700;color:#193d49}
.npbd-price-card .npbd-delivery-note{font-size:.87rem;line-height:1.6;margin:16px 0}
@media(max-width:660px){.npbd-price-card .npwr-option-grid{grid-template-columns:1fr 1fr}}


/* v0.4.3: readable, compact quote sidebar. The narrow sidebar is unsuitable
   for two-up pricing tiles; use full-width, aligned rows instead. */
.npbd-price-card .npbd-upgrades-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  width:100%;
}
.npbd-price-card .npbd-upgrades-grid > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-width:0;
  margin:0;
  padding:10px 11px;
  border:1px solid #e8ddcf;
  border-radius:9px;
  background:#fff;
  box-sizing:border-box;
}
.npbd-price-card .npbd-upgrades-grid > div > span{
  min-width:0;
  font-size:.86rem;
  line-height:1.35;
  text-align:left;
  overflow-wrap:break-word;
  word-break:normal;
}
.npbd-price-card .npbd-upgrades-grid > div > strong{
  min-width:0;
  max-width:95px;
  font-size:.88rem;
  line-height:1.35;
  text-align:right;
  white-space:normal;
  font-weight:700;
}
.npbd-price-card .npbd-delivery-details{
  margin:14px 0;
  border-top:1px solid #e8ddcf;
  border-bottom:1px solid #e8ddcf;
  font-size:.85rem;
  line-height:1.5;
}
.npbd-price-card .npbd-delivery-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  padding:11px 0;
  color:#173841;
  list-style:none;
}
.npbd-price-card .npbd-delivery-details summary::-webkit-details-marker{display:none}
.npbd-price-card .npbd-delivery-details summary::after{
  content:'+';
  flex:none;
  order:3;
  font-size:1.12rem;
  font-weight:700;
  line-height:1;
  color:#173841;
}
.npbd-price-card .npbd-delivery-details[open] summary::after{content:'−'}
.npbd-price-card .npbd-delivery-details summary:focus-visible{
  outline:2px solid #226d83;
  outline-offset:3px;
  border-radius:3px;
}
.npbd-price-card .npbd-delivery-details summary > span{
  min-width:0;
  font-weight:650;
}
.npbd-price-card .npbd-delivery-details summary > strong{
  color:#275c55;
  white-space:normal;
  font-weight:750;
  text-align:right;
  font-size:.83rem;
}
.npbd-price-card .npbd-delivery-body{color:#465b60;padding:0 0 12px}
.npbd-price-card .npbd-delivery-body p{margin:0;line-height:1.55}

/* Merge the nested price box visually into the existing Florida design sidebar.
   Leaves the parent theme's borders, spacing, and other pages alone. */
.npfb-design-aside .npbd-price-card{
  width:100%;
  max-width:none;
  padding:8px 0 0;
  margin:8px 0 12px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.npfb-design-aside .npbd-price-heading{font-size:1.27rem;line-height:1.23;margin:0 0 10px}
.npfb-design-aside .npbd-upgrade-heading{font-size:.99rem;margin:12px 0 9px}
.npfb-design-aside .npbd-price-note{font-size:.85rem;line-height:1.5;margin:7px 0 10px}
.npfb-design-aside .npbd-quote-link{display:block;text-align:center;font-size:.84rem;padding:10px 9px}

/* Prevent a short sidebar from being an independent scroll container.
   Wheel/trackpad scrolling should continue on the page, not get captured
   inside the quote widget. Disable sticky on short viewports, where even a
   collapsed card plus the rest of the sidebar may exceed viewport height. */
.npfb-design-aside,
.npfb-design-aside .npfb-sticky-card{
  max-height:none!important;
  overflow:visible!important;
  overflow-y:visible!important;
  overscroll-behavior:auto!important;
}
@media (max-height:900px){
  .npfb-design-aside,
  .npfb-design-aside .npfb-sticky-card{
    position:static!important;
    top:auto!important;
  }
}
@media (max-width:850px){
  .npfb-design-aside,
  .npfb-design-aside .npfb-sticky-card{
    position:static!important;
    top:auto!important;
  }
}
