/* BirthdayBomb Checkout Phase 1 — presentation only; gateway markup stays untouched. */
body.woocommerce-checkout {
  --bbos-ink:#182235;
  --bbos-muted:#5c6678;
  --bbos-red:#ef3340;
  --bbos-orange:#ff8a00;
  --bbos-gold:#ffc400;
  --bbos-blue:#159ee8;
  --bbos-line:#edf0f5;
  --bbos-soft:#fff8f8;
  --bbos-card:#fff;
  background:#fffafa;
}

.woocommerce-checkout .site-main,
.woocommerce-checkout .content-area,
.woocommerce-checkout .container {
  max-width:1500px;
}

.bbos-checkout-experience {
  margin:0 auto 42px;
  color:var(--bbos-ink);
}

.bbos-checkout-hero {
  text-align:center;
  padding:46px 24px 34px;
  border-radius:28px;
  background:linear-gradient(135deg,#fff 0%,#fff7f6 52%,#fff9e9 100%);
  border:1px solid #ffe1df;
  box-shadow:0 20px 50px rgba(24,34,53,.07);
}

.bbos-checkout-kicker,
.bbos-section-eyebrow,
.bbos-guarantee-kicker {
  display:block;
  margin-bottom:8px;
  color:#c62e39;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.bbos-checkout-hero h1 {
  margin:0;
  font-size:clamp(38px,5vw,66px);
  line-height:1.05;
  letter-spacing:-.04em;
  color:var(--bbos-ink);
}

.bbos-checkout-hero h1:after {
  content:"";
  display:block;
  width:96px;
  height:5px;
  margin:22px auto 0;
  border-radius:10px;
  background:linear-gradient(90deg,var(--bbos-red),var(--bbos-gold));
}

.bbos-checkout-hero > p {
  max-width:800px;
  margin:28px auto 22px;
  font-size:20px;
  font-weight:650;
  color:#273247;
}

.bbos-checkout-benefits {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}

.bbos-checkout-benefits span {
  padding:10px 14px;
  border:1px solid #f1e2e0;
  border-radius:999px;
  background:#fff;
  font-weight:700;
  color:#3b4557;
}

.bbos-cart-gifts {
  margin-top:28px;
  padding:30px;
  background:#fff;
  border:1px solid #edf0f5;
  border-radius:28px;
  box-shadow:0 18px 46px rgba(24,34,53,.07);
}

.bbos-cart-gifts-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}

.bbos-cart-gifts-heading h2 {
  margin:0 0 5px;
  font-size:30px;
  color:var(--bbos-ink);
}

.bbos-cart-gifts-heading p {
  margin:0;
  color:var(--bbos-muted);
  font-weight:650;
}

.bbos-swipe-hint {
  color:var(--bbos-muted);
  white-space:nowrap;
}

.bbos-business-card-track {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(210px,1fr);
  gap:16px;
  overflow-x:auto;
  padding:4px 2px 14px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
}

.bbos-business-card {
  min-height:240px;
  padding:22px 18px;
  border:1px solid #e8ebf0;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#fffafa 100%);
  box-shadow:0 10px 28px rgba(24,34,53,.06);
  text-align:center;
  scroll-snap-align:start;
}

.bbos-business-logo-wrap {
  height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  padding:10px;
  border-radius:18px;
  background:#fff;
}

.bbos-business-logo-wrap img {
  max-width:100%;
  max-height:100px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.bbos-business-logo-fallback {
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--bbos-red),var(--bbos-orange));
  font-size:34px;
  font-weight:900;
}

.bbos-business-card h3 {
  margin:0 0 7px;
  font-size:19px;
  color:var(--bbos-ink);
}

.bbos-business-card p {
  margin:0;
  color:var(--bbos-muted);
  font-size:14px;
  line-height:1.45;
}

.bbos-offer-placeholder { font-style:italic; }

/* Improve the existing one-page classic checkout without replacing its templates. */
.woocommerce-checkout form.checkout {
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  gap:34px;
  align-items:start;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  float:none;
  width:auto;
}

.woocommerce-checkout #customer_details {
  grid-column:1;
  padding:30px;
  background:#fff;
  border:1px solid var(--bbos-line);
  border-radius:26px;
  box-shadow:0 18px 44px rgba(24,34,53,.06);
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column:2;
}

