/* ==========================================================
   ContractGauge — Commercial Cleaning Labor Cost Calculator
   ========================================================== */

.cg-labor-cost-page {
--lc-navy: #0f2537;
--lc-navy-deep: #091a28;
--lc-green: #2f9e44;
--lc-green-dark: #257d36;
--lc-green-soft: #edf8f0;
--lc-text: #17212b;
--lc-muted: #687580;
--lc-border: #dce3e8;
--lc-soft: #f7f9fa;
--lc-radius: 18px;

color: var(--lc-text);
}

.cg-labor-cost-page [hidden] {
display: none !important;
}

.cg-labor-cost-page *,
.cg-labor-cost-page *::before,
.cg-labor-cost-page *::after {
box-sizing: border-box;
}


/* Hero
   ========================================================== */

.cg-labor-cost-hero {
padding: 52px 0 36px;
background: linear-gradient(
180deg,
rgba(47, 158, 68, 0.055) 0%,
rgba(47, 158, 68, 0) 100%
);
border-bottom: 1px solid rgba(15, 37, 55, 0.07);
}

.cg-labor-cost-hero .cg-container {
max-width: 980px;
}

.cg-labor-cost-hero__eyebrow {
margin: 0 0 12px;
font-size: 0.76rem;
font-weight: 800;
letter-spacing: 0.09em;
color: var(--lc-green);
}

.cg-labor-cost-hero h1 {
max-width: 820px;
margin: 0;
font-size: clamp(2rem, 4vw, 3.2rem);
line-height: 1.07;
letter-spacing: -0.035em;
color: var(--lc-navy);
}

.cg-labor-cost-hero__description {
max-width: 720px;
margin: 17px 0 0;
font-size: 1.06rem;
line-height: 1.7;
color: var(--lc-muted);
}

.cg-labor-cost-hero__meta {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
margin: 17px 0 0;
font-size: 0.88rem;
font-weight: 650;
color: #52606d;
}

.cg-labor-cost-hero__meta span {
color: var(--lc-green);
}


/* Tool
   ========================================================== */

.cg-labor-cost-tool {
padding: 38px 0 76px;
}

.cg-labor-cost-tool > .cg-container {
max-width: 920px;
}


/* Input card
   ========================================================== */

.cg-lc-card {
padding: 28px;
background: #fff;
border: 1px solid var(--lc-border);
border-radius: var(--lc-radius);
box-shadow: 0 12px 34px rgba(15, 37, 55, 0.06);
}

.cg-lc-card__header {
max-width: 700px;
margin-bottom: 25px;
}

.cg-lc-card__eyebrow {
margin: 0 0 7px;
font-size: 0.71rem;
font-weight: 850;
letter-spacing: 0.1em;
color: var(--lc-green);
}

.cg-lc-card__header h2 {
margin: 0;
font-size: 1.45rem;
line-height: 1.25;
color: var(--lc-navy);
}

.cg-lc-card__header > p:last-child {
margin: 8px 0 0;
font-size: 0.9rem;
line-height: 1.6;
color: var(--lc-muted);
}

.cg-lc-fields {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
}

.cg-lc-field label {
display: block;
margin-bottom: 8px;
font-size: 0.9rem;
font-weight: 750;
color: #273542;
}

.cg-lc-input-wrap {
display: flex;
min-height: 51px;
overflow: hidden;
background: #fff;
border: 1px solid #ced8df;
border-radius: 11px;
transition:
border-color 0.18s ease,
box-shadow 0.18s ease;
}

.cg-lc-input-wrap:focus-within {
border-color: var(--lc-green);
box-shadow: 0 0 0 3px rgba(47, 158, 68, 0.12);
}

.cg-lc-input-wrap input {
width: 100%;
min-width: 0;
padding: 12px 13px;
background: transparent;
border: 0;
outline: 0;
font: inherit;
font-size: 1rem;
font-weight: 650;
color: var(--lc-text);
}

.cg-lc-input-wrap input::placeholder {
font-weight: 450;
color: #9ba5ad;
}

.cg-lc-input-prefix,
.cg-lc-input-suffix {
display: flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
padding: 0 12px;
background: #f7f9fa;
font-size: 0.82rem;
font-weight: 700;
color: #66727d;
white-space: nowrap;
}

.cg-lc-input-prefix {
border-right: 1px solid #e0e6ea;
}

.cg-lc-input-suffix {
border-left: 1px solid #e0e6ea;
}

.cg-lc-field__help {
margin: 7px 0 0;
font-size: 0.77rem;
line-height: 1.5;
color: #7b858e;
}


