/*
  Template wrapper + UI utilities required by non-landing pages.
  These classes are referenced by templates like:
  - page-about-us.php
  - page-contact-us.php
  - page-our-services.php
  - single-service.php
  - archive-service.php
*/

/* Page-specific overrides (formerly landing-page.css) */
body.page,
body.single,
body {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

html {
    margin: 0 !important;
}

.section-how_we_work .proc-steps {
    grid-template-columns: repeat(3, 1fr);
}

/* Shared helpers */
.gold {
    color: var(--gold);
}

.heading-two-typography-gradint {
    font-family: var(--font-family-display);
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 2.5rem);
    line-height: .95;
    letter-spacing: .5px;
    color: var(--ink);
    margin-bottom: 18px;
}

/* Missing typography utilities referenced by templates */
.heading-three-typography {
    font-family: var(--font-family-display);
    font-weight: 700;
    font-size: clamp(1.6rem, 2.8vw, 2rem);
    line-height: .95;
    letter-spacing: .5px;
    color: var(--ink);
    margin-bottom: 18px;
}

.heading-four-typography {
    font-family: var(--font-family-display);
    font-weight: 700;
    font-size: clamp(1.25rem, 2.3vw, 1.6rem);
    line-height: 1;
    letter-spacing: .5px;
    color: var(--ink);
    margin-bottom: 16px;
}

.font-700-20 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.4;
    color: var(--ink);
    margin-bottom: 10px;
}

.font-700-24 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.3;
    color: var(--ink);
    margin-bottom: 12px;
}

.font-400-24 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.6;
    color: #4b5563;
    margin-bottom: 12px;
}

/* Services page (page-our-services.php) */
.our-service-template-section {
    background: var(--cream);
}

.page-topbar {
    background: var(--ink);
    color: var(--white);
    padding: 88px 0;
    border-bottom: 3px solid var(--gold);
}

.page-topbar .sec-h {
    color: var(--white);
    margin-bottom: 18px;
}

.page-topbar .sec-body {
    color: rgba(255, 255, 255, .4);
    max-width: 540px;
    margin-bottom: 0;
}

.page-topbar-inner,
.page-topbar-container {
    max-width: 860px;
    margin: 0 auto;
}

.page-topbar-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.service-container {
    background: var(--white);
    border-top: 3px solid var(--ink);
    padding: 32px 0;
    margin-bottom: 48px;
}

.service-image-inner {
    border: 1px solid var(--rule);
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
}

.service-image-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-features-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-features-list li {
    margin-bottom: 8px;
}

.touchdown-advantage-section {
    background: var(--ink);
    padding: 88px 0;
    color: var(--white);
    border-top: 3px solid rgba(0, 0, 0, .1);
}

.touchdown-advantage-section .sec-h {
    color: var(--white);
}

.touchdown-advantage-section .sec-body {
    color: rgba(255, 255, 255, .4);
}

/* Landing-style "cases" cards with optional bottom button */
.case-card.case-card--services {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.case-card.case-card--services .case-txt {
    flex: 1;
}

.case-card.case-card--services .case-more-btn {
    align-self: flex-start;
}

/* Track record swiper cards */
.track-record-swiper .swiper-slide {
    height: auto;
}

.track-record-swiper .case-card.track-record-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
}

.track-record-swiper .case-card.track-record-card .case-result{
font-size: 2rem;
}

.track-record-swiper .case-txt {
    flex: 1;
}

.track-record-swiper .track-record-logo {
    margin-bottom: 16px;
    height: 160px;
    overflow: hidden;
    border-radius: 10px;
}

.track-record-swiper .track-record-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    display: block;
}

@media (max-width: 767px) {
    .track-record-swiper .track-record-logo {
        height: 140px;
    }
}

.track-record-swiper .case-card-link {
    margin-top: 18px;
}

/* Swiper controls styling to match the landing palette */
.track-record-swiper .swiper-pagination-bullet {
    background: rgba(12, 50, 86, 0.25);
    opacity: 1;
}

.track-record-swiper .swiper-pagination-bullet-active {
    background: var(--gold);
}

.track-record-swiper .swiper-button-prev,
.track-record-swiper .swiper-button-next {
    color: var(--ink);
}

/* Single blog post layout refinements */
.single-post-main-container {
    background: var(--cream);
}

.single-post-main-container .sec.sec--gray {
    background: transparent;
}

.single-post-main-container .crd {
    border-radius: 10px;
    box-shadow: 0 18px 60px rgba(15, 23, 42, 0.12);
    margin-bottom: 48px;
}

.single-post-main-container .sec.sec--dark {
    padding-top: 88px;
    padding-bottom: 72px;
}

.single-post-main-container .sec.sec--dark .sec-h {
    margin-bottom: 12px;
}

.single-post-main-container .sec.sec--dark .sec-body {
    max-width: 640px;
}

/* Single post comments styling */
.single-post-main-container #comments {
    font-family: var(--font-family);
}

.single-post-main-container #comments > h2 {
    font-family: var(--font-family-display);
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: 1.5rem;
}

