/*
Theme Name: Napa Classic Restos FSE v2.6.8
Theme URI: https://napaclassicrestos.com
Author: Napa Classic Restos
Description: Fully editable Full Site Editing theme based on the approved v17 Napa Classic Restos design.
Version: 2.6.8
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: napa-classic-restos
*/

:root{
  --ncr-bg:#2E2E2C;
  --ncr-black:#090908;
  --ncr-panel:#171715;
  --ncr-cream:#F2E6CF;
  --ncr-muted:#C9BCA3;
  --ncr-gold:#B88B3F;
  --ncr-gold-light:#D4AA60;
  --ncr-line:rgba(184,139,63,.58);
  --ncr-display:"Cinzel",Georgia,serif;
  --ncr-body:"Libre Franklin",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ncr-bg);color:var(--ncr-cream);font-family:var(--ncr-body);line-height:1.65}
.wp-site-blocks{overflow-x:clip}
a{color:inherit}
img{max-width:100%;height:auto}

/* HEADER — editable in Appearance > Editor */
.ncr-header{background:#2E2E2C;border-bottom:1px solid var(--ncr-line)}
.ncr-logo-area{
  background:#2E2E2C;
  min-height:clamp(76px,12vw,170px);
  padding:clamp(8px,1.8vw,22px) clamp(12px,2vw,28px);
  display:flex;
  justify-content:center;
  align-items:center;
}
.ncr-logo-area .wp-block-site-logo{margin-inline:auto}
.ncr-logo-area .wp-block-site-logo img{
  display:block;
  width:min(100%,760px);
  max-width:760px;
  height:auto;
  object-fit:contain;
}
.ncr-nav-row{
  background:#2E2E2C;
  border-top:1px solid rgba(184,139,63,.35);
  padding:14px 24px;
}
.ncr-nav-row .wp-block-navigation{width:100%;justify-content:center}
.ncr-nav-row .wp-block-navigation-item__content{
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:clamp(.66rem,.68vw,.78rem);
}
.ncr-nav-row .wp-block-navigation-item__content:hover{color:var(--ncr-gold-light)}

/* HOMEPAGE HERO — full size image, NO TEXT, one button at far left */
.ncr-hero{
  min-height:clamp(560px,72vw,820px);
  background-size:cover;
  background-position:center center;
  border-bottom:1px solid var(--ncr-line);
}
.ncr-hero .wp-block-cover__background{display:none!important}
.ncr-hero .wp-block-cover__inner-container{
  width:100%;
  height:100%;
}
.ncr-hero-button-wrap{
  width:100%!important;
  max-width:none!important;
  min-height:clamp(560px,72vw,820px);
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  padding:0 0 clamp(34px,6vw,72px) clamp(22px,4vw,64px)!important;
  margin:0!important;
}
.ncr-hero-button-wrap .wp-block-buttons{
  width:auto!important;
  display:flex!important;
  justify-content:flex-start!important;
  margin:0!important;
}
.ncr-hero-button-wrap .wp-block-button{margin:0!important}
.ncr-hero .wp-block-button__link{
  border-radius:0!important;
  background:linear-gradient(#D6AD63,#AD7D35)!important;
  color:#111!important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  padding:15px 28px!important;
  text-decoration:none;
}

/* BENEFITS — v17 */
.ncr-benefits{background:#171715;border-top:1px solid var(--ncr-line);border-bottom:1px solid var(--ncr-line)}
.ncr-benefits .wp-block-columns{margin:0}
.ncr-benefit{padding:27px 22px;border-right:1px solid rgba(184,139,63,.35);min-height:118px}
.ncr-benefit:last-child{border-right:0}
.ncr-benefit h3{font-family:var(--ncr-display);text-transform:uppercase;font-size:1rem;margin:.1rem 0}
.ncr-benefit p{font-style:italic;font-family:Georgia,serif;margin:0;color:var(--ncr-muted)}

/* SECTIONS — v17 */
.ncr-section{padding-block:clamp(62px,8vw,105px);padding-inline:clamp(18px,4vw,48px)}
.ncr-dark{background:#171715}
.ncr-heading{text-align:center;width:min(820px,100%);max-width:820px;margin:0 auto 50px}
.ncr-heading h2{
  font-family:var(--ncr-display);
  text-transform:uppercase;
  line-height:1.08;
  font-size:clamp(2rem,4.5vw,4.7rem);
  margin:.15em 0;
  text-wrap:balance;
}
.ncr-heading p{color:var(--ncr-muted)}
.ncr-kicker{
  color:var(--ncr-gold-light)!important;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-family:var(--ncr-display)
}

/* v17 Service / generic query cards */
.ncr-query-grid .wp-block-post-template{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  list-style:none;
  padding:0;
}
.ncr-query-grid .wp-block-post{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--ncr-line);
  background:#111;
  padding-bottom:24px;
}
.ncr-query-grid .wp-block-post-featured-image{margin:0}
.ncr-query-grid .wp-block-post-featured-image img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.ncr-query-grid .wp-block-post-title,
.ncr-query-grid .wp-block-post-excerpt{margin-left:24px;margin-right:24px}
.ncr-query-grid .wp-block-post-title{
  font-family:var(--ncr-display);
  text-transform:uppercase;
}

/* CONTACT */
.ncr-contact{
  background:linear-gradient(rgba(15,15,14,.92),rgba(15,15,14,.97)),
             url("assets/images/hero-clean.jpg") center/cover;
}
.ncr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ncr-form-grid label{
  display:grid;gap:6px;color:var(--ncr-gold-light);
  text-transform:uppercase;letter-spacing:.1em;font-size:.72rem
}
.ncr-form-grid input,.ncr-form-grid textarea,.ncr-form-grid select{
  width:100%;background:#111;border:1px solid var(--ncr-line);
  color:var(--ncr-cream);padding:13px;font:inherit
}
.ncr-form-grid .full{grid-column:1/-1}

/* FOOTER — editable in Appearance > Editor */
.ncr-footer{background:#141412;border-top:1px solid var(--ncr-line)}
.ncr-footer h3{color:var(--ncr-gold-light)}
.ncr-footer a{text-decoration:none}

/* CUSTOMER CARS PORTFOLIO */
.customer-cars-intro{
  padding:clamp(60px,8vw,100px) 24px clamp(40px,5vw,70px);
  text-align:center;
}
.customer-cars-intro p{max-width:760px;margin-inline:auto;color:var(--ncr-muted)}
.customer-cars-list{padding:0 24px clamp(70px,9vw,120px)}
.customer-cars-query .wp-block-post-template{display:block}
.customer-cars-query .wp-block-post{margin:0}
.customer-car-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(30px,5vw,70px);
  align-items:center;
  padding:clamp(50px,7vw,90px) 0;
  border-bottom:1px solid var(--ncr-gold);
}
.customer-cars-query .wp-block-post:first-child .customer-car-showcase{border-top:1px solid var(--ncr-gold)}
.customer-cars-query .wp-block-post:nth-child(even) .customer-car-image-wrap{order:2}
.customer-cars-query .wp-block-post:nth-child(even) .customer-car-content{order:1}
.customer-car-image-wrap .wp-block-post-featured-image{margin:0;overflow:hidden;border:1px solid var(--ncr-line)}
.customer-car-image-wrap img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.customer-car-image-wrap a:hover img{transform:scale(1.025)}
.customer-car-eyebrow{
  margin:0 0 8px;color:var(--ncr-gold-light);
  text-transform:uppercase;letter-spacing:.16em;font-size:.74rem
}
.customer-car-content .wp-block-post-title{
  margin:0 0 22px;font-family:var(--ncr-display);
  text-transform:uppercase;font-size:clamp(2rem,3.5vw,3.8rem);line-height:1.08
}
.customer-car-content .wp-block-post-title a{text-decoration:none}
.customer-car-specs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;margin:26px 0;background:var(--ncr-line);border:1px solid var(--ncr-line)
}
.customer-car-specs>div{min-width:0;padding:14px 16px;background:#171715}
.customer-car-specs span{
  display:block;margin-bottom:3px;color:var(--ncr-gold-light);
  text-transform:uppercase;letter-spacing:.1em;font-size:.66rem
}
.customer-car-specs strong{display:block;overflow-wrap:anywhere;color:var(--ncr-cream)}
.customer-car-content .wp-block-post-excerpt,.customer-car-work,.customer-car-work-plain{color:var(--ncr-muted)}
.customer-car-button{
  display:inline-block;width:auto;margin-top:10px;padding:14px 22px;
  background:transparent;border:1px solid var(--ncr-gold);
  color:var(--ncr-cream);text-decoration:none;text-transform:uppercase;
  letter-spacing:.12em;font-size:.74rem
}
.customer-car-button:hover{background:rgba(184,139,63,.12);color:var(--ncr-gold-light)}

/* SINGLE CUSTOMER RESTORATION */
.customer-car-single-hero{padding:clamp(60px,8vw,100px) 24px clamp(40px,5vw,70px);text-align:center}
.customer-car-featured{padding:0 24px clamp(45px,6vw,80px)}
.customer-car-featured img{display:block;width:100%;max-height:820px;object-fit:cover;border:1px solid var(--ncr-line)}
.customer-car-story{padding:0 24px clamp(70px,9vw,120px)}
.customer-car-story-aside{
  align-self:flex-start;padding:24px;border:1px solid var(--ncr-line);background:#171715
}
.customer-car-story-aside h3{
  margin-top:0;color:var(--ncr-gold-light);
  text-transform:uppercase;letter-spacing:.08em;font-family:var(--ncr-display)
}
.customer-car-scope{margin-top:34px;padding-top:28px;border-top:1px solid var(--ncr-line)}
.customer-car-scope-title{
  margin:0 0 22px;font-family:var(--ncr-display);
  text-transform:uppercase;letter-spacing:.06em;color:var(--ncr-cream)
}
.customer-car-scope-summary{margin:0 0 24px;color:var(--ncr-muted);font-size:1.05rem}
.customer-car-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.customer-car-scope-item{padding:20px;border:1px solid var(--ncr-line);background:#171715}
.customer-car-scope-item h4{
  margin:0 0 10px;color:var(--ncr-gold-light);
  font-family:var(--ncr-display);text-transform:uppercase;
  letter-spacing:.08em;font-size:.9rem
}
.customer-car-scope-item p{margin:0;color:var(--ncr-muted);white-space:pre-line}

/* RESPONSIVE */
@media(max-width:960px){
  .ncr-query-grid .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ncr-benefits .wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-car-showcase{grid-template-columns:1fr}
  .customer-cars-query .wp-block-post:nth-child(even) .customer-car-image-wrap,
  .customer-cars-query .wp-block-post:nth-child(even) .customer-car-content{order:initial}
}
@media(max-width:640px){
  .ncr-logo-area{min-height:68px;padding:8px 12px}
  .ncr-hero,.ncr-hero-button-wrap{min-height:520px}
  .ncr-hero-button-wrap{padding-left:18px!important;padding-bottom:28px!important}
  .ncr-query-grid .wp-block-post-template,
  .ncr-benefits .wp-block-columns,
  .ncr-form-grid,
  .customer-car-scope-grid{grid-template-columns:1fr}
  .ncr-form-grid .full{grid-column:auto}
  .ncr-benefit{border-right:0;border-bottom:1px solid rgba(184,139,63,.35)}
  .customer-car-specs{grid-template-columns:1fr 1fr}
  .customer-car-showcase{padding:45px 0}
}


/* =========================================================
   FSE 2.1 — RESTORATION SERVICES 4-COLUMN EQUAL CARD FIX
   Only affects the homepage #services section.
   ========================================================= */

#services .ncr-query-grid .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

#services .ncr-query-grid .wp-block-post {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  padding-bottom: 24px !important;
}

#services .ncr-query-grid .wp-block-post-featured-image {
  flex: 0 0 auto !important;
}

#services .ncr-query-grid .wp-block-post-featured-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
}

#services .ncr-query-grid .wp-block-post-title {
  margin-top: 22px !important;
  margin-bottom: 12px !important;
  font-size: clamp(1.05rem, 1.35vw, 1.4rem) !important;
  line-height: 1.25 !important;
  min-height: 3.15em !important;
  display: flex !important;
  align-items: flex-start !important;
}