/* Submit
   ========================================================== */

.cg-lc-submit {
display: flex;
flex-direction: column;
align-items: center;
gap: 9px;
padding-top: 27px;
text-align: center;
}

.cg-lc-submit__button {
min-width: 235px;
padding: 14px 24px;
border: 0;
border-radius: 11px;
background: var(--lc-green);
box-shadow: 0 8px 20px rgba(47, 158, 68, 0.18);
font: inherit;
font-size: 0.94rem;
font-weight: 800;
color: #fff;
cursor: pointer;
transition:
background-color 0.18s ease,
transform 0.18s ease,
box-shadow 0.18s ease;
}

.cg-lc-submit__button:hover {
background: var(--lc-green-dark);
transform: translateY(-1px);
box-shadow: 0 11px 25px rgba(47, 158, 68, 0.23);
}

.cg-lc-submit__button:focus-visible {
outline: 3px solid rgba(47, 158, 68, 0.25);
outline-offset: 4px;
}

.cg-lc-submit p {
margin: 0;
font-size: 0.75rem;
color: #7b858e;
}


/* Results
   ========================================================== */

.cg-lc-results {
margin-top: 34px;
overflow: hidden;
border-radius: 20px;
background: var(--lc-navy);
box-shadow: 0 22px 54px rgba(15, 37, 55, 0.15);
scroll-margin-top: 100px;
}

.cg-lc-results__primary {
padding: 31px;
text-align: center;
color: #fff;
background:
radial-gradient(
circle at top right,
rgba(47, 158, 68, 0.2),
transparent 38%
),
var(--lc-navy);
}

.cg-lc-results__eyebrow {
margin: 0 0 10px;
font-size: 0.72rem;
font-weight: 850;
letter-spacing: 0.11em;
color: #8ed39b;
}

.cg-lc-results__primary > div {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: baseline;
justify-content: center;
}

.cg-lc-results__primary strong {
font-size: clamp(2.7rem, 6vw, 4.4rem);
line-height: 1;
letter-spacing: -0.05em;
color: #fff;
}

.cg-lc-results__primary > div span {
font-size: 0.9rem;
font-weight: 650;
color: #bdc9d1;
}

.cg-lc-results__primary > p:last-child {
max-width: 650px;
margin: 14px auto 0;
font-size: 0.9rem;
line-height: 1.6;
color: #bdc9d1;
}


/* Breakdown
   ========================================================== */

.cg-lc-breakdown {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1px;
background: #dce3e8;
}

.cg-lc-metric {
padding: 22px;
background: #fff;
text-align: center;
}

.cg-lc-metric span {
display: block;
margin-bottom: 7px;
font-size: 0.75rem;
font-weight: 700;
color: #75808a;
}

.cg-lc-metric strong {
display: block;
font-size: 1.18rem;
color: var(--lc-navy);
}


/* Insight
   ========================================================== */

.cg-lc-insight {
padding: 25px 29px;
background: #fff;
border-top: 1px solid #e2e7eb;
}

.cg-lc-insight__label {
margin: 0 0 8px !important;
font-size: 0.69rem !important;
font-weight: 850;
letter-spacing: 0.11em;
color: var(--lc-green) !important;
}

.cg-lc-insight > p:last-child {
margin: 0;
font-size: 0.96rem;
font-weight: 620;
line-height: 1.65;
color: #2b3945;
}


/* Next tool
   ========================================================== */

.cg-lc-next-tool {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 28px;
align-items: center;
padding: 26px 29px;
background: var(--lc-green-soft);
border-top: 1px solid rgba(47, 158, 68, 0.15);
}

.cg-lc-next-tool__eyebrow {
margin: 0 0 6px;
font-size: 0.68rem;
font-weight: 850;
letter-spacing: 0.11em;
color: var(--lc-green);
}

.cg-lc-next-tool h2 {
margin: 0;
font-size: 1.18rem;
color: var(--lc-navy);
}

.cg-lc-next-tool > div > p:last-child {
max-width: 620px;
margin: 7px 0 0;
font-size: 0.82rem;
line-height: 1.55;
color: #65727d;
}

.cg-lc-next-tool > a {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 11px 15px;
border: 1px solid rgba(47, 158, 68, 0.22);
border-radius: 9px;
background: #fff;
text-decoration: none;
font-size: 0.82rem;
font-weight: 800;
color: var(--lc-green-dark);
white-space: nowrap;
transition:
transform 0.18s ease,
border-color 0.18s ease;
}

