/*
Theme Name: San Juan Complete Performance
Theme URI: https://sanjuancompleteautoservice.com/
Author: OpenAI
Description: Lightweight conversion-focused block theme for San Juan Complete Auto Service.
Version: 1.4.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: sjca-performance
*/
:root{--sj-navy:#0c1b2a;--sj-navy2:#142b40;--sj-red:#d62828;--sj-gold:#f3b61f;--sj-ink:#18232d;--sj-muted:#5f6c77;--sj-bg:#f4f7f9;--sj-white:#fff;--sj-line:#dce3e8;--sj-radius:16px;--sj-shadow:0 12px 32px rgba(8,25,40,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--sj-ink);background:var(--sj-bg);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:var(--sj-red);text-underline-offset:3px}img{max-width:100%;height:auto}.wp-site-blocks{overflow:hidden}.sj-shell{max-width:1180px;margin:auto;padding-left:24px;padding-right:24px}.sj-topbar{background:#07121d;color:#fff;font-size:.88rem}.sj-topbar .wp-block-group{min-height:40px}.sj-topbar a{color:#fff;text-decoration:none}.sj-header{background:var(--sj-white);border-bottom:1px solid var(--sj-line);position:sticky;top:0;z-index:20;box-shadow:0 3px 14px rgba(0,0,0,.06)}.sj-header-inner{min-height:82px}.sj-header .wp-block-site-logo img{max-height:64px;width:auto}.sj-header .wp-block-navigation a{font-weight:700;color:var(--sj-navy);text-decoration:none}.sj-header .wp-block-navigation a:hover{color:var(--sj-red)}.sj-btn .wp-block-button__link,.wp-block-button.sj-btn .wp-block-button__link{border-radius:999px;padding:.85rem 1.2rem;font-weight:800;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.sj-btn-primary .wp-block-button__link{background:var(--sj-red);color:#fff;box-shadow:0 8px 20px rgba(214,40,40,.25)}.sj-btn-secondary .wp-block-button__link{background:#fff;color:var(--sj-navy);border:2px solid var(--sj-navy)}.sj-btn-gold .wp-block-button__link{background:var(--sj-gold);color:#101820}.sj-btn .wp-block-button__link:hover{transform:translateY(-2px)}.sj-hero{background:linear-gradient(115deg,rgba(7,18,29,.98),rgba(20,43,64,.92));color:#fff;padding:72px 0 64px;position:relative}.sj-hero:after{content:"";position:absolute;right:-120px;top:-140px;width:480px;height:480px;border:80px solid rgba(255,255,255,.035);border-radius:50%}.sj-kicker{font-size:.84rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--sj-gold)}.sj-hero h1{font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.02;margin:.35rem 0 1rem;max-width:850px}.sj-hero p{font-size:1.12rem;max-width:710px;color:#d7e1e8}.sj-trust-row{margin-top:32px;gap:12px}.sj-trust-pill{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.07);font-weight:700;font-size:.9rem}.sj-section{padding:70px 0}.sj-section-alt{background:#fff}.sj-section-dark{background:var(--sj-navy);color:#fff}.sj-section h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.12;margin:.25rem 0 1rem}.sj-lead{font-size:1.08rem;color:var(--sj-muted);max-width:760px}.sj-card-grid{gap:20px}.sj-card{background:#fff;border:1px solid var(--sj-line);border-radius:var(--sj-radius);padding:26px;box-shadow:0 8px 24px rgba(10,30,50,.06);height:100%}.sj-card h3{margin:.3rem 0 .55rem;color:var(--sj-navy)}.sj-card p{color:var(--sj-muted);margin-bottom:.5rem}.sj-icon{width:48px;height:48px;border-radius:12px;background:#fff1f1;color:var(--sj-red);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900}.sj-smog{background:linear-gradient(135deg,#eef8f0,#fff);border:2px solid #39934f}.sj-smog .sj-icon{background:#dff2e4;color:#21743a}.sj-band{background:var(--sj-red);color:#fff;padding:24px 0}.sj-band a{color:#fff}.sj-review{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:2px solid #d8e0e6;
  border-top:6px solid var(--sj-red);
  border-radius:16px;
  padding:30px;
  box-shadow:0 12px 30px rgba(7,18,29,.12);
}
.sj-review:before{
  content:"Yelp Review";
  display:inline-block;
  margin-bottom:12px;
  color:var(--sj-red);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sj-review .wp-block-quote{
  margin:8px 0 18px;
  padding:0;
  border:0;
}
.sj-review .wp-block-quote p{
  margin:0 0 14px;
  color:var(--sj-navy);
  font-size:1.08rem;
  line-height:1.65;
}
.sj-review .wp-block-quote cite{
  color:var(--sj-muted);
  font-size:.92rem;
  font-style:normal;
  font-weight:800;
}
.sj-review > p:last-child{margin:0}
.sj-review a{font-weight:900}
.sj-stars{margin:0;color:#d99b00;letter-spacing:.08em;font-size:1.25rem}.sj-hours{width:100%;border-collapse:collapse}.sj-hours td{padding:8px 0;border-bottom:1px solid var(--sj-line)}.sj-hours td:last-child{text-align:right;font-weight:700}.sj-footer{background:#07121d;color:#cbd6dd;padding:56px 0 90px}.sj-footer h3{color:#fff}.sj-footer a{color:#fff}.sj-page-hero{background:var(--sj-navy);color:#fff;padding:48px 0}.sj-page-content{background:#fff;border-radius:var(--sj-radius);box-shadow:var(--sj-shadow);padding:clamp(24px,4vw,48px);margin-top:-25px;margin-bottom:64px;position:relative}.sj-page-content h1:first-child{display:none}.sj-page-content h2{color:var(--sj-navy);margin-top:1.6em}.sj-page-content .wp-block-image img{border-radius:12px}.sj-mobile-actions{display:none}.sj-contact-grid{gap:24px}.sj-contact-card{background:#fff;border:1px solid var(--sj-line);border-radius:var(--sj-radius);padding:28px;box-shadow:var(--sj-shadow)}.sj-contact-card a{font-weight:800}.sj-note{background:#fff7df;border-left:5px solid var(--sj-gold);padding:18px;border-radius:10px}.sj-service-list ul{columns:3;column-gap:32px}.sj-service-list li{break-inside:avoid;margin-bottom:8px}.sj-faq details{border:1px solid var(--sj-line);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:#fff}.sj-faq summary{font-weight:800;cursor:pointer;color:var(--sj-navy)}
@media(max-width:900px){.sj-header{position:relative}.sj-header-inner{padding-top:12px;padding-bottom:12px}.sj-header .wp-block-navigation{font-size:.92rem}.sj-hero{padding:54px 0}.sj-service-list ul{columns:2}.sj-mobile-actions{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99;background:#fff;border-top:1px solid var(--sj-line);box-shadow:0 -4px 18px rgba(0,0,0,.12)}.sj-mobile-actions a{flex:1;text-align:center;padding:13px 8px;font-weight:900;text-decoration:none;color:var(--sj-navy)}.sj-mobile-actions a:last-child{background:var(--sj-red);color:#fff}.sj-footer{padding-bottom:120px}}
@media(max-width:640px){.sj-shell{padding-left:17px;padding-right:17px}.sj-topbar{display:none}.sj-hero h1{font-size:2.45rem}.sj-section{padding:50px 0}.sj-service-list ul{columns:1}.sj-page-content{padding:22px;margin-left:14px;margin-right:14px}.sj-trust-row{display:grid!important;grid-template-columns:1fr 1fr}.sj-trust-pill{text-align:center;font-size:.78rem}.wp-block-buttons{gap:10px}.sj-btn .wp-block-button__link{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sj-btn .wp-block-button__link{transition:none}}

/* Global business banner */
.sj-global-banner-wrap{background:#fff;margin:0;padding:12px 20px 0}
.sj-global-banner{max-width:1200px;margin:0 auto;line-height:0;overflow:hidden;border-radius:14px;box-shadow:0 8px 24px rgba(7,21,39,.16)}
.sj-global-banner .wp-block-image{width:100%;margin:0}
.sj-global-banner .wp-block-image a{display:block;width:100%}
.sj-global-banner .wp-block-image img{display:block;width:100%;height:auto;object-fit:contain}
.sj-global-banner .wp-block-image a:focus-visible{outline:4px solid var(--sj-red);outline-offset:-4px}
.sj-banner-actions{background:#fff;padding:36px 20px 42px}
.sj-banner-actions h1{max-width:850px;margin-left:auto;margin-right:auto}
.sj-banner-actions .sj-lead{max-width:760px;margin-left:auto;margin-right:auto}
.sj-banner-actions .sj-trust-row{justify-content:center;margin-top:24px}
@media(max-width:781px){
 .sj-global-banner-wrap{padding:8px 0 0}
 .sj-global-banner{border-radius:0;box-shadow:none}
 .sj-global-banner .wp-block-image img{width:100%;height:auto;object-fit:contain}
 .sj-banner-actions{padding:28px 18px 34px}
 .sj-banner-actions h1{font-size:2.25rem!important}
}


/* Contact form visibility and accessibility */
.sj-page-content form,
.sj-page-content .frm_forms,
.sj-page-content .wpforms-container,
.sj-page-content .wpcf7 {
  width:100%;
}
.sj-page-content .frm_forms,
.sj-page-content .wpforms-container,
.sj-page-content .wpcf7 {
  background:#f7f9fb;
  border:1px solid var(--sj-line);
  border-radius:14px;
  padding:clamp(18px,3vw,30px);
}
.sj-page-content form label,
.sj-page-content .frm_primary_label,
.sj-page-content .wpforms-field-label {
  display:block;
  margin:0 0 7px;
  color:var(--sj-navy)!important;
  font-size:.96rem;
  font-weight:800;
  line-height:1.35;
}
.sj-page-content input[type="text"],
.sj-page-content input[type="email"],
.sj-page-content input[type="tel"],
.sj-page-content input[type="url"],
.sj-page-content input[type="number"],
.sj-page-content input[type="date"],
.sj-page-content input[type="time"],
.sj-page-content input[type="search"],
.sj-page-content select,
.sj-page-content textarea,
.sj-page-content .frm_form_field input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.sj-page-content .frm_form_field select,
.sj-page-content .frm_form_field textarea {
  display:block;
  width:100%!important;
  min-height:48px;
  margin:0;
  padding:11px 13px!important;
  color:#15212b!important;
  background:#fff!important;
  border:2px solid #aebbc5!important;
  border-radius:8px!important;
  box-shadow:inset 0 1px 2px rgba(7,18,29,.04)!important;
  font:inherit;
  line-height:1.35;
  opacity:1!important;
}
.sj-page-content textarea,
.sj-page-content .frm_form_field textarea {
  min-height:150px;
  resize:vertical;
}
.sj-page-content input::placeholder,
.sj-page-content textarea::placeholder {
  color:#697782!important;
  opacity:1;
}
.sj-page-content input:focus,
.sj-page-content select:focus,
.sj-page-content textarea:focus,
.sj-page-content .frm_form_field input:focus,
.sj-page-content .frm_form_field select:focus,
.sj-page-content .frm_form_field textarea:focus {
  outline:3px solid rgba(214,40,40,.22)!important;
  outline-offset:1px;
  border-color:var(--sj-red)!important;
  box-shadow:0 0 0 1px var(--sj-red)!important;
}
.sj-page-content .frm_form_field,
.sj-page-content .wpforms-field,
.sj-page-content .wpcf7-form-control-wrap {
  margin-bottom:18px;
}
.sj-page-content input[type="checkbox"],
.sj-page-content input[type="radio"] {
  width:18px!important;
  height:18px!important;
  margin-right:8px;
  accent-color:var(--sj-red);
}
.sj-page-content button[type="submit"],
.sj-page-content input[type="submit"],
.sj-page-content .frm_button_submit,
.sj-page-content .wpforms-submit {
  min-height:48px;
  padding:12px 22px!important;
  color:#fff!important;
  background:var(--sj-red)!important;
  border:2px solid var(--sj-red)!important;
  border-radius:999px!important;
  box-shadow:0 8px 20px rgba(214,40,40,.22)!important;
  font:inherit;
  font-weight:900!important;
  cursor:pointer;
}
.sj-page-content button[type="submit"]:hover,
.sj-page-content input[type="submit"]:hover,
.sj-page-content .frm_button_submit:hover,
.sj-page-content .wpforms-submit:hover {
  background:#b91f1f!important;
  border-color:#b91f1f!important;
}
.sj-page-content .frm_error,
.sj-page-content .wpforms-error,
.sj-page-content .wpcf7-not-valid-tip {
  color:#a31515!important;
  font-weight:700;
}
.sj-page-content .frm_blank_field input,
.sj-page-content .frm_blank_field select,
.sj-page-content .frm_blank_field textarea,
.sj-page-content .wpforms-has-error input,
.sj-page-content .wpforms-has-error select,
.sj-page-content .wpforms-has-error textarea,
.sj-page-content .wpcf7-not-valid {
  border-color:#b91f1f!important;
}
@media(max-width:640px){
  .sj-page-content .frm_forms,
  .sj-page-content .wpforms-container,
  .sj-page-content .wpcf7{padding:18px 14px}
  .sj-page-content button[type="submit"],
  .sj-page-content input[type="submit"],
  .sj-page-content .frm_button_submit,
  .sj-page-content .wpforms-submit{width:100%!important}
}

@media(max-width:781px){
  .sj-review{margin-top:18px;padding:24px 20px}
}