#services .ncr-query-grid .wp-block-post-excerpt {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  margin-top: 0 !important;
}

#services .ncr-query-grid .wp-block-post-excerpt__excerpt {
  flex: 1 1 auto !important;
}

#services .ncr-query-grid .wp-block-post-excerpt__more-text {
  margin-top: auto !important;
  padding-top: 14px !important;
}

@media (max-width: 1100px) {
  #services .ncr-query-grid .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #services .ncr-query-grid .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }

  #services .ncr-query-grid .wp-block-post-title {
    min-height: 0 !important;
  }
}


/* =========================================================
   FSE 2.3 — WORDPRESS-MANAGED HEADER NAVIGATION
   ========================================================= */
.ncr-primary-menu-wrap{width:100%}
.ncr-primary-menu{
  list-style:none;margin:0;padding:0;display:flex;align-items:center;
  justify-content:center;gap:clamp(18px,3vw,54px);flex-wrap:wrap
}
.ncr-primary-menu li{position:relative;margin:0;padding:0}
.ncr-primary-menu a{
  display:block;color:var(--ncr-cream);text-decoration:none;text-transform:uppercase;
  letter-spacing:.14em;font-size:clamp(.66rem,.68vw,.78rem);padding:8px 0
}
.ncr-primary-menu a:hover,
.ncr-primary-menu .current-menu-item>a,
.ncr-primary-menu .current_page_item>a{color:var(--ncr-gold-light)}
.ncr-primary-menu .sub-menu{
  display:none;position:absolute;top:100%;left:0;z-index:50;min-width:220px;
  margin:0;padding:10px 0;list-style:none;background:#171715;border:1px solid var(--ncr-line)
}
.ncr-primary-menu li:hover>.sub-menu,
.ncr-primary-menu li:focus-within>.sub-menu{display:block}
.ncr-primary-menu .sub-menu a{padding:10px 16px;white-space:nowrap}
.ncr-mobile-menu-toggle{
  display:none;width:100%;padding:12px 16px;background:transparent;color:var(--ncr-cream);
  border:1px solid var(--ncr-line);text-transform:uppercase;letter-spacing:.12em;font:inherit
}
@media(max-width:860px){
  .ncr-mobile-menu-toggle{display:block}
  .ncr-primary-menu{
    display:none;width:100%;margin-top:10px;flex-direction:column;align-items:stretch;gap:0
  }
  .ncr-primary-menu-wrap.is-open .ncr-primary-menu{display:flex}
  .ncr-primary-menu a{padding:12px 8px;border-bottom:1px solid rgba(184,139,63,.25)}
  .ncr-primary-menu .sub-menu{
    display:block;position:static;min-width:0;padding:0 0 0 18px;border:0;background:transparent
  }
}

