/**handles:fibel-project-bom-style**/
.fibel-project-bom{background:#fff;border:1px solid #e2e2e2;border-radius:8px;display:flex;flex-direction:column;margin:0 auto;max-width:800px;overflow:hidden;padding:0;position:relative}.fibel-project-bom .fibel-bom-slots-container{flex:1;padding:15px}.fibel-project-bom .fibel-bom-slot{margin-bottom:15px}.fibel-project-bom .fibel-bom-slot .fibel-bom-slot-header{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:5px}.fibel-project-bom .fibel-bom-slot .fibel-bom-slot-title{align-items:center;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;margin:0;width:100%}.fibel-project-bom .fibel-bom-slot .fibel-bom-slot-title .fibel-bom-toggle-btn{background:#f0f7ff;border-radius:4px;color:#0073aa;cursor:pointer;font-size:.8rem;font-weight:400;padding:2px 8px}.fibel-project-bom .fibel-bom-slot .fibel-bom-slot-title .fibel-bom-toggle-btn:hover{text-decoration:underline}.fibel-project-bom .fibel-bom-slot .fibel-bom-products{display:flex;flex-direction:column;gap:10px}.fibel-project-bom .fibel-bom-slot .fibel-bom-products.fibel-bom-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}@media(max-width:600px){.fibel-project-bom .fibel-bom-slot .fibel-bom-products.fibel-bom-grid{grid-template-columns:1fr}}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option{align-items:flex-start;background:#fff;border:1px solid #eee;border-radius:4px;cursor:pointer;display:flex;padding:8px;position:relative;transition:all .2s ease}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option.fibel-selected{background:#fdfdfd;border-color:#0073aa;box-shadow:0 2px 4px rgba(0,0,0,.05)}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option.fibel-selected:after{background:#0073aa;border-radius:50%;color:#fff;content:"✓";display:grid;font-size:10px;height:16px;place-content:center;position:absolute;right:-6px;top:-6px;width:16px}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option:hover{border-color:#aaa;box-shadow:0 4px 12px rgba(0,0,0,.05)}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-badge{border-radius:12px;bottom:5px;box-shadow:0 2px 5px rgba(0,0,0,.1);color:#fff;font-size:10px;font-weight:700;left:5px;padding:3px 8px;position:absolute;text-transform:uppercase;z-index:5}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-badge.fibel-bom-badge-recommended{background-color:#2196f3}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-badge.fibel-bom-badge-budget{background-color:#4caf50}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-badge.fibel-bom-badge-pro{background-color:#9c27b0}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option.out-of-stock{cursor:not-allowed;opacity:.6;pointer-events:none}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option input[type=radio]{accent-color:#333;display:block;margin-right:12px;margin-top:4px}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details{align-items:flex-start;display:flex;width:100%}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-thumb{background:#f9f9f9;border-radius:3px;height:50px;margin-right:12px;-o-object-fit:cover;object-fit:cover;width:50px}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col{display:flex;flex:1;flex-direction:column;min-width:0}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-name-row{line-height:1.4;margin-bottom:2px;padding-right:10px}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-name-row .fibel-bom-name{color:#333;display:block;font-size:1rem;font-weight:600}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-meta-row{align-items:center;display:flex;font-size:.9rem;gap:8px}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-meta-row .fibel-bom-price{color:#555;font-weight:500}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-meta-row .fibel-bom-stock-warning{background:#ffebe9;border-radius:2px;color:#d63638;font-size:.8rem;padding:0 4px}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-meta-row .fibel-bom-info-btn{align-items:center;background-color:#f0f0f0;border-radius:50%;bottom:5px;color:#555;cursor:pointer;display:flex;height:24px;justify-content:center;pointer-events:auto;position:absolute;right:5px;transition:all .2s ease;width:24px}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-meta-row .fibel-bom-info-btn:hover{background-color:#333;color:#fff}.fibel-project-bom .fibel-bom-slot .fibel-bom-product-option .fibel-bom-product-details .fibel-bom-info-col .fibel-bom-meta-row .fibel-bom-info-btn svg{display:block;height:14px;width:14px}.fibel-project-bom .fibel-bom-footer{align-items:center;background:#f7f7f7;border-top:1px solid #e0e0e0;display:flex;flex-direction:row-reverse;gap:15px;margin-top:auto;padding:15px 20px}.fibel-project-bom .fibel-bom-footer .fibel-bom-total{align-items:center;display:flex;font-size:1.1rem;margin-bottom:0}.fibel-project-bom .fibel-bom-footer .fibel-bom-total .fibel-total-label{color:#555;font-size:.9em;margin-right:10px}.fibel-project-bom .fibel-bom-footer .fibel-bom-total .fibel-total-amount{color:#2c3e50;font-size:1.2rem;font-weight:700}.fibel-project-bom .fibel-bom-footer .fibel-bom-add-to-cart-btn{cursor:pointer;font-size:1rem;padding:10px 20px}.fibel-project-bom .fibel-bom-footer .fibel-bom-add-to-cart-btn.loading{cursor:wait;opacity:.7}.fibel-project-bom .fibel-bom-footer .fibel-bom-messsage .error{color:red}.fibel-project-bom .fibel-bom-footer .fibel-bom-messsage .success{color:green}.fibel-bom-modal-overlay{align-items:center;background:rgba(0,0,0,.6);bottom:0;display:flex;height:100vh;justify-content:center;left:0;padding:20px;position:fixed!important;right:0;top:0;width:100vw;z-index:999999}.fibel-bom-modal{background:#fff;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.2);display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:100%}.fibel-bom-modal .fibel-bom-modal-close{background:0 0;border:none;color:#666;cursor:pointer;font-size:28px;line-height:1;padding:0;position:absolute;right:15px;top:10px;z-index:10}.fibel-bom-modal .fibel-bom-modal-close:hover{color:#000}.fibel-bom-modal .fibel-bom-modal-content{padding:30px}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header{border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:15px}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header .fibel-bom-modal-image{background-color:#f9f9f9;border-radius:4px;display:block;margin-bottom:15px;max-height:300px;-o-object-fit:contain;object-fit:contain;width:100%}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header h3{color:#222;font-size:1.4rem;margin:0 0 5px}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header .fibel-bom-modal-price{color:#444;font-size:1.2rem;font-weight:700}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note{font-size:.95rem;line-height:1.5;margin-bottom:20px}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note p{margin:0 0 4px}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note ul{list-style:disc;padding-left:20px}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note li{margin-bottom:2px}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note em{font-style:italic}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note strong{font-weight:600}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note :last-child{margin-bottom:0}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-footer-link{margin-top:10px;text-align:right}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-footer-link .fibel-bom-read-more{border-bottom:1px solid transparent;color:#0073aa;display:inline-block;font-size:.95rem;font-weight:600;text-decoration:none}.fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-footer-link .fibel-bom-read-more:hover{border-bottom-color:#0073aa}.fibel-bom-editor-visual .fibel-bom-product-option .fibel-bom-product-card-inner,.fibel-bom-editor-visual .fibel-bom-product-option .fibel-bom-product-card-inner .fibel-bom-project-note-editor{width:100%}.fibel-bom-editor-visual .fibel-bom-product-option .fibel-bom-product-details{flex-direction:column}body.is-dark-theme .fibel-project-bom{background:var(--wp--preset--color--base,#1e1e24);border-color:var(--wp--preset--color--border,#333)}body.is-dark-theme .fibel-project-bom .fibel-bom-slot-header{border-bottom-color:var(--wp--preset--color--border,#333)}body.is-dark-theme .fibel-project-bom .fibel-bom-slot-header .fibel-bom-slot-title{color:var(--wp--preset--color--contrast,#fff)}body.is-dark-theme .fibel-project-bom .fibel-bom-toggle-btn{background:hsla(0,0%,100%,.1);color:#fff}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option{background-color:#25252b;border-color:#383838;transition:all .2s ease}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option .fibel-bom-name-row .fibel-bom-name{color:#fff!important;font-weight:600}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option .fibel-bom-meta-row .fibel-bom-price{color:#e0e0e0!important}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option.fibel-selected{background:rgba(0,115,170,.15);border-color:#0073aa;box-shadow:0 0 0 1px #0073aa}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option.fibel-selected:after{box-shadow:0 0 0 2px #1e1e24}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option.out-of-stock{background:rgba(0,0,0,.2)!important;border:1px dashed #444!important;filter:grayscale(1);opacity:.5}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option.out-of-stock .fibel-bom-name-row .fibel-bom-name{color:#aaa!important}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option:hover:not(.out-of-stock){background-color:#2f2f36;border-color:#666}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option .fibel-bom-stock-warning{background:#501e1e;color:#f99}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option .fibel-bom-meta-row .fibel-bom-info-btn{background:#383838;color:#fff}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option .fibel-bom-meta-row .fibel-bom-info-btn:hover{background:#555}body.is-dark-theme .fibel-project-bom .fibel-bom-product-option .fibel-bom-thumb{background:#333;opacity:1}body.is-dark-theme .fibel-project-bom .fibel-bom-footer{background:var(--wp--preset--color--base,#1e1e24);border-top-color:var(--wp--preset--color--border,#333)}body.is-dark-theme .fibel-project-bom .fibel-bom-footer .fibel-bom-total .fibel-total-label{color:#aaa}body.is-dark-theme .fibel-project-bom .fibel-bom-footer .fibel-bom-total .fibel-total-amount{color:#fff}body.is-dark-theme .fibel-project-bom .fibel-bom-footer .fibel-bom-messsage .success{color:#66bb6a}body.is-dark-theme .fibel-project-bom .fibel-bom-footer .fibel-bom-messsage .error{color:#ef5350}body.is-dark-theme .fibel-bom-modal{background:#1e1e24;border:1px solid #333;color:#fff}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-close{color:#aaa}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-close:hover{color:#fff}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header{border-bottom-color:#333}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header .fibel-bom-modal-image{background:#2a2a30}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header h3{color:#fff}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-header .fibel-bom-modal-price{color:#ccc}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note{color:#ddd}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-project-note strong{color:#fff}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-footer-link .fibel-bom-read-more{color:#4da6ff}body.is-dark-theme .fibel-bom-modal .fibel-bom-modal-content .fibel-bom-modal-footer-link .fibel-bom-read-more:hover{border-bottom-color:#4da6ff}