/* ───── Footer: testimonials + CTA/quote band + columns + copyright ───── */
.site-footer { background: var(--brand-white); }

.footer-testimonials .skin-inner {
	max-width: 100%;
}

.footer-testimonials {
    position: relative;
    overflow: hidden;
    padding: 66px 0 54px;
    text-align: center;
    color: var(--brand-white);
}
.footer-testimonials::before {
    content: '';
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
}
.footer-testimonials .skin-inner { position: relative; z-index: 2; }
.footer-testi-bg { position: absolute; inset: 0; z-index: 0; }
.footer-testi-bg img { width: 100%; height: 100%; object-fit: cover; }
.footer-testi-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.6); z-index: 1; }
.footer-testi-graphic { position: absolute; z-index: 1; opacity: 1; pointer-events: none; }
.footer-testi-graphic.tl { top: 0; left: 0; width: 262px; height: auto; }
.footer-testi-graphic.br { bottom: 0; right: 0; width: 262px; height: auto; transform: scaleY(-1) rotate(180deg); }

.site-footer .footer-testimonials .skin-inner h2 { color: var(--brand-white); margin-bottom: 20px;}
.testi-track-wrap { overflow: hidden; }
.testi-track { display: flex; gap: 32px; transition: transform 0.4s ease; }
.testi-card {
    flex: 0 0 948px;
    max-width: 90vw;
    background: var(--brand-dark-teal);
    border-radius: 20px;
    padding: 54px 55px 50px;
    text-align: center;
    box-shadow: 10px 10px 0 #0C595C;
    opacity: 0.6;
    transition: opacity 0.4s;
}
.testi-card.is-active { opacity: 1; }
.testi-card p { font-size: 16px; line-height: 24px; margin-bottom: 25px; }
.testi-card .testi-author-name { font-family: var(--font-heading); font-weight: 600; font-size: 20px; line-height: 26px; margin-bottom: 5px;}
.testi-card .testi-author-title { font-family: var(--font-body); font-weight: 600; font-size: 15px; line-height: 23px; margin-top: 4px; margin-bottom: 0;}
.testi-nav { display: flex; justify-content: center; gap: 8px; margin-top: 32px; }

.footer-cta {
	background: var(--tint-teal-10);
    padding: 0 var(--gutter) 0;
    padding: 100px 0;
    position: relative;
    z-index: 3;
	margin: 0;
}
.footer-cta-panel {
    max-width: var(--content-max);
    margin: 0 auto;
    position: relative;
    background: var(--brand-dark-teal);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
}

.footer-cta-texture { position: absolute; inset: 0; opacity: 0.2; z-index: 0; 
	background-image: url('https://driftline.wp3.cloudsites.net.au/wp-content/themes/driftline-plumbing/assets/img/bg_cta.jpg');
	background-repeat: no-repeat;
	background-size: cover;
}

.footer-cta-copy, .footer-cta-form { position: relative; z-index: 2; }
.footer-cta-copy, .footer-cta-copy *,
.footer-cta-form, .footer-cta-form * { min-width: 0; }
.footer-cta-copy {
    flex: 0 0 45.5%;
    padding: 72px;
    display: flex; flex-direction: column; gap: 32px; justify-content: center;
    color: var(--brand-white);
}
.footer-cta .footer-cta-copy h1 { color: var(--brand-white); font-size: 44px; line-height: 50px; }
.footer-cta-copy p { font-size: 18px; line-height: 26px; }
.footer-cta-actions { display: flex; gap: 16px; }
.footer-cta-form {
    flex: 1;
    min-width: 0;
    padding: 64px 72px 64px 0;
    display: flex; flex-direction: column; gap: 32px; justify-content: center;
}
.form-fields { display: flex; flex-wrap: wrap; gap: 16px; }
.footer-cta-form .wpforms-container { margin: 0 !important; }
.footer-cta-form .wpforms-field-container { display: flex; flex-wrap: wrap; gap: 16px !important; }

.footer-cta-form .wpforms-field { padding: 0 !important; margin: 0 !important; width: calc(50% - 8px); max-width: 100%; }

.footer-cta-form .wpforms-field.wpforms-field-textarea { width: 100%; }
/* Visually hidden, not display:none — keeps labels in the accessibility tree
   for screen readers while matching the original placeholder-only look. */