/* FSE 2.4 — Customer Testimonials */
.ncr-testimonials{background:#171715;border-top:1px solid rgba(184,139,63,.35);border-bottom:1px solid rgba(184,139,63,.35)}
.ncr-testimonials .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0}
.ncr-testimonials .wp-block-post{display:flex;flex-direction:column;min-width:0;height:100%;padding:clamp(26px,3vw,38px);background:#111;border:1px solid var(--ncr-line)}
.ncr-testimonials .wp-block-post-content{flex:1 1 auto;margin:0 0 24px;color:var(--ncr-cream);font-family:Georgia,serif;font-size:clamp(1.05rem,1.35vw,1.3rem);font-style:italic;line-height:1.65}
.ncr-testimonials .wp-block-post-content p:first-child{margin-top:0}
.ncr-testimonials .wp-block-post-content p:last-child{margin-bottom:0}
.ncr-testimonials .wp-block-post-title{margin:0;color:var(--ncr-gold-light);font-family:var(--ncr-display);font-size:.9rem;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.ncr-testimonials .wp-block-post-excerpt{margin:5px 0 0;color:var(--ncr-muted);font-size:.82rem}
.ncr-testimonials .wp-block-post-excerpt p{margin:0}
@media(max-width:960px){.ncr-testimonials .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ncr-testimonials .wp-block-post-template{grid-template-columns:1fr}}


/* =========================================================
   FSE 2.5 — ROTATING HERO TESTIMONIAL
   ========================================================= */

.ncr-hero-button-wrap {
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 18px !important;
}

.ncr-hero-testimonial {
  position: relative;
  width: min(470px, calc(100vw - 44px));
  padding: 24px 28px 22px;
  background: rgba(20,20,18,.84);
  border: 1px solid var(--ncr-gold);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  color: var(--ncr-cream);
}

.ncr-hero-testimonial-track {
  position: relative;
  min-height: 170px;
}

.ncr-hero-testimonial-item {
  display: none;
  animation: ncrTestimonialFade .45s ease;
}

.ncr-hero-testimonial-item.is-active {
  display: block;
}

@keyframes ncrTestimonialFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.ncr-hero-testimonial-stars {
  margin-bottom: 10px;
  color: var(--ncr-gold-light);
  font-size: 1.05rem;
  letter-spacing: .18em;
}

.ncr-hero-testimonial-quote {
  margin: 0 0 16px;
  color: var(--ncr-cream);
  font-family: Georgia, serif;
  font-size: clamp(1rem, 1.2vw, 1.22rem);
  line-height: 1.55;
  font-style: italic;
}

.ncr-hero-testimonial-name {
  margin: 0;
  color: var(--ncr-gold-light);
  font-family: var(--ncr-display);
  font-size: .82rem;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ncr-hero-testimonial-vehicle {
  margin: 4px 0 0;
  color: var(--ncr-muted);
  font-size: .76rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ncr-hero-testimonial-dots {
  display: flex;
  gap: 8px;
  margin-top: 17px;
}

.ncr-hero-testimonial-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid var(--ncr-gold-light);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.ncr-hero-testimonial-dot.is-active {
  background: var(--ncr-gold-light);
}

.ncr-hero-testimonial-empty {
  display: none;
}

@media (max-width: 720px) {
  .ncr-hero-testimonial {
    width: calc(100vw - 36px);
    padding: 20px;
  }

  .ncr-hero-testimonial-track {
    min-height: 155px;
  }

  .ncr-hero-button-wrap {
    gap: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ncr-hero-testimonial-item {
    animation: none;
  }
}


/* =========================================================
   FSE 2.6 — EDITABLE HOMEPAGE RESTORATION SERVICES
   Normal Gutenberg blocks; edit under Pages > Home.
   ========================================================= */
#services.ncr-services-editable .ncr-services-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

#services.ncr-services-editable .ncr-service-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: clamp(24px, 2.4vw, 34px) !important;
  background: #111 !important;
  border: 1px solid var(--ncr-line) !important;
}

#services.ncr-services-editable .ncr-service-card h3 {
  margin: 0 0 16px !important;
  min-height: 2.6em !important;
  color: var(--ncr-cream) !important;
  font-family: var(--ncr-display) !important;
  font-size: clamp(1rem, 1.25vw, 1.35rem) !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

#services.ncr-services-editable .ncr-service-card h3::after {
  content: "";
  display: block;
  width: 46px;
  height: 1px;
  margin-top: 15px;
  background: var(--ncr-gold);
}

#services.ncr-services-editable .ncr-service-card p {
  margin: 0 !important;
  color: var(--ncr-muted) !important;
}

@media (max-width: 1050px) {
  #services.ncr-services-editable .ncr-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #services.ncr-services-editable .ncr-service-card h3 {
    min-height: 0 !important;
  }
}

@media (max-width: 640px) {
  #services.ncr-services-editable .ncr-services-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   FSE 2.6.1 — RESTORE GOLD SERVICE BOXES
   Keeps the v2.6 Gutenberg editability intact.
   ========================================================= */

#services.ncr-services-editable .ncr-services-grid {
  align-items: stretch !important;
}

#services.ncr-services-editable .ncr-service-card {
  position: relative !important;
  border: 2px solid var(--ncr-gold) !important;
  outline: 1px solid rgba(212,170,96,.28) !important;
  outline-offset: -6px !important;
  background: #111 !important;
  padding: clamp(28px, 2.6vw, 38px) !important;
  box-shadow: none !important;
}