.woocommerce-checkout #order_review_heading {
  margin:0;
  padding:24px 26px 10px;
  background:#fff;
  border:1px solid var(--bbos-line);
  border-bottom:0;
  border-radius:26px 26px 0 0;
  font-size:24px;
  color:var(--bbos-ink);
}

.woocommerce-checkout #order_review {
  position:sticky;
  top:32px;
  padding:0 26px 28px;
  background:#fff;
  border:1px solid var(--bbos-line);
  border-top:0;
  border-radius:0 0 26px 26px;
  box-shadow:0 18px 44px rgba(24,34,53,.08);
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size:25px;
  color:var(--bbos-ink);
}

.woocommerce-checkout .form-row label {
  margin-bottom:7px;
  color:#303a4b;
  font-weight:750;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height:52px;
  border:1px solid #dfe3e9;
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}

.woocommerce-checkout textarea.input-text { min-height:130px; }

.woocommerce-checkout .shop_table {
  margin-top:12px;
  border-collapse:separate;
  border-spacing:0;
  border-radius:16px;
  overflow:hidden;
}

.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
  padding:16px 12px;
  font-size:16px;
}

.woocommerce-checkout .shop_table .order-total th,
.woocommerce-checkout .shop_table .order-total td {
  font-size:22px;
  color:var(--bbos-ink);
}

.woocommerce-checkout #payment {
  margin-top:20px;
  border-radius:18px;
  background:#fafbfc;
}