.cg-lc-next-tool > a:hover {
transform: translateY(-1px);
border-color: var(--lc-green);
color: var(--lc-green-dark);
}


/* Product CTA
   ========================================================== */

.cg-lc-product-cta {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 32px;
align-items: center;
padding: 28px 29px;
background: var(--lc-navy-deep);
color: #fff;
}

.cg-lc-product-cta__eyebrow {
margin: 0 0 7px;
font-size: 0.68rem;
font-weight: 850;
letter-spacing: 0.11em;
color: #8ed39b;
}

.cg-lc-product-cta h2 {
margin: 0;
font-size: 1.3rem;
color: #fff;
}

.cg-lc-product-cta > div:first-child > p:last-child {
max-width: 640px;
margin: 8px 0 0;
font-size: 0.82rem;
line-height: 1.6;
color: #abb9c3;
}

.cg-lc-product-cta__action {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 7px;
}

.cg-lc-product-cta__action > span {
font-size: 0.7rem;
font-weight: 700;
color: #9eacb6;
}

.cg-lc-product-cta__action a {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 11px 16px;
border-radius: 9px;
background: var(--lc-green);
text-decoration: none;
font-size: 0.83rem;
font-weight: 800;
color: #fff;
transition:
background-color 0.18s ease,
transform 0.18s ease;
}

.cg-lc-product-cta__action a:hover {
background: var(--lc-green-dark);
transform: translateY(-1px);
color: #fff;
}


/* Responsive
   ========================================================== */

@media (max-width: 720px) {

.cg-lc-fields {
grid-template-columns: 1fr;
}

.cg-lc-breakdown {
grid-template-columns: 1fr;
}

.cg-lc-next-tool,
.cg-lc-product-cta {
grid-template-columns: 1fr;
}

.cg-lc-next-tool > a,
.cg-lc-product-cta__action,
.cg-lc-product-cta__action a {
width: 100%;
}

.cg-lc-next-tool > a,
.cg-lc-product-cta__action a {
justify-content: center;
}

}


@media (max-width: 520px) {

.cg-labor-cost-hero {
padding: 38px 0 28px;
}

.cg-labor-cost-tool {
padding: 26px 0 55px;
}

.cg-lc-card {
padding: 20px;
border-radius: 15px;
}

.cg-lc-submit__button {
width: 100%;
min-width: 0;
}

.cg-lc-results {
border-radius: 16px;
}

.cg-lc-results__primary,
.cg-lc-insight,
.cg-lc-next-tool,
.cg-lc-product-cta {
padding-left: 21px;
padding-right: 21px;
}

}


/* SEO content
   ========================================================== */

.cg-lc-seo {
padding: 10px 0 82px;
background: #fff;
}

.cg-lc-seo > .cg-container {
max-width: 980px;
}

.cg-lc-seo-section {
padding: 58px 0;
border-top: 1px solid #e8edf0;
}

.cg-lc-seo-section:first-child {
border-top: 0;
}

.cg-lc-seo-heading {
max-width: 760px;
margin-bottom: 24px;
}

.cg-lc-seo-heading--center {
margin-left: auto;
margin-right: auto;
text-align: center;
}

.cg-lc-seo-eyebrow {
margin: 0 0 8px;
font-size: 0.7rem;
font-weight: 850;
letter-spacing: 0.11em;
color: var(--lc-green);
}

.cg-lc-seo-heading h2 {
margin: 0;
font-size: clamp(1.65rem, 3vw, 2.25rem);
line-height: 1.15;
letter-spacing: -0.025em;
color: var(--lc-navy);
}

.cg-lc-seo-heading > p:last-child:not(.cg-lc-seo-eyebrow) {
margin: 11px 0 0;
font-size: 0.94rem;
line-height: 1.65;
color: var(--lc-muted);
}

.cg-lc-seo-copy {
max-width: 790px;
}

.cg-lc-seo-copy p {
margin: 0;
font-size: 0.98rem;
line-height: 1.75;
color: #43515d;
}

.cg-lc-seo-copy p + p {
margin-top: 16px;
}

.cg-lc-seo-copy a,
.cg-lc-faq a {
font-weight: 750;
color: var(--lc-green-dark);
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}

.cg-lc-seo-note {
max-width: 820px;
margin: 22px 0 0;
padding: 14px 16px;
border-left: 3px solid var(--lc-green);
border-radius: 8px;
background: var(--lc-green-soft);
font-size: 0.82rem;
line-height: 1.6;
color: #5b6873;
}


/* Formula
   ========================================================== */