#services.ncr-services-editable .ncr-service-card::before,
#services.ncr-services-editable .ncr-service-card::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  pointer-events: none;
}

#services.ncr-services-editable .ncr-service-card::before {
  top: 7px;
  left: 7px;
  border-top: 1px solid var(--ncr-gold-light);
  border-left: 1px solid var(--ncr-gold-light);
}

#services.ncr-services-editable .ncr-service-card::after {
  right: 7px;
  bottom: 7px;
  border-right: 1px solid var(--ncr-gold-light);
  border-bottom: 1px solid var(--ncr-gold-light);
}

#services.ncr-services-editable .ncr-service-card h3 {
  color: var(--ncr-cream) !important;
}

#services.ncr-services-editable .ncr-service-card h3::after {
  background: var(--ncr-gold) !important;
  height: 1px !important;
}


/* =========================================================
   FSE 2.6.2 — RESTORATION SERVICES CARD FRAME FIX
   Explicit colors + robust selectors so the gold frames render
   regardless of missing CSS variables or editor-added wrapper classes.
   ========================================================= */

#services .ncr-services-grid,
.ncr-services-editable .ncr-services-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

#services .ncr-service-card,
.ncr-services-editable .ncr-service-card,
#services .wp-block-group.ncr-service-card {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;

  /* Explicit brand colors — no variable dependency */
  background: #141413 !important;
  border: 2px solid #B89A5A !important;
  border-radius: 2px !important;
  padding: 34px 28px 32px !important;

  /* Subtle inner gold keyline similar to the recommended mockup */
  box-shadow:
    inset 0 0 0 5px #141413,
    inset 0 0 0 6px rgba(184,154,90,.55) !important;
}