.bbos-happiness-guarantee {
  display:grid;
  grid-template-columns:112px 1fr;
  gap:18px;
  align-items:center;
  margin:22px 0 18px;
  padding:18px;
  border:1px solid #f5d9d4;
  border-radius:20px;
  background:linear-gradient(135deg,#fff9f8,#fffdf3);
}

.bbos-happiness-guarantee img {
  width:112px;
  height:112px;
  object-fit:contain;
}

.bbos-happiness-guarantee h3 {
  margin:0 0 7px;
  color:var(--bbos-ink);
  font-size:22px;
}

.bbos-happiness-guarantee p {
  margin:0;
  color:#4e5868;
  line-height:1.5;
  font-size:14px;
}

.bbos-guarantee-trust {
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:12px;
  color:#3b4557;
  font-size:12px;
  font-weight:750;
}

.woocommerce-checkout #place_order {
  width:100%;
  min-height:62px;
  border:0;
  border-radius:16px;
  background:linear-gradient(90deg,var(--bbos-red),#f31f28);
  box-shadow:0 15px 30px rgba(239,51,64,.22);
  font-size:18px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

@media (max-width:1000px) {
  .woocommerce-checkout form.checkout { grid-template-columns:1fr; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { grid-column:1; }
  .woocommerce-checkout #order_review { position:static; }
  .bbos-cart-gifts { padding:24px 18px; }
}

@media (max-width:640px) {
  .bbos-checkout-experience { margin-bottom:24px; }
  .bbos-checkout-hero { padding:30px 16px 25px; border-radius:20px; }
  .bbos-checkout-hero h1 { font-size:38px; }
  .bbos-checkout-hero > p { font-size:17px; }
  .bbos-checkout-benefits { display:grid; grid-template-columns:1fr 1fr; }
  .bbos-checkout-benefits span { padding:9px 8px; font-size:12px; }
  .bbos-cart-gifts-heading { align-items:flex-start; }
  .bbos-cart-gifts-heading h2 { font-size:24px; }
  .bbos-swipe-hint { font-size:12px; }
  .bbos-business-card-track { grid-auto-columns:78%; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review { padding-left:16px; padding-right:16px; border-radius:20px; }
  .woocommerce-checkout #order_review_heading { padding-left:16px; padding-right:16px; border-radius:20px 20px 0 0; }
  .bbos-happiness-guarantee { grid-template-columns:76px 1fr; padding:14px; }
  .bbos-happiness-guarantee img { width:76px; height:76px; }
  .bbos-happiness-guarantee h3 { font-size:18px; }
  .bbos-guarantee-trust { display:grid; }
}

/* Beta 3.0.2 cleanup: one branded hero, one cart gift preview, compact coupon. */
[data-bbos-legacy-duplicate="1"] { display:none !important; }

.bbos-checkout-experience { margin-bottom:28px; }
.bbos-checkout-hero { padding:34px 24px 28px; }
.bbos-checkout-hero h1 { font-size:clamp(34px,4.4vw,58px); }
.bbos-checkout-hero > p { margin:22px auto 18px; font-size:18px; }
.bbos-checkout-hero h1:after { margin-top:17px; }
.bbos-cart-gifts { margin-top:20px; padding:25px; }

/* Make included businesses read as gift certificates rather than plain cards. */
.bbos-business-card {
  position:relative;
  min-height:225px;
  overflow:hidden;
  border:1px solid #f0d9d6;
  background:linear-gradient(145deg,#fff 0%,#fffafa 68%,#fff8e7 100%);
}
.bbos-business-card:before,
.bbos-business-card:after {
  content:"";
  position:absolute;
  top:50%;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  border:1px solid #f0d9d6;
  transform:translateY(-50%);
}
.bbos-business-card:before { left:-10px; }
.bbos-business-card:after { right:-10px; }
.bbos-business-card h3 { font-size:20px; }
.bbos-business-card p { font-size:15px; }
.bbos-business-card p:not(.bbos-offer-placeholder):before {
  content:"🎁 ";
}

.bbos-coupon-wrap {
  margin:18px 0 2px;
  padding:12px 14px;
  border:1px dashed #e4c8c5;
  border-radius:14px;
  background:#fffafa;
}
.bbos-coupon-wrap .woocommerce-form-coupon-toggle .woocommerce-info {
  margin:0;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:14px;
}
.bbos-coupon-wrap form.checkout_coupon {
  margin:12px 0 0 !important;
  padding:0 !important;
  border:0 !important;
}

/* Keep the trust promise close to the decision point without crowding gateways. */
.bbos-happiness-guarantee { margin-top:18px; }
.woocommerce-checkout #place_order {
  min-height:58px;
  font-size:17px;
  font-weight:850;
  letter-spacing:.06em;
}

@media (max-width: 767px) {
  .bbos-checkout-hero { padding:26px 16px 22px; border-radius:20px; }
  .bbos-checkout-benefits { gap:8px; }
  .bbos-checkout-benefits span { padding:8px 10px; font-size:13px; }
  .bbos-cart-gifts { padding:18px 14px; border-radius:20px; }
  .bbos-cart-gifts-heading h2 { font-size:24px; }
  .bbos-business-card-track { grid-auto-columns:minmax(82%,1fr); }
}

/* Checkout Phase 2 — clearer one-page flow and a stronger sticky summary. */
.woocommerce-checkout form.checkout {
  grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);
  gap:38px;
}

.woocommerce-checkout #order_review_heading {
  position:sticky;
  top:20px;
  z-index:3;
  padding-top:25px;
}

.woocommerce-checkout #order_review {
  top:78px;
}

.woocommerce-checkout #order_review_heading:before {
  content:"Your BirthdayBomb";
  display:block;
  margin-bottom:5px;
  color:#c62e39;
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.bbos-line-item-gift-count {
  display:block;
  margin-top:5px;
  color:#647084;
  font-size:12px;
  font-weight:700;
}

.woocommerce-checkout .bbos-order-gifts-row th,
.woocommerce-checkout .bbos-order-gifts-row td {
  vertical-align:top;
  background:#fffafa;
}

.woocommerce-checkout .bbos-order-gifts-row td strong {
  display:inline-grid;
  place-items:center;
  min-width:27px;
  height:27px;
  margin-right:7px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--bbos-red),var(--bbos-orange));
  font-size:13px;
}

.woocommerce-checkout .bbos-order-gifts-row td span {
  display:block;
  margin-top:7px;
  color:#596477;
  font-size:12px;
  line-height:1.45;
}

.woocommerce-checkout .bbos-order-gifts-row td small {
  display:block;
  margin-top:4px;
  color:#c62e39;
  font-weight:800;
}

.woocommerce-checkout #payment .payment_methods > li {
  overflow:hidden;
  margin-bottom:10px;
  border:1px solid #e4e8ee;
  border-radius:14px;
  background:#fff;
}

.woocommerce-checkout #payment .payment_methods > li > label {
  display:block;
  padding:16px 14px;
  font-weight:800;
}