.cg-lc-formula {
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
gap: 18px;
}

.cg-lc-formula__main {
display: flex;
flex-direction: column;
justify-content: center;
min-height: 180px;
padding: 28px;
border-radius: 16px;
background: var(--lc-navy);
color: #fff;
}

.cg-lc-formula__main span {
margin-bottom: 10px;
font-size: 0.75rem;
font-weight: 750;
letter-spacing: 0.08em;
color: #9eb0bc;
}

.cg-lc-formula__main strong {
max-width: 560px;
font-size: clamp(1.35rem, 2.6vw, 2rem);
line-height: 1.35;
color: #fff;
}

.cg-lc-formula__example {
padding: 22px;
border: 1px solid var(--lc-border);
border-radius: 16px;
background: var(--lc-soft);
}

.cg-lc-formula__example > p {
margin: 0 0 12px;
font-size: 0.71rem;
font-weight: 850;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--lc-green);
}

.cg-lc-formula__example > div {
display: flex;
align-items: center;
justify-content: space-between;
gap: 15px;
padding: 10px 0;
border-top: 1px solid #e1e7ea;
}

.cg-lc-formula__example span {
font-size: 0.82rem;
color: #6d7983;
}

.cg-lc-formula__example strong {
font-size: 0.9rem;
color: var(--lc-navy);
}

.cg-lc-formula__result strong {
color: var(--lc-green-dark);
}


/* SEO cards
   ========================================================== */

.cg-lc-seo-grid {
display: grid;
gap: 14px;
}

.cg-lc-seo-grid--costs {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cg-lc-seo-card {
padding: 20px;
border: 1px solid var(--lc-border);
border-radius: 14px;
background: #fff;
box-shadow: 0 7px 20px rgba(15, 37, 55, 0.035);
}

.cg-lc-seo-card h3 {
margin: 0;
font-size: 1rem;
line-height: 1.3;
color: var(--lc-navy);
}

.cg-lc-seo-card p {
margin: 8px 0 0;
font-size: 0.82rem;
line-height: 1.6;
color: #68757f;
}


/* Split content
   ========================================================== */

.cg-lc-seo-section--split {
display: grid;
grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
gap: 50px;
align-items: start;
}

.cg-lc-seo-section--split .cg-lc-seo-heading {
margin-bottom: 0;
}


/* Comparison
   ========================================================== */

.cg-lc-comparison {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
}

.cg-lc-comparison > div {
padding: 22px;
border: 1px solid var(--lc-border);
border-radius: 14px;
background: var(--lc-soft);
}

.cg-lc-comparison span {
display: block;
margin-bottom: 8px;
font-size: 0.84rem;
font-weight: 800;
color: var(--lc-navy);
}

.cg-lc-comparison p {
margin: 0;
font-size: 0.82rem;
line-height: 1.6;
color: #68757f;
}


/* FAQ
   ========================================================== */

.cg-lc-faq__list {
max-width: 800px;
margin: 0 auto;
border-top: 1px solid var(--lc-border);
}

.cg-lc-faq details {
border-bottom: 1px solid var(--lc-border);
}

.cg-lc-faq summary {
position: relative;
padding: 18px 34px 18px 0;
font-size: 0.94rem;
font-weight: 750;
color: var(--lc-navy);
cursor: pointer;
list-style: none;
}

.cg-lc-faq summary::-webkit-details-marker {
display: none;
}

.cg-lc-faq summary::after {
content: "+";
position: absolute;
top: 50%;
right: 2px;
transform: translateY(-50%);
font-size: 1.25rem;
font-weight: 500;
color: var(--lc-green);
}

.cg-lc-faq details[open] summary::after {
content: "−";
}

.cg-lc-faq details p {
margin: -2px 0 18px;
padding-right: 34px;
font-size: 0.87rem;
line-height: 1.7;
color: #61707a;
}


/* SEO responsive
   ========================================================== */

@media (max-width: 820px) {

.cg-lc-seo-grid--costs,
.cg-lc-comparison {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cg-lc-formula,
.cg-lc-seo-section--split {
grid-template-columns: 1fr;
gap: 22px;
}

}


@media (max-width: 560px) {

.cg-lc-seo {
padding-bottom: 55px;
}

.cg-lc-seo-section {
padding: 42px 0;
}

.cg-lc-seo-grid--costs,
.cg-lc-comparison {
grid-template-columns: 1fr;
}

.cg-lc-formula__main,
.cg-lc-formula__example {
padding: 20px;
}

.cg-lc-faq summary {
font-size: 0.9rem;
}

}