/* Small Art-Deco corner details */
#services .ncr-service-card::before,
#services .ncr-service-card::after,
.ncr-services-editable .ncr-service-card::before,
.ncr-services-editable .ncr-service-card::after {
  content: "" !important;
  position: absolute !important;
  width: 18px !important;
  height: 18px !important;
  pointer-events: none !important;
}

#services .ncr-service-card::before,
.ncr-services-editable .ncr-service-card::before {
  top: 7px !important;
  left: 7px !important;
  border-top: 2px solid #B89A5A !important;
  border-left: 2px solid #B89A5A !important;
}

#services .ncr-service-card::after,
.ncr-services-editable .ncr-service-card::after {
  right: 7px !important;
  bottom: 7px !important;
  border-right: 2px solid #B89A5A !important;
  border-bottom: 2px solid #B89A5A !important;
}

#services .ncr-service-card h3,
.ncr-services-editable .ncr-service-card h3 {
  margin: 0 0 18px !important;
  min-height: 2.7em !important;
  color: #E6DEC6 !important;
  text-align: center !important;
  line-height: 1.25 !important;
}

#services .ncr-service-card h3::after,
.ncr-services-editable .ncr-service-card h3::after {
  content: "" !important;
  display: block !important;
  width: 54px !important;
  height: 2px !important;
  margin: 16px auto 0 !important;
  background: #B89A5A !important;
}

#services .ncr-service-card p,
.ncr-services-editable .ncr-service-card p {
  margin: 0 !important;
  color: #E6DEC6 !important;
  text-align: center !important;
  line-height: 1.65 !important;
}

@media (max-width: 1080px) {
  #services .ncr-services-grid,
  .ncr-services-editable .ncr-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #services .ncr-service-card h3,
  .ncr-services-editable .ncr-service-card h3 {
    min-height: 0 !important;
  }
}