.single-post-main-container .comment-list {
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}

.single-post-main-container .comment-list li {
    margin-bottom: 1.5rem;
}

.single-post-main-container .comment-metadata {
    font-size: 12px;
    color: var(--mid);
}

.single-post-main-container #reply-title {
    font-family: var(--font-family-display);
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ink);
    margin: 2rem 0 1rem;
}

.single-post-main-container .comment-form{
    margin-top: 32px;
}

.single-post-main-container .comment-form p {
    margin-bottom: 0.75rem;
}

.single-post-main-container .comment-form label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--mid);
    display: block;
    margin-bottom: 6px;
}

.single-post-main-container .comment-form textarea,
.single-post-main-container .comment-form input[type="text"],
.single-post-main-container .comment-form input[type="email"],
.single-post-main-container .comment-form input[type="url"] {
    width: 100%;
    max-width: 520px;
    border: 1px solid var(--rule);
    border-radius: 6px;
    padding: 10px 12px;
    font-family: var(--font-family);
    font-size: 14px;
}

.single-post-main-container .comment-form textarea {
    min-height: 160px;
}

.single-post-main-container .comment-form .form-submit input[type="submit"] {
    margin-top: 8px;
    border-radius: 999px;
    border: 1.5px solid var(--cta);
    background: var(--cta);
    color: #fff;
    padding: 10px 26px;
    font-family: var(--font-family);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .18s, color .18s, border-color .18s, box-shadow .18s;
}

.single-post-main-container .comment-form .form-submit input[type="submit"]:hover {
    background: var(--cta2);
    border-color: var(--cta2);
    box-shadow: 0 6px 20px rgba(227, 113, 42, .35);
}

/* Single service (single-service.php) */
.single-service-template {
    background: var(--cream);
}

.service-hero-section {
    background: var(--ink2);
    color: var(--white);
    border-bottom: 3px solid var(--gold);
}

.service-hero-section .sec-h {
    color: var(--white);
}

.service-hero-section .sec-body {
    color: rgba(255, 255, 255, .4);
    margin: 0;
}

.service-tagline strong {
    color: var(--gold);
    font-weight: 600;
}

.service-hero-buttons {
    margin-top: 24px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.service-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.service-bullet-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.service-bullet-icon {
    color: var(--gold);
    font-weight: 700;
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1.2;
}

.bullet-icon {
    color: var(--gold);
    font-weight: 700;
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1.2;
}

.bullet-text {
    color: #4b5563;
    line-height: 1.7;
}

.sidebar-card {
    background: var(--white);
}

/* Service features + process layout (single-service.php) */
.features-grid {
    width: 100%;
}

.feature-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.feature-description {
    color: var(--ink);
    line-height: 1.7;
}

.feature-bullet-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.feature-bullet-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.feature-bullet-text {
    color: #4b5563;
    line-height: 1.7;
}

.process-steps {
    width: 100%;
}

.process-step {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.step-description b {
    font-weight: 700;
    color: var(--ink);
}

.service-cta-section .cta-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.related-services-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.related-service-item .service-excerpt {
    color: #4b5563;
    line-height: 1.7;
}

/* Landing guarantee strip helper */
.gstrip-no-pad {
    padding: 0 !important;
}

.service-link a {
    color: var(--ink);
    text-decoration: none;
    transition: color .15s;
}

.service-link a:hover {
    color: var(--gold);
}

.service-excerpt {
    color: #4b5563;
}

/* Contact page (page-contact-us.php) */
.contact-us-template-section {
    background: var(--cream);
    padding: 88px 0;
}

.contact-us-container {
    background: var(--white);
    border-top: 3px solid var(--ink);
    padding: 32px;
}

.contact-us-left-column {
    padding-right: 32px;
}

.contact-us-right-column {
    padding-left: 32px;
}

.contact-options-header {
    margin-bottom: 24px;
}

.contact-method-tabs {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.contact-tab-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: var(--font-family);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    height: 52px;
    padding: 0 32px;
    cursor: pointer;
    border: 1.5px solid rgba(227, 113, 42, .4);
    background: transparent;
    color: var(--cta);
    transition: all .18s ease;
    white-space: nowrap;
}

.contact-tab-btn.active {
    background: var(--cta);
    border-color: var(--cta);
    color: var(--white);
    box-shadow: 0 4px 20px rgba(227, 113, 42, .3);
}

.contact-us-right-column-form {
    margin-top: 12px;
}

.benefits-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.calendly-button-container {
    margin-top: 20px;
}

.scheduling-note small {
    color: rgba(0, 0, 0, .6);
}

@media (max-width: 991.98px) {
    .contact-us-left-column {
        padding-right: 0;
        margin-bottom: 24px;
    }
    .contact-us-right-column {
        padding-left: 0;
    }
}

/* Services archive cards (archive-service.php) */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    border-radius: 0;
    overflow: hidden;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .1);
}

.service-preview-features ul {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

.service-preview-features li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 6px;
}

.service-preview-features li::before {
    content: "✓";
    color: var(--green2);
    font-weight: 700;
    flex-shrink: 0;
}

