/* Checkout is a normal page section. No modal, overlay, trapped scroll, or popup. */
.buzz-order .checkout-page[hidden]{display:none!important}
.buzz-order .checkout-page{
  display:block;
  width:100%;
  padding:28px max(14px,calc((100vw - 1180px)/2)) 64px;
  background:linear-gradient(180deg,#f4fbf7 0,#fff 300px);
}
.buzz-order .checkout-page-inner.checkout-modal{
  position:relative;
  width:100%;
  max-width:1120px;
  max-height:none;
  margin:0 auto;
  overflow:visible;
  border:1px solid #dde7e1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 60px rgba(15,61,41,.10);
}
.buzz-order .checkout-page .checkout-head{position:relative;top:auto}
.buzz-order .checkout-page .checkout-grid{grid-template-columns:.82fr 1.18fr;gap:0;padding:0}
.buzz-order .checkout-page .checkout-order{position:relative;top:auto;box-shadow:none}
.buzz-order .checkout-page .checkout-payment{min-width:0}
.buzz-order .mobile-checkout-dock{display:none}
.buzz-order .mobile-add-order{display:none}
.buzz-order.checkout-page-active .mobile-checkout-dock{display:none!important}
.buzz-order.checkout-page-active .order-main{display:none}

/* Email capture and order review are deliberately separate from Stripe. They
   collect no card data and lead into the same secure, inline payment section. */
.buzz-order.funnel-layer-open{overflow:hidden}
.buzz-order.funnel-layer-open .mb-chat-root{display:none!important}
.buzz-order.funnel-layer-open .mboost-consent,
.buzz-order.checkout-page-active .mboost-consent{display:none!important}
.buzz-order .funnel-layer[hidden]{display:none!important}
.buzz-order .funnel-layer{
  position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:20px;
}
.buzz-order .funnel-scrim{
  position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(7,24,15,.58);
  backdrop-filter:blur(4px);cursor:default;
}
.buzz-order .funnel-sheet{
  position:relative;z-index:1;width:min(520px,100%);padding:30px;border:1px solid #d8e5dc;
  border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(5,35,20,.25);
  font-family:Inter,system-ui,sans-serif;
}
.buzz-order .funnel-sheet h2{margin:5px 0 8px;color:#102117;font:850 31px/1.08 Inter,system-ui,sans-serif;letter-spacing:-1px}
.buzz-order .funnel-sheet p{margin:0;color:#667168;font:500 15px/1.55 Inter,system-ui,sans-serif}
.buzz-order .funnel-eyebrow{color:#118247;font:800 10px/1.2 Inter,system-ui,sans-serif;letter-spacing:.15em}
.buzz-order .funnel-close{
  position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;
  padding:0;border:1px solid #dfe7e2;border-radius:50%;background:#f7faf8;color:#526058;
  font:400 28px/1 Inter,system-ui,sans-serif;cursor:pointer;
}
.buzz-order .funnel-email-field{display:grid;gap:8px;margin-top:24px}
.buzz-order .funnel-email-field label{color:#25352b;font:750 13px/1.2 Inter,system-ui,sans-serif}
.buzz-order .funnel-email-field .input{width:100%;min-height:58px;border-radius:12px;font:600 16px Inter,system-ui,sans-serif;text-transform:none}
.buzz-order .funnel-email-field .input[aria-invalid="true"]{border-color:#d84b52;box-shadow:0 0 0 3px rgba(216,75,82,.12)}
.buzz-order .funnel-error{min-height:18px;color:#c43f46;font:650 12px/1.4 Inter,system-ui,sans-serif}
.buzz-order .funnel-actions{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px;margin-top:8px}
.buzz-order .funnel-actions .btn{min-height:52px;border-radius:11px;font:800 14px Inter,system-ui,sans-serif}
.buzz-order .funnel-privacy{display:block;margin-top:14px;color:#7b857e;font:550 11px/1.45 Inter,system-ui,sans-serif;text-align:center}

.buzz-order .cart-review-sheet{width:min(590px,100%)}
.buzz-order .cart-review-head{display:flex;align-items:flex-start;justify-content:space-between;padding-right:50px}
.buzz-order .cart-review-head .funnel-close{top:20px}
.buzz-order .cart-review-products,.buzz-order .checkout-products{display:grid;gap:10px}
.buzz-order .cart-review-product{display:grid;grid-template-columns:48px minmax(0,1fr) 36px;gap:13px;align-items:start;margin:0;padding:16px;border:1px solid #e0e8e3;border-radius:14px;background:#f8fbf9}
.buzz-order .cart-review-products{margin:22px 0 18px;max-height:min(36dvh,330px);overflow:auto;overscroll-behavior:contain}
.buzz-order .cart-product-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#e3f9eb;color:#08743a;font:850 22px/1 Inter,system-ui,sans-serif}
.buzz-order .cart-review-product div{display:grid;gap:4px;min-width:0}
.buzz-order .cart-review-product strong{color:#17251d;font:800 16px/1.3 Inter,system-ui,sans-serif}
.buzz-order .cart-review-product span,.buzz-order .cart-review-product small{overflow-wrap:anywhere;color:#6d7871;font:550 12px/1.4 Inter,system-ui,sans-serif}
.buzz-order .cart-review-product span{color:#118247;font-weight:700}
.buzz-order .cart-line-remove{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#fff;color:#727d76;font:400 23px/1 Inter,system-ui,sans-serif;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.buzz-order .cart-line-remove:hover,.buzz-order .cart-line-remove:focus-visible{background:#eaf8ef;color:#08743a;transform:scale(1.04);outline:2px solid rgba(32,201,107,.25);outline-offset:1px}
.buzz-order .offer-progress{display:flex;align-items:center;gap:9px;min-height:42px;padding:10px 12px;border-radius:10px;background:#f1f6f3;color:#607068;font:700 12px/1.2 Inter,system-ui,sans-serif}
.buzz-order .offer-spinner{width:17px;height:17px;border:2px solid #c6d8cd;border-top-color:#1fc86b;border-radius:50%;animation:funnel-spin .8s linear infinite}
.buzz-order .offer-progress.applied{background:#e8f9ef;color:#08743a}
.buzz-order .offer-progress.applied .offer-spinner{border:0;border-radius:0;animation:none}
.buzz-order .offer-progress.applied .offer-spinner::before{content:"✓";font:900 16px/1 Inter,system-ui,sans-serif}
.buzz-order .cart-review-lines{display:grid;margin-top:10px}
.buzz-order .cart-review-lines>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;border-bottom:1px solid #e8ece9;color:#667168;font:600 14px/1.3 Inter,system-ui,sans-serif}
.buzz-order .cart-review-lines strong{color:#0a8141;font-weight:800}
.buzz-order .cart-review-lines s{color:#77817b;font-variant-numeric:tabular-nums}
.buzz-order .cart-coupon span{display:flex;align-items:center;gap:7px;color:#08743a}
.buzz-order .cart-coupon span b{padding:3px 7px;border-radius:6px;background:#c9f5da;color:#075d31;font-size:12px}
.buzz-order .cart-total{padding-top:16px!important;border-bottom:0!important;color:#14231a!important;font-size:20px!important;font-weight:850!important}
.buzz-order .cart-total b{color:#14231a!important;font:900 27px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.buzz-order .cart-reassurance{margin:4px 0 18px!important;text-align:center;font-size:12px!important}
.buzz-order #cart-continue-payment{width:100%;min-height:56px;border-radius:12px;font:850 15px Inter,system-ui,sans-serif}
@keyframes funnel-spin{to{transform:rotate(360deg)}}

/* Contain every checkout surface to the viewport. Stripe iframes and long
   targets must shrink/wrap instead of widening the entire mobile page. */
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
.buzz-order *, .buzz-order *::before, .buzz-order *::after{box-sizing:border-box}
.buzz-order .wrap,.buzz-order .order-main,.buzz-order .order-grid,.buzz-order .panel,
.buzz-order .summary-box,.buzz-order .checkout-page,.buzz-order .checkout-page-inner,
.buzz-order .checkout-grid,.buzz-order .checkout-order,.buzz-order .checkout-payment,
.buzz-order .checkout-product,.buzz-order .stripe-shell,.buzz-order #payment-element{
  min-width:0;max-width:100%;
}
.buzz-order .checkout-product span,.buzz-order .checkout-product small,
.buzz-order #pay-handle{overflow-wrap:anywhere;word-break:break-word}
.buzz-order .checkout-product{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:start}
.buzz-order .checkout-product .cart-product-icon{width:42px;height:42px}
.buzz-order .checkout-product .cart-product-copy{display:grid;gap:3px;min-width:0}

@media(max-width:800px){
  html,body{width:100%;overflow-x:hidden;overflow-x:clip}
  html{scroll-padding-bottom:104px}
  .buzz-order{padding-bottom:96px;overscroll-behavior-y:contain}
  .buzz-order.checkout-page-active{padding-bottom:96px}
  .buzz-order .checkout-page{padding:8px 0 24px;background:#fff}
  .buzz-order .checkout-page-inner.checkout-modal{
    width:100%;
    min-height:0;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .buzz-order .checkout-page .checkout-head{
    min-height:58px;
    grid-template-columns:1fr auto;
    padding:0 16px;
    border-bottom:1px solid #e7ece9;
  }
  .buzz-order .checkout-page .checkout-head .logo{display:none}
  .buzz-order .checkout-page .secure-chip{display:inline-flex;justify-self:end}
  .buzz-order .checkout-page .checkout-steps{display:none}
  .buzz-order .checkout-page .checkout-grid{display:flex;flex-direction:column;padding:0}
  .buzz-order .checkout-page .checkout-order{
    order:1;
    margin:0 12px 10px;
    padding:16px;
    border:1px solid #e0e8e3;
    border-radius:15px;
    background:#f7fbf8;
  }
  .buzz-order .checkout-page .checkout-payment{
    order:2;
    padding:18px 16px calc(112px + env(safe-area-inset-bottom));
    border:0;
    background:#fff;
  }
  .buzz-order .checkout-page .checkout-order .kicker{font-size:9px}
  .buzz-order .checkout-page .checkout-order h3{font-size:20px;margin:8px 0 10px}
  .buzz-order .checkout-page .checkout-payment h3{font-size:26px;margin:7px 0 6px}
  .buzz-order .checkout-page .checkout-payment>.hint{margin-bottom:12px;font-size:13px;line-height:1.45}
  .buzz-order .checkout-product{grid-template-columns:40px minmax(0,1fr) 32px;gap:11px;padding:12px;border:1px solid #e0e8e3;border-radius:12px;background:#fff}
  .buzz-order .checkout-product .cart-product-icon{width:40px;height:40px}
  .buzz-order .checkout-product strong{font-size:14px;line-height:1.3}
  .buzz-order .checkout-product .cart-line-remove{width:32px;height:32px}
  .buzz-order .checkout-promo-code{margin-top:10px;padding:12px;border-radius:12px}
  .buzz-order .checkout-promo-code .promo-code-row{grid-template-columns:minmax(0,1fr) 80px}
  .buzz-order .checkout-promo-code .input{min-height:46px}
  .buzz-order .checkout-lines{padding-top:8px}
  .buzz-order .checkout-lines>div{padding:6px 0}
  .buzz-order .checkout-lines .checkout-total{margin-top:6px;padding-top:12px;font-size:17px}
  .buzz-order .checkout-total b{font-size:26px}
  .buzz-order .checkout-note{margin:12px 0 0;font-size:11px;line-height:1.5}
  .buzz-order .checkout-fields{grid-template-columns:1fr;gap:10px}
  .buzz-order .checkout-fields .input{min-height:52px;font-size:16px}
  .buzz-order .stripe-shell{min-height:190px;margin-top:14px;padding:12px}
  .buzz-order .payment-loading{min-height:170px}
  .buzz-order #pay-now{
    position:fixed;
    z-index:120;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:calc(100% - 24px);
    min-height:58px;
    margin:0;
    border-radius:13px;
    box-shadow:0 10px 28px rgba(11,92,48,.26);
    font-size:16px;
  }
  .buzz-order #pay-now:disabled{box-shadow:none}
  .buzz-order .checkout-trust{padding-bottom:8px}

  .buzz-order .mobile-checkout-dock{
    position:fixed;
    z-index:110;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:46px auto minmax(154px,1fr);
    align-items:center;
    gap:12px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid #dce6e0;
    background:rgba(255,255,255,.97);
    box-shadow:0 -10px 30px rgba(17,24,39,.10);
    backdrop-filter:blur(14px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(calc(100% + 8px));
    transition:transform .24s ease-out,opacity .18s ease-out,visibility 0s linear .24s;
  }
  .buzz-order .mobile-checkout-dock.has-item{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:0s;
  }
  .buzz-order .mobile-checkout-dock>div{display:grid;gap:1px;min-width:72px}
  .buzz-order .mobile-checkout-dock small{color:#6d7771;font:650 10px/1.2 Inter,system-ui,sans-serif}
  .buzz-order .mobile-checkout-dock strong{color:#12251a;font:800 18px/1.1 Inter,system-ui,sans-serif}
  .buzz-order .mobile-checkout-dock .btn{min-height:50px;border-radius:11px;font-size:13px}
  .buzz-order .mobile-checkout-dock.ready .btn{box-shadow:0 8px 20px rgba(19,137,69,.20)}
  .buzz-order .mobile-cart-icon{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid #dce6e0;border-radius:12px;background:#fff;color:#26372d}
  .buzz-order .mobile-cart-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .buzz-order .mobile-cart-icon b{position:absolute;top:-7px;right:-5px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#20c96b;color:#07341e;font:850 10px/1 Inter,system-ui,sans-serif}

  .buzz-order .funnel-layer{place-items:end center;padding:0}
  .buzz-order .funnel-sheet{
    width:100%;max-height:min(88dvh,760px);overflow:auto;overscroll-behavior:contain;
    padding:24px 20px calc(22px + env(safe-area-inset-bottom));border-width:1px 0 0;
    border-radius:24px 24px 0 0;box-shadow:0 -16px 55px rgba(5,35,20,.22);
    animation:funnel-sheet-in .24s ease-out both;
  }
  .buzz-order .funnel-sheet h2{font-size:27px}
  .buzz-order .funnel-sheet p{font-size:14px}
  .buzz-order .funnel-close{top:14px;right:14px}
  .buzz-order .email-capture-sheet{padding-top:30px}
  .buzz-order .cart-review-sheet{padding-top:22px}
  .buzz-order .cart-review-products{margin-top:18px}
  .buzz-order .cart-review-lines>div{padding-block:11px}
  .buzz-order #cart-continue-payment{position:sticky;bottom:0;z-index:2;margin-top:4px;box-shadow:0 10px 25px rgba(9,119,58,.22)}

  /* Mobile CRO: keep required choices near the top and easy to tap. */
  .buzz-order .order-main{padding-top:12px}
  .buzz-order .xp-wrap{margin:0 0 12px}
  .buzz-order .steps-bar{display:none}
  .buzz-order #view-build>.center{margin:0 0 18px!important;text-align:left}
  .buzz-order #view-build>.center .kicker{font-size:10px}
  .buzz-order #view-build>.center h2{font-size:clamp(31px,9vw,40px);line-height:1.02;margin:8px 0}
  .buzz-order #view-build>.center .sub{font-size:15px;line-height:1.45;margin:0!important}
  .buzz-order .order-grid{gap:14px}
  .buzz-order .panel{padding:18px 16px;margin-bottom:12px;border-radius:16px}
  .buzz-order .panel h3{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:11px;min-height:32px;font-size:20px;line-height:1.16;margin-bottom:9px}
  .buzz-order .panel h3 .px-tag{display:inline-grid;place-items:center;width:42px;min-width:42px;height:30px;margin:0;border-radius:999px;font-size:10px;line-height:1}
  .buzz-order .panel h3 .panel-title{display:block;min-width:0;text-align:left;overflow-wrap:normal;word-break:normal}
  .buzz-order .panel h3 .panel-title-long{font-size:18px;line-height:1.15;letter-spacing:-.25px}
  .buzz-order .panel .hint{font-size:13px;line-height:1.45;margin:0 0 12px}
  .buzz-order .plat-select{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .buzz-order .plat-select .selectable{min-height:68px;padding:8px 4px;font-size:12px}
  .buzz-order .speed-row{gap:8px}
  .buzz-order .speed-row .selectable{min-height:46px;padding:10px 12px;font-size:13px}
  .buzz-order .handle-wrap .input{min-height:54px;font-size:16px}
  .buzz-order .acct-card{display:none!important}
  .buzz-order .mobile-add-order{display:block;width:100%;min-height:54px;margin-top:16px;border-radius:12px;font-size:15px}
}

@media(max-width:380px){
  .buzz-order .mobile-checkout-dock{grid-template-columns:42px 58px 1fr;gap:7px;padding-inline:8px}
  .buzz-order .mobile-cart-icon{width:42px;height:42px}
  .buzz-order .mobile-checkout-dock .btn{font-size:12px;padding-inline:10px}
  .buzz-order .checkout-page .checkout-order{margin-inline:8px}
  .buzz-order .checkout-page .checkout-payment{padding-inline:12px}
}

@keyframes funnel-sheet-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .buzz-order .funnel-sheet,.buzz-order .offer-spinner{animation:none!important}
  .buzz-order .funnel-sheet *{scroll-behavior:auto!important}
  .buzz-order .mobile-checkout-dock{transition:none!important}
}