@media (max-width: 680px) {
  #services .ncr-services-grid,
  .ncr-services-editable .ncr-services-grid {
    grid-template-columns: 1fr !important;
  }

  #services .ncr-service-card,
  .ncr-services-editable .ncr-service-card {
    padding: 30px 24px !important;
  }
}


/* =========================================================
   FSE 2.6.3 — SERVICE VISUALS FROM APPROVED MOCKUP
   Uses the exact truck, engine, polisher and interior visuals
   extracted from the approved Restoration Services concept.
   ========================================================= */

#services .ncr-service-card::marker {
  content: none;
}

#services .ncr-service-visual {
  width: 100% !important;
  height: 145px !important;
  margin: 0 auto 18px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  flex: 0 0 auto !important;
}

#services .ncr-service-complete .ncr-service-visual {
  background-image: url("assets/images/service-complete-restorations.png") !important;
}

#services .ncr-service-mechanical .ncr-service-visual {
  background-image: url("assets/images/service-mechanical-restorations.png") !important;
}

#services .ncr-service-preservation .ncr-service-visual {
  background-image: url("assets/images/service-preservation-detailing.png") !important;
}

#services .ncr-service-interior .ncr-service-visual {
  background-image: url("assets/images/service-interior-restoration.png") !important;
}

@media (max-width: 680px) {
  #services .ncr-service-visual {
    height: 135px !important;
  }
}


/* =========================================================
   FSE 2.6.4 — ORNATE GOLD SERVICE FRAMES
   Matches approved mockup: double-line frame with clipped /
   stepped Art-Deco corners.
   ========================================================= */

#services .ncr-service-card,
.ncr-services-editable .ncr-service-card,
#services .wp-block-group.ncr-service-card {
  --ncr-card-bg: #141413;
  --ncr-card-gold: #B89A5A;
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;

  /* Remove older plain frame styling */
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;

  /* Match the chamfered / stepped shape from the approved visual */
  clip-path: polygon(
    14px 0,
    calc(100% - 14px) 0,
    calc(100% - 14px) 5px,
    calc(100% - 5px) 5px,
    calc(100% - 5px) 14px,
    100% 14px,
    100% calc(100% - 14px),
    calc(100% - 5px) calc(100% - 14px),
    calc(100% - 5px) calc(100% - 5px),
    calc(100% - 14px) calc(100% - 5px),
    calc(100% - 14px) 100%,
    14px 100%,
    14px calc(100% - 5px),
    5px calc(100% - 5px),
    5px calc(100% - 14px),
    0 calc(100% - 14px),
    0 14px,
    5px 14px,
    5px 5px,
    14px 5px
  ) !important;

  padding: 36px 30px 34px !important;
}

/* Outer gold silhouette */
#services .ncr-service-card::before,
.ncr-services-editable .ncr-service-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -3 !important;
  background: var(--ncr-card-gold) !important;
  border: 0 !important;

  clip-path: inherit !important;
}

/* Dark fill leaving the first gold line visible */
#services .ncr-service-card::after,
.ncr-services-editable .ncr-service-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 2px !important;
  z-index: -2 !important;
  background: var(--ncr-card-bg) !important;
  border: 0 !important;

  clip-path: polygon(
    13px 0,
    calc(100% - 13px) 0,
    calc(100% - 13px) 4px,
    calc(100% - 4px) 4px,
    calc(100% - 4px) 13px,
    100% 13px,
    100% calc(100% - 13px),
    calc(100% - 4px) calc(100% - 13px),
    calc(100% - 4px) calc(100% - 4px),
    calc(100% - 13px) calc(100% - 4px),
    calc(100% - 13px) 100%,
    13px 100%,
    13px calc(100% - 4px),
    4px calc(100% - 4px),
    4px calc(100% - 13px),
    0 calc(100% - 13px),
    0 13px,
    4px 13px,
    4px 4px,
    13px 4px
  ) !important;

  /* second inner gold line from approved visual */
  box-shadow: inset 0 0 0 5px var(--ncr-card-bg),
              inset 0 0 0 6px rgba(184,154,90,.95) !important;
}

/* Ensure card contents sit over both frame layers */
#services .ncr-service-card > *,
.ncr-services-editable .ncr-service-card > * {
  position: relative !important;
  z-index: 2 !important;
}

/* More closely match the vertical proportions in the approved mockup */
#services .ncr-service-visual,
.ncr-services-editable .ncr-service-visual {
  height: 150px !important;
  margin-bottom: 14px !important;
}

#services .ncr-service-card h3,
.ncr-services-editable .ncr-service-card h3 {
  margin-bottom: 18px !important;
}

#services .ncr-service-card h3::before,
.ncr-services-editable .ncr-service-card h3::before {
  content: "✦" !important;
  display: block !important;
  color: #B89A5A !important;
  font-size: 15px !important;
  line-height: 1 !important;
  margin: 2px auto 12px !important;
  text-align: center !important;
}

