
/* =========================================================
   COMPLETE AUTOMOTIVE — INNER PAGES
   Services / FAQs / Reviews / Gallery / Contact
   ========================================================= */

.ca-inner-page{
  --ca-red:#ed1c24;
  --ca-gold:#d8b45b;
  --ca-ink:#111216;
  --ca-dark:#171a20;
  --ca-dark2:#20242b;
  --ca-paper:#f5f2eb;
  --ca-muted:#656970;
  background:var(--ca-paper);
  color:var(--ca-ink);
  overflow:hidden;
}
.ca-inner-page *{box-sizing:border-box}
.ca-inner-wrap{width:min(1440px,calc(100% - 80px));margin:0 auto}

.ca-inner-hero{
  min-height:420px;
  display:flex;
  align-items:flex-end;
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 30%,rgba(237,28,36,.14),transparent 34%),
    linear-gradient(115deg,#08090b 0%,#12151a 55%,#08090b 100%);
  color:#fff;
}
.ca-inner-hero:after{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.12));
}
.ca-inner-hero-inner{width:min(1440px,calc(100% - 80px));margin:0 auto;padding:90px 0 70px}
.ca-inner-eyebrow,.ca-inner-label{
  display:flex;align-items:center;gap:18px;
  color:var(--ca-red);font-size:13px;font-weight:900;
  letter-spacing:.22em;text-transform:uppercase;
}
.ca-inner-eyebrow:before,.ca-inner-label:before{
  content:"";width:48px;height:2px;background:var(--ca-red);display:block;flex:0 0 48px
}
.ca-inner-hero h1{
  margin:22px 0 0;max-width:950px;
  font-size:clamp(54px,7vw,104px);line-height:.9;
  font-weight:900;letter-spacing:-.035em;text-transform:uppercase;
  color:#fff;
}
.ca-inner-hero h1 span{color:var(--ca-gold)}
.ca-inner-hero p{
  max-width:780px;margin:28px 0 0;
  color:#d8d9dd;font-size:19px;line-height:1.65;
}

