.fu-payment-notice-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(18,7,14,.72);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.fu-payment-notice-overlay.is-open{opacity:1;visibility:visible}
.fu-payment-notice-card{width:min(620px,100%);background:#fff;border:1px solid #f4c5dc;border-radius:28px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28);position:relative;transform:translateY(18px) scale(.98);transition:transform .25s ease}
.fu-payment-notice-overlay.is-open .fu-payment-notice-card{transform:translateY(0) scale(1)}
.fu-payment-notice-badge{display:inline-flex;align-items:center;gap:8px;background:#fff0f7;color:#d80b68;border:1px solid #f6c5dc;border-radius:999px;padding:7px 13px;font-weight:800;font-size:13px;letter-spacing:.4px}
.fu-payment-notice-card h2{margin:14px 0 8px;font-size:28px;color:#171017}.fu-payment-notice-lead{margin:0 0 18px;color:#666;line-height:1.6}
.fu-payment-method-box{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.fu-payment-method-item{border:1px solid #ecd6e1;border-radius:17px;padding:16px;background:linear-gradient(135deg,#fff,#fff6fa);display:flex;align-items:center;gap:11px;font-weight:800}.fu-payment-method-icon{width:38px;height:38px;border-radius:12px;background:#f40a73;color:#fff;display:grid;place-items:center;font-size:18px;flex:0 0 38px}
.fu-payment-langs{display:grid;gap:11px;margin:20px 0}.fu-payment-lang{border-left:4px solid #f40a73;background:#fff7fa;border-radius:12px;padding:12px 14px;line-height:1.55;color:#3b3036}.fu-payment-lang b{display:block;color:#c70a5d;margin-bottom:3px}
.fu-payment-notice-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.fu-payment-notice-continue{border:0;cursor:pointer;background:#f40a73;color:#fff;border-radius:14px;padding:13px 20px;font:inherit;font-weight:800;box-shadow:0 10px 25px rgba(244,10,115,.22)}
.fu-payment-notice-close{position:absolute;top:13px;right:15px;width:38px;height:38px;border:1px solid #ecd6e1;border-radius:50%;background:#fff;color:#777;font-size:22px;cursor:pointer}
@media(max-width:620px){.fu-payment-notice-card{padding:23px 18px;border-radius:22px}.fu-payment-notice-card h2{font-size:23px}.fu-payment-method-box{grid-template-columns:1fr}.fu-payment-notice-actions{justify-content:stretch}.fu-payment-notice-continue{width:100%}}


/* Google Review follow-up popup shown after an order request is sent */
.fu-google-review-popup-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(18,7,14,.72);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.fu-google-review-popup-overlay.is-open{opacity:1;visibility:visible}
.fu-google-review-popup-card{width:min(560px,100%);background:#fff;border:1px solid #f4c5dc;border-radius:28px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28);position:relative;transform:translateY(18px) scale(.98);transition:transform .25s ease;text-align:center}
.fu-google-review-popup-overlay.is-open .fu-google-review-popup-card{transform:translateY(0) scale(1)}
.fu-google-review-popup-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:20px;background:#fff1f7;border:1px solid #f6c5dc;display:grid;place-items:center;font-size:31px;box-shadow:0 10px 28px rgba(244,10,115,.14)}
.fu-google-review-popup-card h2{margin:0 0 8px;color:#171017;font-size:27px}.fu-google-review-popup-card p{margin:0 auto 20px;color:#666;line-height:1.65;max-width:470px}
.fu-google-review-popup-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.fu-google-review-popup-review,.fu-google-review-popup-later{border:0;cursor:pointer;border-radius:14px;padding:13px 19px;font:inherit;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.fu-google-review-popup-review{background:#f40a73;color:#fff;box-shadow:0 10px 25px rgba(244,10,115,.22)}.fu-google-review-popup-later{background:#fff;color:#555;border:1px solid #e7d8e0}
.fu-google-review-popup-close{position:absolute;top:13px;right:15px;width:38px;height:38px;border:1px solid #ecd6e1;border-radius:50%;background:#fff;color:#777;font-size:22px;cursor:pointer}
@media(max-width:620px){.fu-google-review-popup-card{padding:24px 18px;border-radius:22px}.fu-google-review-popup-card h2{font-size:23px}.fu-google-review-popup-actions{display:grid;grid-template-columns:1fr}.fu-google-review-popup-review,.fu-google-review-popup-later{width:100%;box-sizing:border-box}}

/* ============================================================
   MOBILE FIT — payment notice
   Keep the complete notice inside one phone viewport.
   ============================================================ */
@media(max-width:620px){
  .fu-payment-notice-overlay{
    width:100%;
    max-width:100vw;
    box-sizing:border-box;
    padding:10px;
    overflow:hidden;
    overscroll-behavior-x:none;
  }
  .fu-payment-notice-card{
    width:100%;
    max-width:calc(100vw - 20px);
    min-width:0;
    max-height:calc(100dvh - 20px);
    box-sizing:border-box;
    overflow-x:hidden;
    overflow-y:auto;
    padding:20px 15px;
    border-radius:20px;
  }
  .fu-payment-notice-card h2,
  .fu-payment-notice-lead,
  .fu-payment-lang,
  .fu-payment-method-item{overflow-wrap:anywhere}
  .fu-payment-method-box{grid-template-columns:1fr;gap:8px}
  .fu-payment-method-item{padding:13px 12px}
  .fu-payment-langs{gap:8px;margin:15px 0}
  .fu-payment-lang{padding:10px 11px;line-height:1.5}
  .fu-payment-notice-actions{margin-top:15px}
  .fu-payment-notice-continue{width:100%;box-sizing:border-box}
}
@media(max-width:380px){
  .fu-payment-notice-overlay{padding:7px}
  .fu-payment-notice-card{max-width:calc(100vw - 14px);max-height:calc(100dvh - 14px);padding:18px 12px;border-radius:18px}
  .fu-payment-notice-card h2{font-size:21px}
  .fu-payment-lang{font-size:13px}
  .fu-payment-method-item{font-size:13px}
}