#services .ncr-service-card h3::after,
.ncr-services-editable .ncr-service-card h3::after {
  width: 58px !important;
  height: 2px !important;
  margin: 14px auto 0 !important;
  background: #B89A5A !important;
}

@media (max-width: 680px) {
  #services .ncr-service-card,
  .ncr-services-editable .ncr-service-card {
    padding: 32px 24px 30px !important;
  }

  #services .ncr-service-visual,
  .ncr-services-editable .ncr-service-visual {
    height: 135px !important;
  }
}


/* =========================================================
   FSE 2.6.5 — STRUCTURAL RESTORATION SERVICE CARDS
   Approved mockup recreated with real nested frame elements.
   ========================================================= */

#services .ncr-services-grid,
.ncr-services-editable .ncr-services-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

#services .ncr-service-card,
.ncr-services-editable .ncr-service-card {
  position: relative !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  clip-path: none !important;
  overflow: visible !important;
}

#services .ncr-card-frame,
.ncr-services-editable .ncr-card-frame {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 500px !important;
  padding: 14px !important;
  background: #B89A5A !important;
  box-sizing: border-box !important;

  /* actual stepped/chamfered outer shape */
  clip-path: polygon(
    16px 0,
    calc(100% - 16px) 0,
    calc(100% - 16px) 4px,
    calc(100% - 6px) 4px,
    calc(100% - 6px) 14px,
    100% 14px,
    100% calc(100% - 14px),
    calc(100% - 6px) calc(100% - 14px),
    calc(100% - 6px) calc(100% - 4px),
    calc(100% - 16px) calc(100% - 4px),
    calc(100% - 16px) 100%,
    16px 100%,
    16px calc(100% - 4px),
    6px calc(100% - 4px),
    6px calc(100% - 14px),
    0 calc(100% - 14px),
    0 14px,
    6px 14px,
    6px 4px,
    16px 4px
  ) !important;
}

#services .ncr-card-frame-inner,
.ncr-services-editable .ncr-card-frame-inner {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  height: 100% !important;
  padding: 28px 24px 30px !important;
  background: #141413 !important;
  box-sizing: border-box !important;

  /* dark field inside outer gold frame */
  clip-path: polygon(
    13px 0,
    calc(100% - 13px) 0,
    calc(100% - 13px) 4px,
    calc(100% - 4px) 4px,
    calc(100% - 4px) 12px,
    100% 12px,
    100% calc(100% - 12px),
    calc(100% - 4px) calc(100% - 12px),
    calc(100% - 4px) calc(100% - 4px),
    calc(100% - 13px) calc(100% - 4px),
    calc(100% - 13px) 100%,
    13px 100%,
    13px calc(100% - 4px),
    4px calc(100% - 4px),
    4px calc(100% - 12px),
    0 calc(100% - 12px),
    0 12px,
    4px 12px,
    4px 4px,
    13px 4px
  ) !important;
}

/* true inner gold keyline */
#services .ncr-card-frame-inner::before,
.ncr-services-editable .ncr-card-frame-inner::before {
  content: "" !important;
  position: absolute !important;
  inset: 8px !important;
  border: 1px solid #B89A5A !important;
  pointer-events: none !important;
  z-index: 0 !important;

  clip-path: polygon(
    10px 0,
    calc(100% - 10px) 0,
    calc(100% - 10px) 3px,
    calc(100% - 3px) 3px,
    calc(100% - 3px) 9px,
    100% 9px,
    100% calc(100% - 9px),
    calc(100% - 3px) calc(100% - 9px),
    calc(100% - 3px) calc(100% - 3px),
    calc(100% - 10px) calc(100% - 3px),
    calc(100% - 10px) 100%,
    10px 100%,
    10px calc(100% - 3px),
    3px calc(100% - 3px),
    3px calc(100% - 9px),
    0 calc(100% - 9px),
    0 9px,
    3px 9px,
    3px 3px,
    10px 3px
  ) !important;
}

#services .ncr-card-frame-inner > *,
.ncr-services-editable .ncr-card-frame-inner > * {
  position: relative !important;
  z-index: 2 !important;
}

#services .ncr-service-visual,
.ncr-services-editable .ncr-service-visual {
  width: 100% !important;
  height: 145px !important;
  margin: 0 auto 12px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  flex: 0 0 auto !important;
}

#services .ncr-service-divider,
.ncr-services-editable .ncr-service-divider {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 2px auto 14px !important;
  width: 150px !important;
  color: #B89A5A !important;
}

#services .ncr-service-divider::before,
#services .ncr-service-divider::after,
.ncr-services-editable .ncr-service-divider::before,
.ncr-services-editable .ncr-service-divider::after {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  flex: 1 1 auto !important;
  background: #B89A5A !important;
}

#services .ncr-service-divider span,
.ncr-services-editable .ncr-service-divider span {
  font-size: 15px !important;
  line-height: 1 !important;
  color: #B89A5A !important;
}