.ca-page-main{padding:78px 0 0}
.ca-content-form{
  width:min(1440px,calc(100% - 80px));margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,540px);
  gap:70px;align-items:start;
}
.ca-content h2{
  margin:15px 0 22px;font-size:clamp(38px,4.2vw,62px);
  line-height:.96;text-transform:uppercase;font-weight:900;letter-spacing:-.025em;
}
.ca-content h3{
  margin:34px 0 12px;font-size:25px;text-transform:uppercase;font-weight:900;
}
.ca-content p{margin:0 0 18px;color:#4f535a;font-size:17px;line-height:1.75}
.ca-content ul{margin:24px 0;padding:0;list-style:none}
.ca-content li{
  position:relative;padding:14px 0 14px 30px;
  border-bottom:1px solid rgba(17,18,22,.12);
  font-size:16px;line-height:1.55;
}
.ca-content li:before{content:"✓";position:absolute;left:0;top:13px;color:var(--ca-red);font-weight:900}

.ca-form-card{
  background:linear-gradient(145deg,#191c22,#24282f);
  color:#fff;border:1px solid rgba(216,180,91,.55);
  border-radius:28px;padding:38px 36px 28px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  position:sticky;top:110px;
}
.ca-form-card:before{
  content:"";display:block;width:34px;height:34px;
  border-top:2px solid var(--ca-red);border-left:2px solid var(--ca-red);
  margin-bottom:-10px;
}
.ca-form-card h2{
  color:#fff;font-size:36px;line-height:1;margin:0 0 12px;
}
.ca-form-card>p{color:#bfc2c8;margin:0 0 25px;font-size:16px;line-height:1.55}
.ca-form-card .wpcf7{width:100%}
.ca-form-card .wpcf7 form{width:100%}
.ca-form-card .qf-row{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.ca-form-card p{margin:0 0 12px}
.ca-form-card .wpcf7-form-control-wrap{display:block;width:100%}
.ca-form-card input:not([type="submit"]),
.ca-form-card select,
.ca-form-card textarea{
  width:100%!important;max-width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #3b4049!important;
  background:#262a31!important;color:#fff!important;
  border-radius:16px!important;
  padding:15px 17px!important;
  font-family:inherit!important;font-size:16px!important;
  outline:none!important;
}
.ca-form-card input:not([type="submit"]),
.ca-form-card select{height:60px}
.ca-form-card textarea{min-height:145px;resize:vertical}
.ca-form-card input::placeholder,.ca-form-card textarea::placeholder{color:#a4a7ad}
.ca-form-card select{color:#fff}
.ca-form-card input[type="file"]{height:auto;padding:13px!important}
.ca-form-card input[type="submit"]{
  width:100%!important;border:0!important;border-radius:999px!important;
  background:var(--ca-red)!important;color:#fff!important;
  min-height:58px;padding:15px 22px!important;
  font-size:16px!important;font-weight:900!important;
  cursor:pointer;
}
.ca-confidential{margin-top:18px;text-align:center;color:#aeb1b7;font-size:13px}

.ca-service-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px
}
.ca-service-card{
  background:#fff;border:1px solid #ddd9d0;padding:30px;border-radius:22px;
  transition:transform .25s ease,box-shadow .25s ease;
}
.ca-service-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(0,0,0,.08)}
.ca-service-number{color:var(--ca-red);font-size:12px;font-weight:900;letter-spacing:.2em}
.ca-service-card h3{margin:10px 0 10px;font-size:25px}
.ca-service-card p{font-size:15px;line-height:1.65;margin:0}

.ca-faq-list{margin-top:30px}
.ca-faq{
  background:#fff;border:1px solid #ddd9d0;border-radius:16px;
  margin-bottom:12px;overflow:hidden;
}
.ca-faq summary{
  cursor:pointer;padding:22px 24px;font-weight:900;font-size:17px;
  list-style:none;display:flex;justify-content:space-between;gap:20px;
}
.ca-faq summary::-webkit-details-marker{display:none}
.ca-faq summary:after{content:"+";color:var(--ca-red);font-size:25px;line-height:1}
.ca-faq[open] summary:after{content:"−"}
.ca-faq .answer{padding:0 24px 23px;color:#555b62;line-height:1.7;font-size:16px}

.ca-review-summary{
  display:grid;grid-template-columns:220px 1fr;gap:25px;
  margin:30px 0;
}
.ca-rating{
  background:#17191e;color:#fff;border-radius:22px;padding:30px;text-align:center
}
.ca-rating strong{display:block;font-size:60px;line-height:1;color:var(--ca-gold)}
.ca-rating .stars{color:#f4c74b;font-size:22px;margin:8px 0}
.ca-rating small{color:#bfc2c8}
.ca-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ca-review{
  background:#fff;border:1px solid #ddd9d0;border-radius:20px;padding:26px;
}
.ca-review .stars{color:#e5b93f;letter-spacing:2px}
.ca-review p{margin:14px 0 18px;font-size:15px}
.ca-review strong{font-size:14px}

.ca-gallery-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px
}
.ca-gallery-item{
  min-height:250px;border-radius:18px;overflow:hidden;position:relative;
  background:
    linear-gradient(145deg,rgba(237,28,36,.15),rgba(216,180,91,.12)),
    linear-gradient(135deg,#15181d,#30353c);
  display:flex;align-items:flex-end;
}
.ca-gallery-item .caption{
  width:100%;padding:22px;color:#fff;font-weight:900;text-transform:uppercase;
  background:linear-gradient(transparent,rgba(0,0,0,.8));
}
.ca-gallery-note{
  margin-top:18px;padding:16px 20px;background:#fff;border-left:3px solid var(--ca-red);
  color:#5c6066;font-size:14px
}

.ca-contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:28px 0}
.ca-contact-card{background:#fff;border:1px solid #ddd9d0;border-radius:18px;padding:22px}
.ca-contact-card strong{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.15em;color:var(--ca-red);margin-bottom:8px}
.ca-contact-card a,.ca-contact-card span{color:#17191e;font-weight:800;text-decoration:none}
.ca-map{
  min-height:310px;border-radius:22px;background:#20242a;
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:#fff;padding:30px;margin-top:25px
}
.ca-map a{color:#fff;background:var(--ca-red);padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:900}

.ca-bottom-cta{
  margin-top:90px;background:#111216;color:#fff;
  padding:80px max(40px,calc((100vw - 1440px)/2)) 90px;
}
.ca-bottom-cta-inner{
  width:min(1440px,100%);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center
}
.ca-bottom-cta .ca-inner-label{margin-bottom:18px}
.ca-bottom-cta h2{font-size:clamp(42px,5vw,72px);line-height:.94;margin:0;text-transform:uppercase}
.ca-bottom-cta h2 span{color:var(--ca-gold)}
.ca-bottom-cta p{color:#bfc2c8;font-size:17px;line-height:1.7;max-width:560px}
.ca-bottom-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.ca-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:54px;padding:0 25px;border-radius:999px;
  text-decoration:none;font-weight:900
}
.ca-btn-red{background:var(--ca-red);color:#fff}
.ca-btn-outline{border:1px solid #5b5f66;color:#fff}

@media(max-width:1000px){
  .ca-content-form{grid-template-columns:1fr;gap:45px}
  .ca-form-card{position:static}
  .ca-inner-hero h1{font-size:clamp(52px,10vw,82px)}
  .ca-bottom-cta-inner{grid-template-columns:1fr;gap:25px}
}
@media(max-width:700px){
  .ca-inner-wrap,.ca-inner-hero-inner,.ca-content-form{width:calc(100% - 30px)}
  .ca-inner-hero{min-height:390px}
  .ca-inner-hero-inner{padding:70px 0 55px}
  .ca-inner-hero h1{font-size:clamp(43px,14vw,64px)}
  .ca-inner-hero p{font-size:16px}
  .ca-page-main{padding-top:50px}
  .ca-service-grid,.ca-review-grid,.ca-gallery-grid,.ca-contact-cards{grid-template-columns:1fr}
  .ca-review-summary{grid-template-columns:1fr}
  .ca-form-card{padding:28px 18px 24px;border-radius:22px}
  .ca-form-card .qf-row{grid-template-columns:1fr;gap:0}
  .ca-form-card p{margin-bottom:12px}
  .ca-form-card input:not([type="submit"]),.ca-form-card select{height:56px}
  .ca-bottom-cta{margin-top:60px;padding:60px 15px 75px}
  .ca-bottom-cta h2{font-size:42px}
  .ca-bottom-buttons{flex-direction:column}
  .ca-btn{width:100%}
}


/* =========================================================
   CONTACT PAGE
   ========================================================= */

.ca-contact-main {
    background: #f4f1e9;
    padding: 90px 5%;
}

.ca-contact-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.ca-contact-info h2,
.ca-contact-form-card h2,
.ca-contact-map-section h2 {
    margin: 15px 0 20px;
}

.ca-contact-info h2 {
    font-size: clamp(42px, 4vw, 68px);
    line-height: .95;
}

.ca-contact-intro {
    max-width: 650px;
    font-size: 20px;
    line-height: 1.7;
    color: #555963;
    margin-bottom: 35px;
}


/* BUSINESS DETAILS */

.ca-contact-info-card {
    background: #ed1c24;
    padding: 45px;
    color: #fff;
    position: relative;
    overflow: hidden;
    margin-bottom: 25px;
}

.ca-contact-info-card::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -100px;
    bottom: -120px;
    border: 45px solid rgba(0,0,0,.08);
    transform: rotate(-25deg);
}

.ca-contact-card-title,
.ca-trading-title {
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 30px;
    position: relative;
    z-index: 2;
}

.ca-contact-detail {
    display: flex;
    gap: 18px;
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
}

.ca-contact-detail:last-child {
    margin-bottom: 0;
}

.ca-contact-icon {
    font-size: 27px;
    width: 35px;
    flex-shrink: 0;
}

.ca-contact-detail strong {
    display: block;
    font-size: 14px;
    letter-spacing: 1.5px;
    margin-bottom: 5px;
}

.ca-contact-detail p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
}

.ca-contact-detail a {
    color: #fff;
    text-decoration: none;
}


/* TRADING HOURS */

.ca-trading-card {
    background: #fff;
    border: 1px solid #dedbd3;
    padding: 45px;
}

.ca-trading-title {
    color: #111;
}

.ca-trading-row {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 20px 0;
    border-top: 1px solid #e5e2dc;
}

.ca-trading-row strong {
    font-size: 16px;
}

.ca-trading-row span {
    color: #ed1c24;
    font-size: 17px;
}


/* FORM */

.ca-contact-form-card {
    background: #181a1f;
    color: #fff;
    padding: 50px;
}

.ca-contact-form-card h2 {
    color: #fff;
    font-size: clamp(42px, 4vw, 68px);
    line-height: .95;
}

.ca-contact-form-card h2 span {
    color: #e4b94f;
}

.ca-form-intro {
    color: #bfc2c8;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
}

.ca-contact-form .wpcf7 {
    width: 100%;
}

.ca-contact-form .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 14px;
}

.ca-contact-form input:not([type="submit"]),
.ca-contact-form select,
.ca-contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    background: #25282e;
    border: 1px solid #383c44;
    border-radius: 16px;
    color: #fff;
    padding: 17px 20px;
    font-size: 16px;
    font-family: inherit;
}

.ca-contact-form textarea {
    min-height: 160px;
    resize: vertical;
}

.ca-contact-form input::placeholder,
.ca-contact-form textarea::placeholder {
    color: #aeb1b8;
}

.ca-contact-form select {
    color: #aeb1b8;
}

.ca-contact-form input[type="file"] {
    padding: 14px;
}

.ca-contact-form input[type="submit"] {
    width: 100%;
    border: 0;
    border-radius: 40px;
    padding: 17px 30px;
    background: #ed1c24;
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    cursor: pointer;
    transition: .25s ease;
}

.ca-contact-form input[type="submit"]:hover {
    transform: translateY(-2px);
    background: #ff2931;
}

.ca-confidential {
    margin-top: 20px;
    color: #999da5;
    font-size: 13px;
}


/* MAP */

.ca-contact-map-section {
    max-width: 1400px;
    margin: 90px auto 0;
}

.ca-map-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 40px;
    margin-bottom: 35px;
}

.ca-contact-map-section h2 {
    font-size: clamp(40px, 4vw, 64px);
    line-height: .95;
}

.ca-contact-map-section h2 span {
    color: #e4b94f;
}

.ca-map-frame {
    width: 100%;
    overflow: hidden;
    background: #ddd;
}

.ca-map-frame iframe {
    display: block;
    width: 100%;
}


/* MOBILE */

@media (max-width: 900px) {

    .ca-contact-main {
        padding: 60px 20px;
    }

    .ca-contact-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .ca-contact-info h2,
    .ca-contact-form-card h2 {
        font-size: 44px;
    }

    .ca-contact-info-card,
    .ca-trading-card,
    .ca-contact-form-card {
        padding: 30px 25px;
    }

    .ca-map-heading {
        flex-direction: column;
        align-items: flex-start;
    }

    .ca-map-frame iframe {
        height: 380px;
    }

}

@media (max-width: 600px) {

    .ca-contact-main {
        padding: 45px 15px;
    }

    .ca-contact-info h2,
    .ca-contact-form-card h2,
    .ca-contact-map-section h2 {
        font-size: 38px;
    }

    .ca-contact-intro {
        font-size: 17px;
    }

    .ca-contact-info-card,
    .ca-trading-card,
    .ca-contact-form-card {
        padding: 25px 20px;
    }

    .ca-contact-detail p {
        font-size: 16px;
    }

    .ca-trading-row {
        flex-direction: column;
        gap: 7px;
    }

    .ca-map-frame iframe {
        height: 320px;
    }

}


/* =========================================
   GALLERY
========================================= */

.gallery-grid-section {
    background: #f4f1ea;
    padding: 90px 0;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.gallery-item {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    background: #15171c;
    border-radius: 2px;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.4s ease;
}

.gallery-item:hover img {
    transform: scale(1.06);
}

.gallery-item:hover::after {
    background: rgba(0, 0, 0, 0.12);
}


/* =========================================
   GALLERY MOBILE
========================================= */

@media (max-width: 900px) {

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .gallery-grid-section {
        padding: 60px 20px;
    }

}


@media (max-width: 600px) {

    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .gallery-grid-section {
        padding: 50px 16px;
    }

}