:root{--rfr-green:#00ef4f;--rfr-black:#181b1e;--rfr-border:#d7dce1}
.rfr-modal[hidden],.rfr-loading[hidden],.rfr-period-widget[hidden]{display:none!important}
.rfr-modal,.rfr-modal *{box-sizing:border-box}
.rfr-modal{position:fixed!important;inset:0;z-index:10020;display:grid;place-items:center;margin:0!important;padding:24px;overflow:hidden}
.rfr-modal__backdrop{position:absolute;inset:0;background:rgba(7,10,13,.7);backdrop-filter:blur(4px)}
.rfr-modal__panel{position:relative;width:min(760px,100%);min-width:0;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:56px 46px 78px;background:#fff;border:2px solid var(--rfr-black);border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.28);color:#101418}
.rfr-modal__close{position:absolute;right:12px;top:10px;width:42px;height:42px;border:0;border-radius:50%;background:#f0f1f2;color:#16191c;font-size:26px;line-height:1;cursor:pointer}
.rfr-eyebrow{margin:0 0 14px;color:#4d5b75;font-size:11px;letter-spacing:2px}
.rfr-modal h2{margin:0 0 10px;font-size:36px;line-height:1.15;letter-spacing:0;font-weight:500}
.rfr-modal__description{margin:0 0 28px;color:#68717c;font-size:16px}
.rfr-date-fields{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:12px}
.rfr-date-field{min-width:0;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--rfr-border);border-radius:10px;background:#fafbfc}
.rfr-date-field span{color:#5015ff;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.rfr-date-field input{width:100%;min-width:0;border:0;background:transparent;color:#30343a;font-size:16px;outline-offset:5px}
.rfr-date-arrow{text-align:center;color:#747d86;font-size:24px}
.rfr-submit{width:100%;height:54px;margin-top:14px;border:0;border-radius:9px;background:var(--rfr-black);color:#fff;font-weight:600;cursor:pointer}
.rfr-submit:disabled{opacity:.6;cursor:wait}.rfr-form-message{min-height:20px;margin:8px 0 0;color:#b42318;font-size:13px}
.rfr-loading{position:fixed!important;left:50%;top:50%;z-index:10030;display:flex;align-items:center;gap:12px;margin:0!important;transform:translate(-50%,-50%);padding:15px 20px;background:#fff;border:1px solid var(--rfr-border);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.2);color:#171a1d}
.rfr-spinner{width:20px;height:20px;border:3px solid #d9dde1;border-top-color:#171a1d;border-radius:50%;animation:rfr-spin .75s linear infinite}
@keyframes rfr-spin{to{transform:rotate(360deg)}}
.rfr-period-widget{position:fixed!important;right:24px;bottom:24px;z-index:9990;display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:220px;margin:0!important;padding:20px 22px;background:var(--rfr-green);border:1px solid #00d849;border-radius:22px;box-shadow:0 12px 35px rgba(0,0,0,.14);color:#06150b}
.rfr-period-widget span{font-size:11px}.rfr-period-widget strong{font-size:14px}.rfr-period-widget button,.rfr-cart-period button{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font-size:12px;cursor:pointer}
.rfr-period-widget{box-sizing:border-box;padding-right:52px}
.rfr-period-widget .rfr-period-widget__close{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;font-size:26px;line-height:1}
.rfr-period-widget__close:hover{background:rgba(0,0,0,.08)}
.rfr-period-widget__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.rfr-product-availability{margin:8px 0}.rfr-status{font-size:13px}.rfr-status--available{color:#14733b}.rfr-status--unavailable{color:#b42318}.rfr-status--pending{color:#676f78}
.rfr-cart-period{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:16px;border-left:4px solid var(--rfr-green);background:#f5f7f7}.rfr-cart-period button{margin-left:auto}.rfr-cart-period__warning{color:#b42318}
.rfr-notice{position:fixed;left:50%;top:20px;z-index:10040;width:min(620px,calc(100% - 32px));transform:translateX(-50%);padding:14px 18px;border-left:4px solid #f2a900;background:#fff;color:#24272a;box-shadow:0 8px 28px rgba(0,0,0,.2)}
body.rfr-modal-open{overflow:hidden}
@media(max-width:640px){
  .rfr-modal{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .rfr-modal__panel{width:100%;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:52px 18px 22px;border-radius:14px}
  .rfr-eyebrow{margin-bottom:10px}
  .rfr-modal h2{font-size:26px;overflow-wrap:break-word}
  .rfr-modal__description{margin-bottom:18px;font-size:14px;line-height:1.5}
  .rfr-date-fields{grid-template-columns:minmax(0,1fr);gap:10px}
  .rfr-date-field{gap:8px;padding:12px}
  .rfr-date-field input{display:block;max-width:100%;min-height:28px;font-size:16px}
  .rfr-date-arrow{display:none}
  .rfr-submit{min-height:48px;height:auto;padding:14px 12px;white-space:normal}
  .rfr-period-widget{right:12px;bottom:12px;width:calc(100% - 24px);border-radius:12px}
  .rfr-cart-period button{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.rfr-spinner{animation-duration:1.5s}}