#services .ncr-service-card h3,
.ncr-services-editable .ncr-service-card h3 {
  margin: 0 0 12px !important;
  min-height: 2.6em !important;
  color: #E6DEC6 !important;
  text-align: center !important;
  line-height: 1.18 !important;
  font-family: var(--ncr-display) !important;
  text-transform: uppercase !important;
}

#services .ncr-service-card h3::before,
#services .ncr-service-card h3::after,
.ncr-services-editable .ncr-service-card h3::before,
.ncr-services-editable .ncr-service-card h3::after {
  content: none !important;
}

#services .ncr-service-title-rule,
.ncr-services-editable .ncr-service-title-rule {
  width: 56px !important;
  height: 2px !important;
  margin: 0 auto 18px !important;
  background: #B89A5A !important;
  flex: 0 0 auto !important;
}

#services .ncr-service-card p,
.ncr-services-editable .ncr-service-card p {
  margin: 0 !important;
  color: #E6DEC6 !important;
  text-align: center !important;
  line-height: 1.65 !important;
}

@media (max-width: 1100px) {
  #services .ncr-services-grid,
  .ncr-services-editable .ncr-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #services .ncr-service-card h3,
  .ncr-services-editable .ncr-service-card h3 {
    min-height: 0 !important;
  }
}

@media (max-width: 680px) {
  #services .ncr-services-grid,
  .ncr-services-editable .ncr-services-grid {
    grid-template-columns: 1fr !important;
  }

  #services .ncr-card-frame,
  .ncr-services-editable .ncr-card-frame {
    min-height: 0 !important;
  }
}


/* =========================================================
   FSE 2.6.6 — THIN BUSINESS-CARD-STYLE SERVICE FRAMES
   Final override: remove heavy structural gold bands and use
   one refined thin antique-gold outline around each service.
   ========================================================= */

#services .ncr-card-frame,
.ncr-services-editable .ncr-card-frame {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 500px !important;
  padding: 1px !important;
  background: #B8892D !important;
  clip-path: polygon(
    12px 0,
    calc(100% - 12px) 0,
    calc(100% - 12px) 4px,
    calc(100% - 4px) 4px,
    calc(100% - 4px) 12px,
    100% 12px,
    100% calc(100% - 12px),
    calc(100% - 4px) calc(100% - 12px),
    calc(100% - 4px) calc(100% - 4px),
    calc(100% - 12px) calc(100% - 4px),
    calc(100% - 12px) 100%,
    12px 100%,
    12px calc(100% - 4px),
    4px calc(100% - 4px),
    4px calc(100% - 12px),
    0 calc(100% - 12px),
    0 12px,
    4px 12px,
    4px 4px,
    12px 4px
  ) !important;
}

#services .ncr-card-frame-inner,
.ncr-services-editable .ncr-card-frame-inner {
  height: 100% !important;
  padding: 28px 24px 30px !important;
  background: #141413 !important;
  clip-path: polygon(
    11px 0,
    calc(100% - 11px) 0,
    calc(100% - 11px) 4px,
    calc(100% - 4px) 4px,
    calc(100% - 4px) 11px,
    100% 11px,
    100% calc(100% - 11px),
    calc(100% - 4px) calc(100% - 11px),
    calc(100% - 4px) calc(100% - 4px),
    calc(100% - 11px) calc(100% - 4px),
    calc(100% - 11px) 100%,
    11px 100%,
    11px calc(100% - 4px),
    4px calc(100% - 4px),
    4px calc(100% - 11px),
    0 calc(100% - 11px),
    0 11px,
    4px 11px,
    4px 4px,
    11px 4px
  ) !important;
}

/* Remove the inner keyline that created the thick frame effect. */
#services .ncr-card-frame-inner::before,
.ncr-services-editable .ncr-card-frame-inner::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Keep the approved visual hierarchy inside the thin frame. */
#services .ncr-service-visual,
.ncr-services-editable .ncr-service-visual {
  height: 145px !important;
  margin: 0 auto 12px !important;
}

#services .ncr-service-divider,
.ncr-services-editable .ncr-service-divider {
  width: 150px !important;
  margin: 2px auto 14px !important;
}

@media (max-width: 680px) {
  #services .ncr-card-frame,
  .ncr-services-editable .ncr-card-frame {
    min-height: 0 !important;
  }
}


/* =========================================================
   FSE 2.6.7 — REMOVE STRAY SERVICE-CARD CORNER SYMBOLS
   Keeps v2.6.6 thin gold frames and all service content intact.
   ========================================================= */

#services .ncr-service-card::before,
#services .ncr-service-card::after,
.ncr-services-editable .ncr-service-card::before,
.ncr-services-editable .ncr-service-card::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
}


/* FSE 2.6.8 — Complete Restorations truck asset replaced with
   the truck supplied in the user's attached artwork.
   No stretching, redraw, recoloring, or aspect-ratio change. */
