:root{--green:#0f4d3f;--green2:#176b55;--lime:#e9f7c8;--yellow:#ffc928;--ink:#11231f;--muted:#687b75;--bg:#f5f8f6}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff}.sol-nav{background:rgba(11,55,45,.97);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.08)}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--yellow);color:var(--ink);margin-right:5px}.hero{background:radial-gradient(circle at 85% 15%,rgba(255,201,40,.22),transparent 30%),linear-gradient(135deg,#0b3c31,#11604c);color:#fff}.hero h1,.page-hero h1,.article-hero h1{font-size:clamp(2.5rem,6vw,5.3rem);line-height:.98;letter-spacing:-.05em;font-weight:800;max-width:980px}.hero .lead{max-width:760px;color:rgba(255,255,255,.76);font-size:1.2rem}.eyebrow{display:inline-flex;align-items:center;text-transform:uppercase;letter-spacing:.11em;font-size:.74rem;font-weight:800;color:#fff;margin-bottom:16px}.eyebrow.dark{color:var(--green)}.quick-card{background:#fff;color:var(--ink);padding:28px;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.24)}.hero-trust{display:flex;gap:24px;flex-wrap:wrap;color:rgba(255,255,255,.78);font-size:.92rem}.hero-trust i{color:var(--yellow)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head h2{font-weight:800;letter-spacing:-.03em;font-size:2.2rem}.company-card,.article-card,.side-card,.admin-card,.filter-bar{position:relative;background:#fff;border:1px solid #e3eae7;border-radius:20px;padding:24px;box-shadow:0 8px 30px rgba(15,77,63,.05)}.company-card{transition:.2s}.company-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(15,77,63,.12)}.company-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--lime);color:var(--green);font-size:1.3rem}.company-icon.big{width:72px;height:72px;font-size:1.7rem}.tag{display:inline-block;background:#f1f6f4;color:#34544b;padding:5px 9px;border-radius:999px;font-size:.75rem;margin:2px}.soft-section{background:var(--bg)}.article-card h3,.article-card h4{margin:10px 0}.article-card a{text-decoration:none;color:var(--ink)}.article-card p{color:var(--muted)}.cta-panel{background:linear-gradient(135deg,#0b3c31,#176b55);color:#fff;border-radius:28px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.page-hero,.article-hero{background:linear-gradient(135deg,#0b3c31,#176b55);color:#fff}.page-hero h1,.article-hero h1{font-size:clamp(2.3rem,5vw,4rem)}.page-hero p,.article-hero p{color:rgba(255,255,255,.72);font-size:1.1rem}.service-pill{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:999px;background:#eef7f2;color:var(--green);font-weight:600}.side-card p{display:flex;gap:10px;align-items:start}.review-card{border-bottom:1px solid #e7eeeb;padding:18px 0}.stars{color:#ffb400}.stars .muted{color:#d7d7d7}.result-card{background:linear-gradient(135deg,#0d4638,#0e6a52);color:#fff;border-radius:28px;padding:34px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.result-grid div{background:rgba(255,255,255,.1);padding:18px;border-radius:16px}.result-grid span{display:block;color:rgba(255,255,255,.65);font-size:.8rem}.result-grid strong{font-size:1.45rem}.info-panel{background:#f4f8f6;border-radius:28px;padding:38px}.info-panel>i{font-size:2.2rem;color:var(--green)}.empty-state{padding:36px;border:2px dashed #d5e1dc;border-radius:18px;text-align:center;color:var(--muted)}.article-body{font-size:1.08rem;line-height:1.8}.article-body h2,.article-body h3{margin-top:2rem;font-weight:800}.footer{background:#092f28;color:#fff}.footer a{display:block;color:rgba(255,255,255,.65);text-decoration:none;margin:8px 0}.admin-body{background:#f3f6f5}.admin-shell{min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#0b332b;color:#fff;padding:22px;z-index:10}.admin-brand{display:block;color:#fff;text-decoration:none;font-size:1.45rem;font-weight:800;margin-bottom:10px}.admin-brand i{color:var(--yellow)}.admin-user{font-size:.8rem;color:rgba(255,255,255,.55);margin-bottom:25px}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.76);text-decoration:none;padding:10px 12px;border-radius:10px;margin:3px 0}.admin-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-sidebar nav i{width:18px}.admin-main{margin-left:245px;padding:28px}.admin-top{display:flex;align-items:center;gap:15px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e1e8e5;border-radius:16px;padding:18px}.stat-card span{display:block;color:var(--muted);font-size:.78rem}.stat-card strong{font-size:1.8rem}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#092f28,#176b55);padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:24px;padding:36px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.login-logo{font-size:3rem;color:#f3b700}.pagination{--bs-pagination-active-bg:var(--green);--bs-pagination-active-border-color:var(--green)}@media(max-width:991px){.admin-sidebar{transform:translateX(-100%);transition:.2s}.admin-sidebar.show{transform:none}.admin-main{margin-left:0;padding:18px}.cta-panel{display:block}.cta-panel .btn{margin-top:20px}.hero h1{font-size:3rem}}
/* Solarly v1.1 marketplace */
.directory-hero{position:relative;overflow:hidden}.directory-hero:after{content:"";position:absolute;width:440px;height:440px;border:80px solid rgba(255,201,40,.08);border-radius:50%;right:-120px;top:-180px}.directory-filter label{font-size:.76rem;font-weight:750;color:#557068;margin-bottom:6px}.input-icon{position:relative}.input-icon i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#789087}.input-icon input{padding-left:40px}.directory-toolbar{display:flex;justify-content:space-between;align-items:center;margin:26px 0 18px}.view-toggle{display:flex;padding:4px;border:1px solid #dfe8e4;border-radius:12px;background:#fff}.view-toggle button{border:0;background:transparent;width:38px;height:34px;border-radius:9px;color:#6e827b}.view-toggle button.active{background:#0f4d3f;color:#fff}.company-market-card{display:flex;flex-direction:column;padding:20px;overflow:hidden}.company-card-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.company-logo-box{width:78px;height:68px;border:1px solid #e5ece9;border-radius:16px;background:#fff;display:grid;place-items:center;overflow:hidden;color:var(--green);font-size:1.4rem}.company-logo-box img{width:100%;height:100%;object-fit:contain;padding:8px}.company-badges{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.market-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:.69rem;font-weight:750}.market-badge.verified{background:#e6f7ee;color:#13704c}.market-badge.featured{background:#fff1bd;color:#755800}.market-badge.claimed{background:#e9efff;color:#3851a3}.company-card-body{flex:1}.company-card-body h3{font-size:1.18rem;font-weight:800;margin:17px 0 4px}.company-tagline{font-size:.85rem;color:#577169;min-height:1.3em}.rating-line{display:flex;align-items:center;gap:3px;font-size:.77rem;color:#677a74}.rating-line i{color:#f7b500;font-size:.7rem}.rating-line i.muted{color:#dde3e0}.rating-line strong{margin-left:4px;color:#233c35}.company-summary{font-size:.88rem;color:#6b7d77;margin:12px 0}.company-tags{min-height:33px}.company-area{margin-top:12px;font-size:.8rem;color:#657a73}.company-area i{color:var(--green);margin-right:6px}.company-card-actions{display:flex;gap:8px;border-top:1px solid #edf1ef;margin:16px -20px -20px;padding:14px 20px}.company-results-grid.list-view .company-col{width:100%}.company-results-grid.list-view .company-market-card{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:center}.company-results-grid.list-view .company-card-head{display:block}.company-results-grid.list-view .company-badges{justify-content:flex-start;margin-top:8px}.company-results-grid.list-view .company-card-body h3{margin-top:0}.company-results-grid.list-view .company-card-actions{border:0;margin:0;padding:0;min-width:170px}.company-profile-hero{position:relative;background:linear-gradient(135deg,#093a30,#11604c);color:#fff;background-image:linear-gradient(90deg,rgba(5,37,30,.94),rgba(5,37,30,.72)),var(--company-cover);background-size:cover;background-position:center}.company-profile-overlay{position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(255,201,40,.18),transparent 30%)}.profile-identity{display:flex;align-items:center;gap:22px}.profile-logo{width:118px;height:104px;flex:0 0 auto;background:#fff;border-radius:22px;display:grid;place-items:center;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.18);color:var(--green);font-size:2rem}.profile-logo img{width:100%;height:100%;object-fit:contain;padding:12px}.profile-identity h1{font-size:clamp(2rem,5vw,3.7rem);font-weight:850;letter-spacing:-.045em;margin:0}.profile-tagline{color:rgba(255,255,255,.75);font-size:1.03rem;margin:5px 0 10px}.profile-meta{display:flex;gap:18px;flex-wrap:wrap;color:rgba(255,255,255,.72);font-size:.88rem}.rating-line.inverse strong{color:#fff}.profile-main-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.profile-section{padding:6px 0 35px;margin-bottom:28px;border-bottom:1px solid #e8eeeb}.profile-section h2{font-weight:820;letter-spacing:-.03em}.section-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800;color:var(--green);margin-bottom:7px}.profile-facts{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.profile-facts div{background:#f3f7f5;padding:12px 16px;border-radius:13px}.profile-facts span{display:block;font-size:.7rem;color:#70837d}.profile-facts strong{font-size:.9rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-tile{border:1px solid #e4ece8;border-radius:15px;padding:15px;display:flex;gap:10px;align-items:center;background:#fff}.service-tile i{color:var(--green)}.company-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.company-gallery figure{margin:0;border-radius:16px;overflow:hidden;background:#f0f4f2;position:relative;aspect-ratio:4/3}.company-gallery img{width:100%;height:100%;object-fit:cover}.company-gallery figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;padding:26px 12px 10px;font-size:.75rem}.company-faq .accordion-item{border:1px solid #e4ece8!important;border-radius:14px!important;overflow:hidden;margin-bottom:8px}.company-faq .accordion-button{font-weight:700;box-shadow:none!important}.review-heading{display:flex;justify-content:space-between;align-items:end}.rating-summary{text-align:right}.rating-summary>strong{font-size:2.5rem;line-height:1}.rating-summary span{display:block;font-size:.75rem;color:#71827c}.review-form-card{background:#f5f8f6;border-radius:20px;padding:24px;margin-top:24px}.profile-contact-card{top:92px}.contact-action{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e9eeec;color:var(--ink);text-decoration:none}.contact-action>i{width:38px;height:38px;border-radius:11px;background:#eef7f2;color:var(--green);display:grid;place-items:center}.contact-action span{font-size:.86rem;font-weight:650}.contact-action small{display:block;color:#83918c;font-size:.67rem;font-weight:600}.contact-action:hover span{color:var(--green)}.contact-action.no-link{cursor:default}.location-chip-wrap{display:flex;flex-wrap:wrap;gap:7px}.location-chip{background:#f1f6f4;border:1px solid #e2eae6;padding:6px 9px;border-radius:999px;text-decoration:none;color:#35554b;font-size:.75rem}.media-uploader{border:1px dashed #cad8d2;border-radius:16px;padding:14px;background:#f9fbfa}.media-preview{height:140px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;margin-bottom:10px;color:#9aa9a3;font-size:2rem}.media-preview img{width:100%;height:100%;object-fit:contain}.cover-preview img{object-fit:cover}.upload-status{margin-top:6px;color:#507067}.admin-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.admin-gallery-item{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#eef3f1}.admin-gallery-item img{width:100%;height:100%;object-fit:cover}.admin-gallery-item form{position:absolute;right:5px;top:5px}.repeat-row{display:grid;grid-template-columns:150px 1fr 2fr 44px;gap:8px;margin-top:10px}.repeat-row.faq-row{grid-template-columns:1fr 1.6fr 44px}.area-selector{max-height:490px;overflow:auto}.area-selector details{border-bottom:1px solid #e6ece9;padding:8px 0}.area-selector summary{font-weight:750;cursor:pointer}.area-options{padding:8px 0 0 8px}.area-options .form-check{margin:5px 0}.sticky-save{position:sticky;bottom:18px;box-shadow:0 10px 24px rgba(0,0,0,.15)}#solarly-loading{position:fixed;z-index:9999;left:0;right:0;top:0;height:3px;opacity:0;pointer-events:none;transition:.15s;background:rgba(15,77,63,.12);overflow:hidden}#solarly-loading.show{opacity:1}.loading-dot{height:100%;width:35%;background:var(--yellow);animation:solLoading 1s infinite ease-in-out}@keyframes solLoading{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
@media(max-width:991px){.profile-main-actions{justify-content:flex-start}.service-grid,.company-gallery{grid-template-columns:1fr 1fr}.company-results-grid.list-view .company-market-card{display:flex}.repeat-row,.repeat-row.faq-row{grid-template-columns:1fr}.admin-gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:575px){.profile-identity{align-items:flex-start}.profile-logo{width:82px;height:76px}.service-grid,.company-gallery{grid-template-columns:1fr}.profile-main-actions .btn{width:100%}.admin-gallery{grid-template-columns:1fr 1fr}}

/* Solarly v1.1.4 media + reviews */
.sol-nav{z-index:1100!important}.profile-contact-card{top:92px;z-index:20!important}.media-dropzone{position:relative;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;cursor:pointer;border:2px dashed #c8d8d1;background:linear-gradient(180deg,#fbfdfc,#f5f9f7)}.media-dropzone:hover,.media-dropzone:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(15,77,63,.07);outline:0}.media-dropzone.is-dragover{border-color:#10a66a;background:#edf9f3;box-shadow:0 0 0 5px rgba(16,166,106,.11);transform:translateY(-2px)}.media-dropzone.is-uploading{pointer-events:none;opacity:.92}.drop-placeholder{display:flex;min-height:116px;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:#7b9189}.drop-placeholder>i{font-size:2rem;color:var(--green)}.drop-placeholder strong{font-size:.9rem;color:#294b40}.drop-placeholder span{font-size:.72rem}.upload-progress{height:7px;border-radius:999px;background:#e4ece8;overflow:hidden;margin-top:12px}.upload-progress-bar{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#21ad73);transition:width .12s linear}.gallery-dropzone{min-width:280px}.gallery-drop-hint{font-size:.72rem;color:#70847d;margin-left:8px}.admin-gallery-item.just-uploaded{outline:2px solid #20a66f}.new-media-badge{position:absolute;left:6px;bottom:6px;padding:5px 7px;border-radius:999px;background:rgba(10,67,52,.92);color:#fff;font-size:.65rem;font-weight:700}.review-form-card{border:1px solid #dfe9e4;background:linear-gradient(180deg,#f8fbf9,#f2f7f4);box-shadow:0 12px 35px rgba(15,77,63,.05)}.review-trust{display:flex;align-items:center;gap:8px;color:#427064;font-size:.78rem;font-weight:700}.review-trust i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e7f4ed;color:var(--green)}.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.star-rating-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}.star-rating-input input{position:absolute;opacity:0;pointer-events:none}.star-rating-input label{cursor:pointer;color:#d5ded9;font-size:1.65rem;line-height:1;transition:color .15s ease,transform .15s ease}.star-rating-input label:hover,.star-rating-input label:hover~label,.star-rating-input input:checked~label{color:#f7b500}.star-rating-input label:hover{transform:scale(1.08)}@media(max-width:991px){.profile-contact-card{z-index:1!important}.gallery-dropzone{min-width:0;width:100%}}