.footer-cta-form .wpforms-field-label {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.footer-cta-form .wpforms-field input[type="text"],
.footer-cta-form .wpforms-field input[type="tel"],
.footer-cta-form .wpforms-field input[type="email"],
.footer-cta-form .wpforms-field textarea {
    background: var(--brand-white) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 24px 16px !important;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 15px;
    color: var(--brand-dark-grey);
    width: 100% !important;
}
.footer-cta-form .wpforms-field textarea { height: 128px !important; resize: vertical; }
.footer-cta-form .wpforms-field input::placeholder,
.footer-cta-form .wpforms-field textarea::placeholder { color: var(--brand-dark-grey); opacity: 0.85; }
.footer-cta-form .wpforms-submit-container { margin: 0 !important; }
.footer-cta-form .wpforms-submit {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 16px 30px !important;
    border-radius: 10px;
    font-family: var(--font-body); font-weight: 600; font-size: 17px;
    background: var(--brand-white); color: var(--brand-teal);
    border: 2px solid transparent;
    transition: background 0.2s;
	margin-top: 20px;
}
.footer-cta-form .wpforms-submit:hover { background: var(--tint-teal-10); }


.footer-columns { background: var(--tint-teal-20); padding: 56px 0 0; }
.footer-columns-row { display: flex; gap: 40px; max-width: var(--content-max); margin: 0 auto; }
.footer-col-brand { display: flex; flex-direction: column; gap: 40px; flex: 0 0 auto; }
.footer-logo { width: 300px; height: auto; }
.footer-contact { display: flex; flex-direction: column; gap: 32px; width: 460px; max-width: 100%; }
.footer-col-heading { font-family: var(--font-body); font-weight: 600; font-size: 17px; color: var(--brand-teal); margin: 0 0 32px; }
.footer-address { font-family: var(--font-body); font-size: 16px; line-height: 24px; color: var(--brand-dark-grey); margin: 0 0 32px; }
.footer-social { display: flex; gap: 24px; }
.footer-social a { color: var(--brand-teal); font-size: 17px; text-decoration: none; }

.footer-col-sitemap, .footer-col-services { display: flex; flex-direction: column; }
.footer-col-sitemap ul { display: flex; flex-direction: column; gap: 24px; margin-bottom: 32px; }
.footer-col-sitemap a:not(.btn) { font-family: var(--font-body); font-size: 16px; color: var(--brand-dark-grey); text-decoration: none; }
.footer-col-sitemap a:not(.btn):hover { color: var(--brand-teal); }

/* Single <ul> now (populated via wp_nav_menu, any item count) — CSS columns
   do the two-column split that used to be two separate flex <ul>s. */
.footer-services-lists { column-count: 2; column-gap: 32px; width: 472px; max-width: 100%; }
.footer-services-lists li { margin-bottom: 24px; break-inside: avoid; }
.footer-services-lists a { font-family: var(--font-body); font-size: 16px; color: var(--brand-dark-grey); text-decoration: none; }
.footer-services-lists a:hover { color: var(--brand-teal); }

.footer-bottom {
    background: var(--brand-white);
    padding: 24px var(--gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--brand-dark-grey);
    margin-top: 56px;
}

@media (max-width: 1199.98px) {
	.footer-cta { margin-top: 80px; }
    .footer-cta-copy, .footer-cta-form { padding: 48px; }
    .footer-cta-copy h1 { font-size: 40px; line-height: 44px; }
}

@media (max-width: 991.98px) {
    .footer-cta-panel { flex-direction: column; }
    .footer-cta-copy, .footer-cta-form { flex: none; padding: 48px; }
    .footer-cta-form { padding-top: 0; }
    .footer-columns-row { flex-wrap: wrap; gap: 48px 40px; }
}

@media (max-width: 767.98px) {
    .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
    .footer-cta-actions { flex-wrap: wrap; }
    .form-fields input { width: 100%; }
    .footer-cta-copy h1 { font-size: 32px; line-height: 36px; }
    .footer-cta-copy { padding: 24px; }
}

@media (max-width: 575.98px) {
    .footer-services-lists { column-count: 1; width: 220px; }
}



