/* Yi Builders Core — shortcode & widget styles (works with the Yi Builders theme variables) */
.yb-form{background:#fff;border:1px solid #E4DED4;border-radius:14px;padding:26px;max-width:640px}
.yb-cta-band .yb-form{color:#232629}
.yb-form label{display:block;font-weight:700;margin:0 0 6px;font-size:.95rem}
.yb-form input[type=text],.yb-form input[type=tel],.yb-form input[type=email],.yb-form input[type=number],.yb-form select,.yb-form textarea{width:100%;padding:12px 14px;border:1px solid #CFC8BA;border-radius:9px;font:inherit;margin-bottom:16px;background:#fff}
.yb-form .yb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.yb-form button,.yb-submit{background:#1C4A38;color:#fff;font-weight:800;border:0;border-radius:10px;padding:14px 26px;font:inherit;cursor:pointer}
.yb-form button:hover,.yb-submit:hover{background:#123527}
.yb-notice{border-radius:10px;padding:14px 18px;margin:0 0 18px;font-weight:600}
.yb-notice--ok{background:#E7F4E4;border:1px solid #9CCB93}
.yb-notice--warn{background:#EEF3EF;border:1px solid #B9CDBF}
.yb-filter{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.yb-filter button{background:#fff;border:2px solid #1C1E20;color:#1C1E20;font-weight:700;border-radius:999px;padding:8px 18px;cursor:pointer;font:inherit}
.yb-filter button.is-active{background:#1C4A38;border-color:#1C4A38;color:#fff}
.yb-estimator{background:#fff;border:1px solid #E4DED4;border-radius:14px;padding:28px;max-width:760px;box-shadow:0 10px 30px rgba(28,30,32,.08)}
.yb-est-result{display:none;background:#1C1E20;color:#EDEAE4;border-radius:12px;padding:22px;margin-top:20px}
.yb-est-result .yb-est-range{font-size:1.9rem;font-weight:900;color:#1C4A38}
.yb-est-result .yb-est-source{font-weight:800;letter-spacing:.02em}
.yb-est-result .yb-est-expl{margin:10px 0 0;color:#EDEAE4}
.yb-est-result .yb-est-notes{margin:6px 0 0;color:#C9C4BA;font-size:.95rem}
.yb-est-result small{color:#C9C4BA}
/* Project gallery + lightbox */
.yb-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:18px 0 26px}
.yb-gallery-item{padding:0;border:0;background:none;cursor:pointer;border-radius:10px;overflow:hidden;line-height:0}
.yb-gallery-item img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .2s}
.yb-gallery-item:hover img{transform:scale(1.04)}
.yb-lightbox{position:fixed;inset:0;z-index:1200;background:rgba(12,12,12,.9);display:flex;align-items:center;justify-content:center}
.yb-lightbox[hidden]{display:none}
.yb-lightbox img{max-width:min(1100px,92vw);max-height:88vh;border-radius:10px}
.yb-lightbox-close{position:absolute;top:16px;right:20px;background:#1C4A38;color:#fff;border:0;border-radius:999px;width:44px;height:44px;font-size:1.4rem;font-weight:800;cursor:pointer;line-height:1}
.yb-faq-item{border:1px solid #E4DED4;border-radius:12px;background:#fff;margin-bottom:12px;overflow:hidden}
.yb-faq-q{width:100%;text-align:left;background:none;border:0;font:inherit;font-weight:800;padding:18px 20px;cursor:pointer;color:#1C1E20}
.yb-faq-a{display:none;padding:0 20px 18px;color:#5C6165}
.yb-faq-item.is-open .yb-faq-a{display:block}
.yb-review-card{background:#fff;border:1px solid #E4DED4;border-radius:14px;padding:22px}
.yb-review-card .yb-stars{color:#1C4A38;font-size:1.1rem;letter-spacing:2px}
/* Instant Estimate Assistant widget */
.yb-assist-btn{position:fixed;right:20px;bottom:20px;z-index:990;background:#1C4A38;color:#fff;border:0;border-radius:999px;padding:14px 22px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.25)}
@media(max-width:768px){.yb-assist-btn{bottom:66px}}
.yb-assist-panel{position:fixed;right:20px;bottom:76px;z-index:991;width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid #E4DED4;border-radius:16px;box-shadow:0 18px 44px rgba(0,0,0,.22);display:none;flex-direction:column;overflow:hidden}
@media(max-width:768px){.yb-assist-panel{bottom:120px}}
.yb-assist-panel.is-open{display:flex}
.yb-assist-head{background:#1C1E20;color:#fff;padding:14px 18px;font-weight:800;display:flex;justify-content:space-between;align-items:center}
.yb-assist-head button{background:none;border:0;color:#fff;font-size:1.2rem;cursor:pointer}
.yb-assist-log{padding:16px;max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.yb-msg{border-radius:12px;padding:10px 14px;max-width:88%;font-size:.95rem}
.yb-msg--bot{background:#F1ECE2;align-self:flex-start}
.yb-msg--user{background:#1C4A38;color:#fff;align-self:flex-end}
.yb-assist-input{display:flex;gap:8px;padding:12px;border-top:1px solid #E4DED4;flex-wrap:wrap}
.yb-assist-input input,.yb-assist-input select{flex:1;padding:10px;border:1px solid #CFC8BA;border-radius:8px;font:inherit;min-width:120px}
.yb-assist-input button{background:#1C1E20;color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.yb-assist-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px 12px}
.yb-assist-chips button{background:#fff;border:2px solid #1C4A38;color:#123527;border-radius:999px;padding:6px 14px;font:inherit;font-weight:700;cursor:pointer}
