.ftm-root{position:fixed;inset:0;z-index:999990;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.ftm-shade{position:absolute;inset:0;background:rgba(16,34,25,.48);backdrop-filter:blur(3px)}
.ftm-dialog{position:relative;width:100%;max-width:570px;max-height:calc(100dvh - 48px);overflow:auto;box-sizing:border-box;padding:36px;border-radius:20px;background:#fffef9;color:#24392e;box-shadow:0 24px 100px rgba(0,0,0,.2);font-family:inherit;font-size:15px;font-weight:400;line-height:1.5;text-align:left;overscroll-behavior:contain}
.ftm-dialog *,.ftm-entry *{box-sizing:border-box}
.ftm-dialog button,.ftm-entry button{font:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;white-space:normal}
.ftm-dialog button:focus-visible,.ftm-entry button:focus-visible{outline:3px solid #b78132;outline-offset:3px}
.ftm-dialog button:disabled{cursor:default;opacity:.55}
.ftm-close{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;padding:0!important;background:transparent!important;color:#53665a!important;font-size:28px!important;line-height:1}
.ftm-eyebrow{margin:0 0 8px!important;font-size:11px;font-weight:700;letter-spacing:.13em;color:#56715b}
.ftm-title{margin:0 0 14px!important;font-size:32px!important;line-height:1.15!important;font-weight:650!important;letter-spacing:-.03em;color:#203e2b!important}
.ftm-summary{margin:0 0 22px!important;font-size:16px;line-height:1.5}
.ftm-selection{display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding:18px 20px;border-radius:12px;background:#edf2e8;margin-bottom:16px}
.ftm-month,.ftm-amount{font-size:17px;font-weight:650}
.ftm-count{grid-column:1/-1;color:#53665a;font-size:12px}
.ftm-deadline{margin:0 0 14px!important;font-size:14px;font-weight:650;color:#795323}
.ftm-copy{margin:0 0 12px!important;font-size:14px;line-height:1.55}
.ftm-actions{display:flex;flex-direction:column;gap:9px;margin-top:24px}
.ftm-primary,.ftm-secondary{display:block;width:100%;min-height:48px;padding:13px 16px!important;border-radius:9px!important;line-height:1.35!important;font-size:14px!important;font-weight:600!important;box-shadow:none!important;text-align:center}
.ftm-primary{color:#fff!important;background:#245a3b!important;border:1px solid #245a3b!important}
.ftm-primary:hover{background:#19482e!important}
.ftm-secondary{color:#315940!important;background:transparent!important;border:1px solid #c4d1c4!important}
.ftm-secondary:hover{background:#edf2e8!important}
.ftm-footnote{margin:14px 0 0!important;font-size:12px;line-height:1.5;color:#657568}
.ftm-error,.ftm-blocking{margin:12px 0 0!important;font-size:13px;line-height:1.5;color:#8a422d}
.ftm-error[hidden]{display:none}
.ftm-options{border-top:1px solid #dbe2d6;padding-top:20px;margin-top:20px}
.ftm-option+.ftm-option{margin-top:16px}
.ftm-entry{position:fixed;right:24px;bottom:24px;z-index:9990;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 18px;background:#fffef9;color:#315940;border:1px solid #c4d1c4;border-radius:12px;box-shadow:0 6px 24px #142e191a;max-width:calc(100vw - 32px)}
.ftm-entry-button{border:0!important;background:none!important;padding:0!important;min-height:24px;color:#245a3b!important;font-weight:650!important;font-size:15px!important;text-decoration:underline;text-underline-offset:3px}
.ftm-entry-label{font-size:12px;color:#657568}
.ftm-entry-inline{position:static;margin:16px 0 24px;box-shadow:none;max-width:100%}
.ftm-link-error{position:fixed;left:16px;right:16px;bottom:16px;padding:20px;background:#fffef9;border:1px solid #c4d1c4;z-index:9990;color:#8a422d}
body.ftm-open{overflow:hidden}
body:has(.flora-grace-payment) .woocommerce-order-overview{display:none}
.flora-grace-payment{max-width:570px;margin:36px auto;padding:32px;box-sizing:border-box;background:#fffef9;border:1px solid #dbe2d6;border-radius:16px;color:#24392e;font-size:16px;line-height:1.6}
.flora-grace-payment h2{margin:0 0 20px;font-size:30px;line-height:1.2;color:#203e2b;letter-spacing:-.02em}
.flora-grace-payment p{margin:0 0 16px}
#flora-grace-invoice-pay{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:14px 20px;border:0;border-radius:9px;background:#245a3b;color:#fff;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;white-space:normal}
#flora-grace-invoice-pay:disabled{opacity:.55;cursor:default}
#flora-grace-payment-error{margin:16px 0 0;font-size:14px;color:#795323}
@media(max-width:600px){.flora-grace-payment{margin:20px 12px;padding:24px 20px}}
@media(max-width:600px){.ftm-root{padding:12px;align-items:center}.ftm-dialog{padding:28px 22px 24px;border-radius:16px;max-height:calc(100dvh - 24px)}.ftm-title{font-size:29px!important}.ftm-summary{font-size:15px}.ftm-selection{padding:14px;gap:6px 12px}.ftm-month,.ftm-amount{font-size:15px}.ftm-entry{right:16px;bottom:16px}.ftm-actions{margin-top:20px}}
@media(prefers-reduced-motion:no-preference){.ftm-dialog{animation:ftm-in .18s ease-out}@keyframes ftm-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
