/* Offers outside the cart: the offer on store product cards and the site offer strip.
   Addon-owned elements only; colours come from the shop's Appearance palette. */

/* Store product card: badge, the price before and after, and a countdown when the offer ends soon */
.dv-product-offer{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%;min-width:0;margin:8px 0 6px;font:500 12.5px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center}
.dv-product-offer-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;box-sizing:border-box;white-space:normal;text-align:center;padding:4px 10px;border-radius:999px;font-weight:800;font-size:11px;letter-spacing:.02em;color:var(--dv-col-primary_text,#fff);background:linear-gradient(135deg,var(--dv-col-primary,#2c63f6),var(--dv-col-primary_hover,#1e58d8))}
.dv-product-offer-badge svg{width:11px;height:11px;fill:currentColor}
.dv-product-offer-prices{display:flex;align-items:baseline;justify-content:center;gap:7px;flex-wrap:wrap}
.dv-product-offer-was{color:var(--dv-col-text_soft,#6e819d);text-decoration:line-through;text-decoration-thickness:1.5px}
.dv-product-offer-now{color:var(--dv-col-success,#12a37a);font-weight:800;font-size:15px}
.dv-product-offer-note{color:var(--dv-col-text_soft,#6e819d);font-size:11.5px}
.dv-product-offer-rec{color:var(--dv-col-primary,#2c63f6);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.dv-countdown{font-variant-numeric:tabular-nums;font-weight:700}

/* The site offer strip */
.dv-offer-strip{position:relative;z-index:30;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 48px 10px 16px;color:var(--dv-col-primary_text,#fff);background:linear-gradient(100deg,var(--dv-col-primary,#2c63f6),var(--dv-col-primary_hover,#1e58d8));font:500 13.5px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.dv-offer-strip *{color:inherit}
.dv-offer-strip-kicker{padding:3px 9px;border-radius:999px;background:color-mix(in srgb,#fff 18%,transparent);font-weight:800;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.dv-offer-strip-text strong{font-weight:800}
.dv-offer-strip-text small{opacity:.88;margin-left:6px}
.dv-offer-strip .dv-countdown{padding:3px 9px;border-radius:8px;background:color-mix(in srgb,#000 16%,transparent)}
.dv-offer-strip-cta{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:#fff;color:var(--dv-col-primary,#2c63f6)!important;font-weight:800;font-size:12.5px;text-decoration:none!important;white-space:nowrap}
.dv-offer-strip-cta:hover{filter:brightness(.96)}
.dv-offer-strip-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;font-size:18px;line-height:1}
.dv-offer-strip-close:hover{background:color-mix(in srgb,#fff 16%,transparent)}
.dv-offer-strip :is(a,button):focus:not(:focus-visible){outline:0}
@media(max-width:620px){.dv-offer-strip{justify-content:flex-start;gap:8px;padding:10px 44px 10px 14px}.dv-offer-strip-text small{display:block;margin:2px 0 0}}

/* The bundle builder page: layout only; cards, fields and buttons come from the WHMCS theme */
.dv-bundle-intro{margin-bottom:18px}
.dv-bundle-domain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,190px) auto;gap:8px;align-items:stretch}
.dv-bundle-domain .btn{white-space:nowrap}
.dv-bundle-summary{position:sticky;top:16px}
.dv-bundle-summary .table td{border-top:0;padding:4px 0}
.dv-bundle-summary .table td:last-child{white-space:nowrap;padding-left:10px;font-variant-numeric:tabular-nums}
.dv-bundle-totals{margin:0 0 12px;border-top:1px solid rgba(0,0,0,.08);padding-top:10px}
.dv-bundle-totals>div{display:flex;justify-content:space-between;gap:12px;margin:4px 0}
.dv-bundle-totals dt{font-weight:500;margin:0}
.dv-bundle-totals dd{margin:0;font-variant-numeric:tabular-nums}
.dv-bundle-pay dt,.dv-bundle-pay dd{font-weight:800;font-size:1.1em}
@media(max-width:575px){.dv-bundle-domain{grid-template-columns:1fr}}
