/* CG Contact Form - layout matches "City Green Contact Form v6 (form only)" */
.cgcf-wrap{--cgcf-accent:#23826d;--cgcf-forest:#073e3b;--cgcf-ink:#213b38;--cgcf-muted:#72827e;--cgcf-line:#dce6e2;--cgcf-req:#b34c3c;--cgcf-err:#a34636;max-width:780px;margin:40px auto;padding:0 16px;color:var(--cgcf-ink);font-family:inherit;font-size:15px;line-height:1.55}
.cgcf-wrap *{box-sizing:border-box}
.cgcf-wrap .cgcf-card{background:#fff;border:1px solid #e0e9e5;border-top:4px solid var(--cgcf-accent);border-radius:15px;box-shadow:0 12px 35px rgba(8,56,49,.08);padding:26px 30px 28px}
.cgcf-wrap .cgcf-head h3{margin:0 0 14px;font-size:20px;line-height:1.3;color:var(--cgcf-forest)}
.cgcf-wrap .cgcf-note-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;color:var(--cgcf-muted);font-size:13.5px}
.cgcf-wrap .cgcf-note-row span:last-child{white-space:nowrap;margin-inline-start:auto}
.cgcf-wrap .cgcf-req{color:var(--cgcf-req);font-weight:700}
.cgcf-wrap .cgcf-opt{font-weight:400;color:#8b9995}

/* layout */
.cgcf-wrap .cgcf-layout{display:grid;grid-template-columns:1fr;gap:0}
.cgcf-wrap .cgcf-left,.cgcf-wrap .cgcf-right{min-width:0}
.cgcf-wrap .cgcf-right{border-top:1px solid #e7eeeb;margin-top:22px;padding-top:20px}
.cgcf-wrap .cgcf-fields{display:grid;grid-template-columns:1fr;gap:16px}
.cgcf-wrap .cgcf-field{min-width:0;position:relative;margin:0}
.cgcf-wrap .cgcf-message-wrap{margin-top:0}

/* labels + inputs */
.cgcf-wrap .cgcf-form label,.cgcf-wrap .cgcf-legend{display:block;font-weight:700;font-size:14px;color:#2b4540;margin:0 0 7px;letter-spacing:0}
.cgcf-wrap .cgcf-form input[type=text],.cgcf-wrap .cgcf-form input[type=email],.cgcf-wrap .cgcf-form input[type=tel],.cgcf-wrap .cgcf-form textarea{width:100%;height:auto;margin:0;border:1px solid #d5e1dc;border-radius:8px;padding:11px 12px;font-family:inherit;font-size:14.5px;line-height:normal;color:var(--cgcf-ink);background:#fff;outline:none;box-shadow:none;transition:border .15s,box-shadow .15s}
.cgcf-wrap .cgcf-form input[type=text]:focus,.cgcf-wrap .cgcf-form input[type=email]:focus,.cgcf-wrap .cgcf-form input[type=tel]:focus,.cgcf-wrap .cgcf-form textarea:focus{border-color:var(--cgcf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cgcf-accent) 12%,transparent)}
.cgcf-wrap .cgcf-form textarea{resize:vertical;min-height:100px}
.cgcf-wrap .cgcf-help{font-size:12.5px;color:var(--cgcf-muted);margin:5px 0 0}

/* inquiry type + services */
.cgcf-wrap .cgcf-type-list{border:1px solid var(--cgcf-line);border-radius:10px;padding:12px 13px;display:grid;gap:11px;background:#fff}
.cgcf-wrap .cgcf-form .cgcf-choice{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.4;font-weight:400;color:#36504a;margin:0;cursor:pointer}
.cgcf-wrap .cgcf-form input[type=radio],.cgcf-wrap .cgcf-form input[type=checkbox]{width:15px;height:15px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--cgcf-forest)}
.cgcf-wrap .cgcf-section-title{font-size:16px;line-height:1.4;color:var(--cgcf-forest);font-weight:700;margin:0 0 3px;padding:0}
.cgcf-wrap .cgcf-services{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:14px;border-radius:10px;background:#f5f9f7;border:1px solid #e3ece7}
.cgcf-wrap .cgcf-services .cgcf-choice{font-size:13.5px}
.cgcf-wrap .cgcf-services .cgcf-all{grid-column:1/-1;border-top:1px solid #dce8e2;padding-top:11px;font-weight:700}
.cgcf-wrap .cgcf-form .cgcf-services .cgcf-all{font-weight:700}

/* conditional panels (JS adds .cgcf-open; :has() keeps it working before JS runs) */
.cgcf-wrap .cgcf-conditional{display:none;margin-bottom:20px}
.cgcf-wrap .cgcf-conditional.cgcf-open{display:block}
.cgcf-wrap .cgcf-form:has(input[name="cgcf_topic"][value="Services Inquiry"]:checked) .cgcf-services-panel{display:block}
.cgcf-wrap .cgcf-form:has(input[name="cgcf_topic"][value="Careers / Job Application"]:checked) .cgcf-cv-box{display:block}
.cgcf-wrap .cgcf-form:has(input[name="cgcf_topic"][value="Services Inquiry"]:checked) .cgcf-contact-info{display:none}
.cgcf-wrap .cgcf-contact-info.cgcf-hidden{display:none!important}

/* CV */
.cgcf-wrap .cgcf-cv-box{border:1px dashed #b8cbc3;background:#f8fbf9;border-radius:10px;padding:17px}
.cgcf-wrap .cgcf-cv-box input{max-width:100%;font-size:13.5px}

/* button + actions */
.cgcf-wrap .cgcf-form .cgcf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;line-height:1.4;border:0;background:var(--cgcf-accent);color:#fff;border-radius:8px;padding:12px 25px;min-width:240px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;transition:background .15s,transform .15s}
.cgcf-wrap .cgcf-form .cgcf-btn:hover{background:color-mix(in srgb,var(--cgcf-accent) 82%,#000);color:#fff;transform:translateY(-1px)}
.cgcf-wrap .cgcf-form .cgcf-btn[disabled]{opacity:.7;cursor:not-allowed;transform:none}
.cgcf-wrap .cgcf-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin-top:18px}
.cgcf-wrap .cgcf-fineprint{font-size:12.5px;color:#87948f;margin:0;text-align:center}
.cgcf-wrap .cgcf-spin{display:none;width:16px;height:16px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:cgcfspin .7s linear infinite}
.cgcf-wrap .cgcf-loading .cgcf-spin{display:inline-block}
@keyframes cgcfspin{to{transform:rotate(360deg)}}

/* contact info */
.cgcf-wrap .cgcf-contact-info{background:#f5f9f7;border:1px solid #e3ece7;border-radius:10px;padding:16px 18px;margin-top:24px}
.cgcf-wrap .cgcf-contact-info .cgcf-section-title{margin-bottom:10px}
.cgcf-wrap .cgcf-ci-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#36504a;margin:0 0 9px}
.cgcf-wrap .cgcf-ci-row:last-child{margin-bottom:0}
.cgcf-wrap .cgcf-ci-row b{min-width:62px;color:var(--cgcf-forest)}
.cgcf-wrap .cgcf-ci-row a{color:inherit;text-decoration:none}

/* validation */
.cgcf-wrap .cgcf-error{display:none;color:var(--cgcf-err);font-size:12.5px;margin-top:6px}
.cgcf-wrap .cgcf-invalid .cgcf-error{display:block}
.cgcf-wrap .cgcf-invalid input[type=text],.cgcf-wrap .cgcf-invalid input[type=email],.cgcf-wrap .cgcf-invalid input[type=tel],.cgcf-wrap .cgcf-invalid textarea{border-color:var(--cgcf-err);background:#fff8f7}
.cgcf-wrap .cgcf-invalid .cgcf-type-list,.cgcf-wrap .cgcf-invalid .cgcf-services,.cgcf-wrap .cgcf-cv-box.cgcf-invalid{border-color:var(--cgcf-err)}
.cgcf-wrap .cgcf-alert{margin-top:16px;padding:12px;border-radius:8px;font-size:13.5px;background:#fdeaea;color:#a12626;border:1px solid #f6c9c9}
.cgcf-wrap .cgcf-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0;overflow:hidden}

/* success */
.cgcf-wrap .cgcf-success{text-align:center;padding:30px 10px}
.cgcf-wrap .cgcf-success svg{width:84px;height:84px;margin-bottom:14px}
.cgcf-wrap .cgcf-success circle{stroke:var(--cgcf-accent);stroke-width:3;fill:none;stroke-dasharray:166;stroke-dashoffset:166;animation:cgcfdraw .7s ease forwards}
.cgcf-wrap .cgcf-success path{stroke:var(--cgcf-accent);stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:cgcfdraw .45s .6s ease forwards}
@keyframes cgcfdraw{to{stroke-dashoffset:0}}
.cgcf-wrap .cgcf-success h3{margin:0 0 8px;font-size:26px;color:var(--cgcf-forest)}
.cgcf-wrap .cgcf-success p{margin:0 auto;max-width:460px;color:var(--cgcf-muted);font-size:15px;line-height:1.6}

/* tablet */
@media(min-width:761px) and (max-width:980px){
.cgcf-wrap .cgcf-card{padding:23px}
.cgcf-wrap .cgcf-services{grid-template-columns:1fr}
}

/* mobile */
@media(max-width:760px){
.cgcf-wrap .cgcf-card{padding:20px 17px 22px;border-radius:13px;border-top-width:3px}
.cgcf-wrap .cgcf-note-row{margin-bottom:17px;font-size:13px;align-items:flex-start}
.cgcf-wrap .cgcf-layout{gap:21px}
.cgcf-wrap .cgcf-right{margin-top:0;padding:20px 0 0}
.cgcf-wrap .cgcf-fields{gap:14px}
.cgcf-wrap .cgcf-conditional{margin-bottom:0}
.cgcf-wrap .cgcf-message-wrap{margin-top:18px}
.cgcf-wrap .cgcf-form input[type=text],.cgcf-wrap .cgcf-form input[type=email],.cgcf-wrap .cgcf-form input[type=tel],.cgcf-wrap .cgcf-form textarea{padding:12px;font-size:16px}
.cgcf-wrap .cgcf-form label,.cgcf-wrap .cgcf-legend{font-size:14.5px}
.cgcf-wrap .cgcf-type-list{padding:13px;gap:12px}
.cgcf-wrap .cgcf-form .cgcf-choice{font-size:14.5px}
.cgcf-wrap .cgcf-services{grid-template-columns:1fr;padding:13px;gap:12px}
.cgcf-wrap .cgcf-services .cgcf-choice{font-size:14px}
.cgcf-wrap .cgcf-services .cgcf-all{grid-column:auto}
.cgcf-wrap .cgcf-actions{display:block;margin-top:18px}
.cgcf-wrap .cgcf-form .cgcf-btn{width:100%;padding:14px;min-width:0}
.cgcf-wrap .cgcf-fineprint{margin-top:9px}
}
