.fe-contract-sticky{position:fixed;bottom:0;left:0;right:0;z-index:900;background:#fff;border-top:1px solid #cbd9cf;box-shadow:0 -5px 24px #194e4112;padding:16px 24px calc(16px + env(safe-area-inset-bottom))}
.fe-contract-sticky[hidden]{display:none!important}
.fe-contract-sticky-inner{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fe-contract-sticky .fe-sticky-title{font-size:16px;color:#194e41}
.fe-sticky-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;color:#194e41}
.fe-sticky-price>strong{font-size:23px;font-weight:600}
.fe-sticky-price>del{font-size:15px;color:#52695c}
.fe-sticky-price>small{font-size:12px;flex-basis:100%}
.fe-contract-sticky .fe-sticky-details{background:none!important;border:0!important;padding:4px 0!important;color:#194e41!important;text-decoration:underline;font-size:14px!important}
.fe-contract-sticky .fe-sticky-next{background:#194e41!important;color:white!important;border:0!important;border-radius:8px!important;padding:14px 28px!important;font-size:17px!important}
.fe-has-sticky-contract{padding-bottom:var(--fe-sticky-space,170px)!important}
.fe-has-sticky-contract .fe-wizard-controls :is(.fe-wizard-next,.fe-studio-selection-status){visibility:hidden}
.fe-contract-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;border:0;padding:0;background:#fff;color:#194e41;box-shadow:-10px 0 40px #0002}
.fe-contract-drawer[open]{display:flex;flex-direction:column}
.fe-contract-drawer::backdrop{background:#102d2666}
.fe-contract-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #d6e0d9;gap:16px}
.fe-contract-drawer>header h2{font-size:25px;margin:0;line-height:1.3}
.fe-contract-drawer>header button{font-size:30px;color:#194e41;background:none;border:0;padding:0;width:44px;height:44px}
.fe-drawer-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:24px}
.fe-drawer-contract{font-size:23px!important;margin:0 0 18px!important}
.fe-contract-drawer .fe-sign-v2{margin:0!important;padding:0!important}
.fe-contract-drawer .fe-sign-v2__calc{margin:0!important;border:0!important;padding:0!important}
.fe-contract-drawer>footer{padding:16px 24px;border-top:1px solid #d6e0d9}
.fe-contract-drawer>footer button{width:100%;background:white;color:#194e41;border:1px solid #194e41;border-radius:8px;padding:12px;font-size:16px}
@media(max-width:600px){.fe-contract-sticky{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.fe-contract-sticky-inner{gap:12px}.fe-sticky-price>strong{font-size:19px}.fe-contract-sticky .fe-sticky-next{padding:12px 16px!important;white-space:nowrap}.fe-drawer-scroll{padding:20px}}


.fe-sign-v2.fe-wizard .fe-sign-v2__contract-card.is-selected { border: 2px solid #194e41 !important; background: #edf4ef !important; }
.fe-sign-v2 .fe-sign-v2__contract-card button[aria-pressed="true"]::before { content: ""; display: inline-block; vertical-align: middle; width: 24px; height: 24px; margin-right: 10px; border: 0; border-radius: 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m20%206-11%2011-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m20%206-11%2011-5-5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.fe-contract-sticky { box-sizing: border-box; }
.fe-contract-sticky button:focus-visible { outline: 2px solid #194e41; outline-offset: 4px; }

/* Aligned customer choices: separate start and invoice sections. */
.fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) {
    padding: 24px !important; margin-top: 24px !important; border: 1px solid #d5e0d9 !important;
    border-radius: 12px; background: #fff; box-sizing: border-box;
}
.fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) h3 { margin: 0 0 12px !important; font-size: 22px !important; line-height: 1.3 !important; }
.fe-sign-v2.fe-wizard .fe-sign-v2__order-start > p { margin: 0 0 20px !important; font-size: 16px !important; line-height: 1.6 !important; max-width: 70ch; }
.fe-sign-v2.fe-wizard .fe-sign-v2__date-energy { display: block; }
.fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) .fe-sign-v2__toggle { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px !important; max-width: 600px; margin: 0 !important; }
.fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) .fe-sign-v2__toggle label { margin: 0 !important; min-width: 0; }
.fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) .fe-sign-v2__toggle span { display: flex !important; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; height: 100%; min-height: 52px; padding: 12px !important; border-radius: 8px !important; font-size: 16px !important; line-height: 1.4 !important; }
.fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) .fe-sign-v2__toggle input:focus-visible + span { outline: 2px solid #194e41; outline-offset: 3px; }
.fe-sign-v2.fe-wizard #fe_v2_start_date_wrap:not([hidden]) { margin-top: 16px; max-width: 600px; }
.fe-sign-v2.fe-wizard .fe-sign-v2__invoice > .fe-sign-v2__check { margin: 20px 0 0 !important; gap: 10px !important; align-items: center; font-size: 16px !important; }
.fe-sign-v2.fe-wizard .fe-sign-v2__invoice > .fe-sign-v2__check input { width: 20px; height: 20px; flex: 0 0 20px; margin: 0 !important; accent-color: #194e41; }
.fe-sign-v2.fe-wizard #fe_v2_invoice_fields:not([hidden]) { margin-top: 20px; }
@media(max-width:480px) {
 .fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) { padding: 16px !important; }
 .fe-sign-v2.fe-wizard :is(.fe-sign-v2__order-start,.fe-sign-v2__invoice) .fe-sign-v2__toggle span { font-size: 14px !important; padding: 10px 8px !important; }
}

.fe-sticky-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 4px; }
.fe-contract-sticky .fe-sticky-campaign { display: inline-block; padding: 5px 10px; border-radius: 999px; background: #9f4535; color: #fff; font-size: 13px; font-weight: 500; line-height: 1.4; }
.fe-contract-sticky .fe-sticky-campaign[hidden] { display: none !important; }
.fe-contract-sticky-inner > div { min-width: 0; }
.fe-contract-sticky .fe-sticky-next { flex-shrink: 0; }
@media(max-width:480px) { .fe-sticky-heading { align-items: flex-start; flex-direction: column; } .fe-contract-sticky .fe-sticky-campaign { font-size: 12px; border-radius: 10px; } }

/* Lucide Badge Percent (ISC): shared campaign indicator. */
.fe-sign-v2 .fe-sign-v2__campaign-badge > span[aria-hidden="true"],
.fe-contract-sticky .fe-sticky-campaign::before {
    display: inline-block; width: 22px; height: 22px; flex: 0 0 22px;
    padding: 0; border: 0; border-radius: 0; font-size: 0; line-height: 0;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M3.85%208.62a4%204%200%200%201%204.78-4.77%204%204%200%200%201%206.74%200%204%204%200%200%201%204.78%204.78%204%204%200%200%201%200%206.74%204%204%200%200%201-4.77%204.78%204%204%200%200%201-6.75%200%204%204%200%200%201-4.78-4.77%204%204%200%200%201%200-6.76Z%22%20%2F%3E%20%3Cpath%20d%3D%22m15%209-6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015h.01%22%20%2F%3E%20%3C%2Fsvg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M3.85%208.62a4%204%200%200%201%204.78-4.77%204%204%200%200%201%206.74%200%204%204%200%200%201%204.78%204.78%204%204%200%200%201%200%206.74%204%204%200%200%201-4.77%204.78%204%204%200%200%201-6.75%200%204%204%200%200%201-4.78-4.77%204%204%200%200%201%200-6.76Z%22%20%2F%3E%20%3Cpath%20d%3D%22m15%209-6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015h.01%22%20%2F%3E%20%3C%2Fsvg%3E") center / contain no-repeat;
}
.fe-contract-sticky .fe-sticky-campaign { display: inline-flex; align-items: center; gap: 6px; }
.fe-contract-sticky .fe-sticky-campaign::before { content: ''; width: 18px; height: 18px; flex-basis: 18px; }

/* A quiet next-action cue once the address has been resolved. */
.fe-sign-v2 .fe-usage-guide { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #d5e0d9; color: #426556; font-size: 15px; }
.fe-sign-v2 .fe-usage-guide[hidden] { display: none !important; }
.fe-sign-v2 .fe-usage-guide button { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 12px !important; border: 0 !important; border-radius: 8px !important; background: #edf4ef !important; color: #194e41 !important; font: inherit !important; font-weight: 500 !important; cursor: pointer; }
.fe-sign-v2 .fe-usage-guide button:hover { background: #dfece3 !important; }
.fe-sign-v2 .fe-usage-guide button:focus-visible { outline: 2px solid #194e41; outline-offset: 3px; }
.fe-sign-v2 .fe-sign-v2__usage { scroll-margin-top: 110px; }
.fe-sign-v2 .fe-sign-v2__usage.fe-usage-awaiting-choice { border-color: #86a591 !important; }
@media(prefers-reduced-motion:no-preference) { .fe-usage-guide:not([hidden]) { animation: fe-usage-guide-in .25s ease-out both; } @keyframes fe-usage-guide-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } } }

.fe-has-sticky-contract [data-wizard-step="customer"] :is(input,select,textarea) { scroll-margin-bottom: var(--fe-sticky-space,170px); }
