.badf-finder{--badf-ink:#171717;--badf-muted:#606060;--badf-accent:#171717;box-sizing:border-box;max-width:1200px;margin:24px auto;padding:32px;color:var(--badf-ink);background:#f6f6f6;border:1px solid #ddd;border-radius:0;font-family:inherit;font-size:16px;line-height:1.55}
.badf-finder *{box-sizing:border-box}.badf-finder [hidden]{display:none!important}.badf-finder h2,.badf-finder h3,.badf-finder h4,.badf-finder p{color:inherit;margin:0 0 14px;padding:0}.badf-finder h2{font-size:clamp(26px,3vw,38px);line-height:1.18}.badf-finder h3{font-size:23px;line-height:1.3}.badf-finder h4{font-size:20px;line-height:1.35}.badf-finder .badf-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--badf-accent)}.badf-heading>p:last-child{color:var(--badf-muted);max-width:750px}
.badf-selects{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:16px;margin-top:26px}.badf-field{display:block;font-weight:600}.badf-field>span{display:block;margin-bottom:7px}.badf-finder select{display:block;width:100%;min-height:50px;background:#fff;border:1px solid #aaa;border-radius:0;padding:10px 30px 10px 12px;color:var(--badf-ink);font:inherit;line-height:1.4}.badf-finder select:disabled{background:#ededed;color:#777;cursor:not-allowed}.badf-tools{text-align:right;margin:8px 0}.badf-finder button{font:inherit;cursor:pointer}.badf-reset{border:0;background:transparent;text-decoration:underline;padding:8px;color:var(--badf-muted)}.badf-status{font-size:14px;color:var(--badf-muted);min-height:22px}.badf-roof-section{border:0;border-top:1px solid #ccc;padding:24px 0 0;margin:20px 0 28px;min-width:0}.badf-roof-section legend{font-size:23px;font-weight:700;padding:0 16px 0 0;line-height:1.4}.badf-roof-section>p{font-size:14px;color:var(--badf-muted)}
.badf-roofs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.badf-roof{position:relative;display:block;cursor:pointer;max-width:370px}.badf-roof input{position:absolute;top:17px;right:17px;width:19px;height:19px;z-index:1;accent-color:var(--badf-accent);cursor:pointer}.badf-roof-content{display:flex;flex-direction:column;height:100%;padding:20px;border:2px solid #d5d5d5;border-radius:0;background:white;transition:border-color .15s,background .15s}.badf-roof input:checked+.badf-roof-content{border-color:var(--badf-accent);background:#eee}.badf-roof .badf-roof-picture{display:block;width:100%;height:135px;object-fit:contain;overflow:hidden;margin-bottom:12px}.badf-roof strong{font-size:17px;display:block;margin-bottom:6px}.badf-roof-description{font-size:14px;line-height:1.45;color:var(--badf-muted)}.badf-roof-source{font-size:12px;display:block;margin-top:10px;color:#656565}.badf-finder :focus-visible{outline:3px solid #444;outline-offset:3px}.badf-roof input:focus-visible+.badf-roof-content{outline:3px solid #444;outline-offset:3px}
.badf-results{margin-top:26px}.badf-selection{font-weight:600;font-size:14px}.badf-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.badf-product{display:flex;flex-direction:column;background:#fff;padding:20px;border:1px solid #d5d5d5;border-radius:0;min-width:0}.badf-product-image{display:block;margin-bottom:20px}.badf-product-image img{width:100%;height:180px;object-fit:contain;display:block}.badf-product a{color:inherit}.badf-components{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:8px 0 20px;font-size:14px}.badf-components dt{color:var(--badf-muted);font-weight:400}.badf-components dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.badf-price{font-size:22px;font-weight:700;margin-top:auto;margin-bottom:8px}.badf-price del{font-size:15px;font-weight:400;color:var(--badf-muted)}.badf-price ins{background:transparent;text-decoration:none}.badf-price small{display:block;font-size:12px;font-weight:400}.badf-stock{font-size:13px;color:#555!important}.badf-stock-empty{color:#555!important}.badf-finder .badf-button{display:block;text-align:center;padding:12px 15px;background:var(--badf-accent);color:white;border-radius:0;font-weight:600;text-decoration:none}.badf-button:hover{filter:brightness(.9)}.badf-contact{margin-top:32px;padding:23px;background:#e7e7e7;border-radius:0}.badf-contact p{margin:4px 0 10px}.badf-contact-link{color:var(--badf-accent);font-weight:700;text-decoration:underline}.badf-retry{border:1px solid var(--badf-accent);color:var(--badf-accent);background:#fff;border-radius:0;padding:8px 14px}
@media(max-width:900px){.badf-selects{grid-template-columns:1fr 1fr}.badf-field:last-child{grid-column:1/-1}.badf-products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.badf-finder{padding:20px 16px;margin:12px auto}.badf-selects,.badf-products{grid-template-columns:1fr}.badf-field:last-child{grid-column:auto}.badf-roofs{grid-template-columns:1fr}.badf-roof{max-width:none}.badf-roof .badf-roof-picture{height:120px}.badf-contact{padding:18px}.badf-roof-section legend{font-size:21px}}

.badf-finder .badf-lead{font-size:19px;font-weight:600;margin-top:22px}.badf-finder h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;letter-spacing:-.025em;max-width:880px}.badf-heading>p:last-child{max-width:820px}.badf-roof input{appearance:none;border:1px solid #777;background:#fff;border-radius:0}.badf-roof input:checked{background:#171717;border-color:#171717}.badf-roof input:checked:after{content:'✓';display:block;color:#fff;font-size:16px;line-height:17px;text-align:center}.badf-contact{border-left:3px solid #171717}
body.badf-set-context form.variations_form{display:none!important}.badf-set-panel{color:#171717;background:#f4f4f4;border:1px solid #ccc;padding:24px;margin:20px 0;font-family:inherit;line-height:1.55}.badf-set-panel h2{font-size:25px;line-height:1.3}.badf-set-panel a{color:#171717;text-decoration:underline}.badf-set-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin:20px 0}.badf-set-parts>div{background:#fff;border:1px solid #ddd;padding:12px;min-width:0}.badf-set-parts img{width:100%;height:105px;object-fit:contain}.badf-set-parts strong,.badf-set-parts span,.badf-set-parts small{display:block;overflow-wrap:anywhere}.badf-set-parts span{font-size:13px}.badf-set-parts small{font-size:11px;color:#666}.badf-set-total{font-size:25px;font-weight:700;margin:22px 0}.badf-set-total small{display:block;font-size:12px;font-weight:400}.badf-set-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.badf-set-form label{font-size:13px}.badf-set-form input[type=number]{display:block;width:80px;min-height:46px;border:1px solid #999;border-radius:0;padding:8px;font:inherit;background:#fff;color:#171717}.badf-set-form button{background:#171717;color:#fff;border:1px solid #171717;border-radius:0;padding:13px 18px;cursor:pointer;font:inherit;font-weight:600}.badf-set-form button:hover{background:#444}.badf-bar-only{display:inline-block;margin-top:18px;font-size:13px}
@media(max-width:580px){.badf-set-parts{grid-template-columns:1fr}.badf-set-parts img{height:100px}.badf-set-panel{padding:16px}}

.badf-set-parts .woocommerce-Price-amount,.badf-set-parts .woocommerce-Price-currencySymbol{display:inline;white-space:nowrap}
.badf-set-gallery img { display:block!important; width:100%!important; height:clamp(220px,32vw,440px)!important; max-height:440px!important; object-fit:contain; margin:0 auto!important; }
.badf-total-label { display:block; font-size:13px; font-weight:400; margin-top:6px; }
/* Use one text style for the generated/custom set description in WooCommerce and Divi. */
body .badf-set-description { color:#606060; font-family:inherit; font-size:14px; line-height:1.8; }
body .badf-set-description :is(p,ul,ol,li,strong,b,span,h2,h3,h4),
body.badf-set-context .et_pb_wc_tabs .et_pb_all_tabs .et_pb_tab .badf-set-description :is(p,ul,ol,li,strong,b,span,h2,h3,h4) { color:inherit!important; }
body .badf-set-description :is(p,ul,ol,li) { font-size:inherit; line-height:inherit; }
/* Set prices already include the tax/shipping note; hide Germanized's duplicate below them. */
body.badf-set-context .et_pb_wc_price:has(.badf-total-label) ~ .legal-price-info,
body.badf-set-context .summary > .price:has(.badf-total-label) ~ .legal-price-info { display:none!important; }
/* Divi otherwise lets the tax/shipping note inherit the large bold product price. */
body small.badf-price-note { display:block!important; margin-top:4px; font-family:inherit; font-size:12px!important; font-weight:400!important; line-height:1.5!important; letter-spacing:normal!important; color:#606060!important; }
.badf-set-fallback { max-width:560px; margin:16px auto; }
.badf-set-fallback img { height:clamp(200px,28vw,340px)!important; max-height:340px!important; }
.product:has(.badf-native-set-gallery) .badf-set-panel .badf-set-fallback { display:none; }

/* Keep component thumbnails compact even inside Divi's WooCommerce modules. */
body .badf-set-panel { padding:20px; }
body .badf-set-panel .badf-set-parts { gap:10px; margin:14px 0; }
body .badf-set-panel .badf-set-parts > div { padding:10px; }
body .badf-set-panel .badf-set-parts img {
  display:block!important;
  width:128px!important;
  max-width:100%!important;
  height:96px!important;
  max-height:96px!important;
  object-fit:contain!important;
  margin:0 auto 8px!important;
}
body .badf-set-panel .badf-set-total { margin:16px 0; }
@media(max-width:580px) {
  body .badf-set-panel { padding:16px; }
  body .badf-set-panel .badf-set-parts > div { display:grid; grid-template-columns:72px minmax(0,1fr); column-gap:12px; align-content:start; }
  body .badf-set-panel .badf-set-parts > div > img { grid-column:1; grid-row:1 / span 6; width:72px!important; height:72px!important; max-height:72px!important; margin:0!important; }
  body .badf-set-panel .badf-set-parts > div > :not(img) { grid-column:2; }
}

.badf-finder .badf-sort{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0 20px;font-size:14px}.badf-finder .badf-sort select{width:auto;max-width:100%;min-height:42px;padding:8px 12px;border:1px solid #bbb;border-radius:0;background:#fff;color:#222;font:inherit}