.woocommerce-checkout #payment .payment_box {
  margin:0;
  border-top:1px solid #edf0f4;
  background:#fafbfc;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  color:#657083;
  font-size:12px;
  line-height:1.5;
}

.woocommerce-checkout #place_order:after {
  content:"  →";
}

@media (max-width:1000px) {
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { position:static; }
}

@media (max-width:640px) {
  .woocommerce-checkout form.checkout { gap:22px; }
  .woocommerce-checkout #customer_details { padding:20px 16px; }
  .woocommerce-checkout #order_review_heading { padding-top:20px; }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    float:none;
    width:100%;
  }
  .woocommerce-checkout #place_order { min-height:62px; font-size:16px; }
}

/* BirthdayBomb Checkout v3.1 — ZIP resolver */
.bbos-zip-status {
  margin-top: 7px;
  min-height: 20px;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
}
.bbos-zip-status.is-checking { opacity: .7; }
.bbos-zip-status.is-success { color: #237a47; }
.bbos-zip-status.is-error { color: #b42318; }
.bbos-billing-postcode-field.woocommerce-invalid .bbos-zip-status { color: #b42318; }

/* === BirthdayBomb Checkout Design Refresh — Beta 3.1.3 === */
.bbos-checkout-hero {
  position:relative;
  overflow:hidden;
  min-height:500px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,350px);
  grid-template-rows:1fr auto;
  align-items:center;
  column-gap:24px;
  padding:48px 54px 38px;
  background:linear-gradient(105deg,#fffafa 0%,#fffdf8 100%);
}

.bbos-hero-copy {
  position:relative;
  z-index:2;
  grid-column:1;
  align-self:center;
  padding-left:55px;
}

.bbos-checkout-hero .bbos-checkout-kicker {
  margin-bottom:20px;
  font-size:16px;
  letter-spacing:.13em;
  color:#d52f38;
}

.bbos-checkout-hero h1 {
  font-size:clamp(44px,5.1vw,78px);
  line-height:1;
  white-space:nowrap;
}

.bbos-checkout-hero h1:after {
  width:130px;
  height:6px;
  margin-top:28px;
}

.bbos-checkout-hero .bbos-hero-copy > p {
  max-width:850px;
  margin:34px auto 0;
  font-size:22px;
  line-height:1.45;
  font-weight:700;
  color:#24314a;
}

.bbos-checkout-hero .bbos-hero-copy > p strong {
  color:#e13239;
}

.bbos-wrapped-bomb {
  position:relative;
  z-index:2;
  grid-column:2;
  justify-self:center;
  width:min(100%,330px);
  height:auto;
  filter:drop-shadow(0 15px 13px rgba(24,34,53,.18));
}

.bbos-checkout-benefits {
  position:relative;
  z-index:3;
  grid-column:1 / -1;
  width:100%;
  margin-top:28px;
  gap:16px;
}

.bbos-checkout-benefits span {
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 24px;
  border-color:#f0dcd9;
  font-size:17px;
  box-shadow:0 4px 12px rgba(24,34,53,.025);
}

.bbos-checkout-benefits span b {
  font-size:22px;
  line-height:1;
}

.bbos-checkout-benefits span img {
  width:31px;
  height:31px;
  object-fit:contain;
  filter:drop-shadow(0 2px 2px rgba(24,34,53,.12));
}

.bbos-hero-confetti i {
  position:absolute;
  z-index:1;
  width:10px;
  height:25px;
  border-radius:4px;
  transform:rotate(24deg);
  background:#ef3340;
}
.bbos-hero-confetti i:nth-child(1){left:55px;top:70px;background:#159ee8;transform:rotate(45deg);clip-path:polygon(50% 0,61% 35%,100% 38%,69% 59%,80% 100%,50% 75%,20% 100%,31% 59%,0 38%,39% 35%);width:28px;height:28px}
.bbos-hero-confetti i:nth-child(2){left:128px;top:52px;background:#ef2d63;transform:rotate(-20deg)}
.bbos-hero-confetti i:nth-child(3){left:70px;top:275px;background:#8f45ba;transform:rotate(18deg);clip-path:polygon(50% 0,61% 35%,100% 38%,69% 59%,80% 100%,50% 75%,20% 100%,31% 59%,0 38%,39% 35%);width:24px;height:24px}
.bbos-hero-confetti i:nth-child(4){right:55px;bottom:98px;background:#159ee8;transform:rotate(45deg);clip-path:polygon(50% 0,61% 35%,100% 38%,69% 59%,80% 100%,50% 75%,20% 100%,31% 59%,0 38%,39% 35%);width:27px;height:27px}
.bbos-hero-confetti i:nth-child(5){right:45px;top:235px;background:#ff8a00;transform:rotate(61deg)}
.bbos-hero-confetti i:nth-child(6){left:105px;bottom:110px;background:#67bd1e;transform:rotate(65deg);height:9px;width:28px}

.bbos-cart-gifts {
  position:relative;
  overflow:hidden;
  padding:28px 34px 34px;
}

.bbos-cart-gifts-heading {
  min-height:255px;
  display:grid;
  grid-template-columns:minmax(250px,400px) minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  margin-bottom:10px;
}

.bbos-open-bomb {
  width:min(100%,390px);
  height:auto;
  align-self:end;
  justify-self:start;
  margin:-25px 0 -35px -14px;
  filter:drop-shadow(0 14px 12px rgba(24,34,53,.16));
}

.bbos-gifts-heading-copy {
  align-self:center;
  padding-top:10px;
}

.bbos-cart-gifts-heading .bbos-section-eyebrow {
  margin-bottom:18px;
  font-size:15px;
  letter-spacing:.13em;
}

.bbos-cart-gifts-heading h2 {
  font-size:clamp(36px,4.4vw,66px);
  line-height:1.03;
  letter-spacing:-.045em;
}

.bbos-cart-gifts-heading h2:after {
  content:"";
  display:block;
  width:125px;
  height:6px;
  margin:28px auto 0;
  border-radius:10px;
  background:linear-gradient(90deg,var(--bbos-red),var(--bbos-gold));
}

.bbos-cart-gifts-heading p {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:30px;
  font-size:18px;
}

.bbos-gift-count-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#fff5dd;
}

.bbos-swipe-hint {
  align-self:end;
  padding-bottom:22px;
  font-size:17px;
}

@media (max-width:1200px) {
  .bbos-checkout-hero {
    grid-template-columns:minmax(0,1fr) 270px;
    padding-left:30px;
    padding-right:30px;
  }
  .bbos-hero-copy { padding-left:20px; }
  .bbos-checkout-hero h1 { white-space:normal; }
  .bbos-cart-gifts-heading { grid-template-columns:300px minmax(0,1fr); }
  .bbos-swipe-hint { grid-column:2; justify-self:end; }
}

@media (max-width:820px) {
  .bbos-checkout-hero {
    min-height:0;
    display:flex;
    flex-direction:column;
    padding:34px 20px 26px;
  }
  .bbos-hero-copy { padding:0; }
  .bbos-checkout-hero .bbos-checkout-kicker { font-size:12px; }
  .bbos-checkout-hero h1 { font-size:clamp(38px,11vw,56px); }
  .bbos-checkout-hero .bbos-hero-copy > p { font-size:18px; }
  .bbos-desktop-break { display:none; }
  .bbos-wrapped-bomb { width:220px; margin:18px auto 0; }
  .bbos-checkout-benefits { margin-top:18px; gap:9px; }
  .bbos-checkout-benefits span { flex:1 1 calc(50% - 9px); min-height:50px; padding:10px; font-size:14px; }
  .bbos-cart-gifts { padding:24px 18px 28px; }
  .bbos-cart-gifts-heading {
    display:flex;
    flex-direction:column;
    min-height:0;
    text-align:center;
    gap:0;
  }
  .bbos-open-bomb { width:260px; margin:-10px auto -18px; align-self:auto; }
  .bbos-gifts-heading-copy { padding:0; }
  .bbos-cart-gifts-heading h2 { font-size:clamp(36px,10vw,52px); }
  .bbos-cart-gifts-heading p { justify-content:center; margin-top:24px; }
  .bbos-swipe-hint { align-self:flex-end; padding:18px 2px 0; font-size:14px; }
}

@media (max-width:480px) {
  .bbos-checkout-benefits span { flex-basis:100%; }
  .bbos-wrapped-bomb { width:190px; }
  .bbos-open-bomb { width:230px; }
}

/* === Checkout Layout Polish — Beta 3.1.4 ===
 * Prevent artwork, headings and business cards from overlapping at any width.
 * Artwork uses transparent assets so it blends into the page instead of a box.
 */
.bbos-checkout-experience,
.bbos-checkout-hero,
.bbos-cart-gifts,
.bbos-hero-copy,
.bbos-gifts-heading-copy {
  box-sizing:border-box;
  min-width:0;
}

.bbos-checkout-hero {
  min-height:0;
  grid-template-columns:minmax(0, 1fr) minmax(220px, 300px);
  grid-template-rows:auto auto;
  gap:22px 34px;
  padding:46px clamp(24px,4vw,58px) 34px;
}

.bbos-hero-copy {
  padding-left:0;
  width:100%;
  max-width:900px;
  justify-self:center;
}

.bbos-checkout-hero h1 {
  width:100%;
  max-width:900px;
  margin-inline:auto;
  font-size:clamp(40px,4.2vw,66px);
  line-height:1.04;
  white-space:normal;
  overflow-wrap:normal;
  text-wrap:balance;
}

.bbos-checkout-hero .bbos-hero-copy > p {
  max-width:760px;
  font-size:clamp(17px,1.55vw,21px);
  text-wrap:balance;
}

.bbos-wrapped-bomb {
  width:min(100%,285px);
  max-width:285px;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  object-fit:contain;
}

.bbos-cart-gifts {
  overflow:visible;
  padding:34px clamp(22px,3vw,42px) 36px;
}

.bbos-cart-gifts-heading {
  min-height:0;
  grid-template-columns:minmax(210px,280px) minmax(0,1fr) auto;
  gap:26px;
  align-items:center;
  margin:0 0 28px;
}

.bbos-open-bomb {
  width:min(100%,270px);
  max-width:270px;
  margin:0;
  align-self:center;
  justify-self:center;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  object-fit:contain;
}

.bbos-gifts-heading-copy {
  padding:0;
  align-self:center;
}

.bbos-cart-gifts-heading h2 {
  max-width:760px;
  margin-inline:auto;
  font-size:clamp(34px,3.7vw,56px);
  line-height:1.06;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

.bbos-cart-gifts-heading h2:after {
  margin-top:22px;
}

.bbos-cart-gifts-heading p {
  margin-top:22px;
}

.bbos-swipe-hint {
  align-self:end;
  padding-bottom:10px;
}

.bbos-business-card-track {
  clear:both;
  position:relative;
  z-index:2;
  margin-top:0;
}

@media (max-width:1180px) {
  .bbos-checkout-hero {
    grid-template-columns:minmax(0,1fr) minmax(190px,240px);
    gap:18px 22px;
  }
  .bbos-wrapped-bomb { max-width:235px; }
  .bbos-checkout-hero h1 { font-size:clamp(38px,4.5vw,56px); }
  .bbos-cart-gifts-heading {
    grid-template-columns:220px minmax(0,1fr);
  }
  .bbos-open-bomb { max-width:220px; }
  .bbos-swipe-hint {
    grid-column:2;
    justify-self:end;
    padding:0;
  }
}

@media (max-width:820px) {
  .bbos-checkout-hero {
    display:flex;
    padding:32px 18px 25px;
  }
  .bbos-checkout-hero h1 {
    font-size:clamp(36px,10vw,52px);
  }
  .bbos-wrapped-bomb {
    width:min(62vw,220px);
    max-width:220px;
    margin:10px auto 0;
  }
  .bbos-cart-gifts {
    padding:26px 16px 28px;
    overflow:hidden;
  }
  .bbos-cart-gifts-heading {
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:22px;
  }
  .bbos-open-bomb {
    width:min(70vw,250px);
    max-width:250px;
    margin:0 auto;
  }
  .bbos-cart-gifts-heading h2 {
    font-size:clamp(34px,9vw,48px);
    overflow-wrap:normal;
  }
  .bbos-swipe-hint {
    align-self:flex-end;
    padding:8px 2px 0;
  }
}

@media (max-width:480px) {
  .bbos-checkout-hero { padding-inline:14px; }
  .bbos-checkout-hero h1 { font-size:36px; }
  .bbos-checkout-hero .bbos-hero-copy > p { font-size:16px; }
  .bbos-wrapped-bomb { width:180px; }
  .bbos-open-bomb { width:215px; }
  .bbos-cart-gifts-heading h2 { font-size:34px; }
}
