/* Bodmin Auto Repair — shared stylesheet */
:root{
  --ink:#1c1917;
  --paper:#f6f1e7;
  --paper-soft:#efe6d6;
  --accent:#7c2d12;
  --accent-dark:#5c210d;
  --muted:#57534e;
  --line:#d9cfbc;
  --star:#92400e;
  --maxw:64rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.0625rem;
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:Georgia,"Palatino Linotype",Palatino,serif;
  line-height:1.2;
  margin:0 0 .5em;
  color:var(--ink);
}
h1{font-size:2.4rem}
h2{font-size:1.8rem}
h3{font-size:1.25rem}
p{margin:0 0 1em}
a{color:var(--accent)}
a:hover{color:var(--accent-dark)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;
  padding:.5rem 1rem;z-index:100;
}
.skip-link:focus{left:1rem;top:.5rem}

/* Header & nav */
.site-header{background:var(--ink);color:var(--paper);border-bottom:4px solid var(--accent)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;max-width:var(--maxw);margin:0 auto}
.brand{font-family:Georgia,Palatino,serif;font-size:1.35rem;font-weight:bold;color:var(--paper);text-decoration:none}
.brand span{color:#e7b27a}
.main-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0}
.main-nav a{
  color:var(--paper);text-decoration:none;padding:.5rem .75rem;border-radius:.25rem;
  font-size:.95rem;
}
.main-nav a:hover,.main-nav a[aria-current="page"]{background:var(--accent);color:#fff}

/* Hero */
.hero{
  background:var(--ink);color:var(--paper);
  padding:4rem 1.25rem 3rem;text-align:center;
}
.hero h1{color:var(--paper);font-size:2.6rem;margin-bottom:.4rem}
.hero h1 span{color:#e7b27a}
.hero p.lede{font-size:1.2rem;max-width:42rem;margin:0 auto 1.5rem;color:#e9e3d6}
.badges{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:center;list-style:none;padding:0;margin:0 0 2rem}
.badges li{
  background:#292524;border:1px solid #44403c;border-radius:.5rem;
  padding:.5rem 1rem;font-weight:bold;font-size:.95rem;color:var(--paper);
}
.badges .stars{color:#fbbf24}

/* Buttons */
.btn{
  display:inline-block;background:var(--accent);color:#fff;text-decoration:none;
  padding:.8rem 1.6rem;border-radius:.375rem;font-weight:bold;font-size:1.05rem;
  border:none;cursor:pointer;
}
.btn:hover{background:var(--accent-dark);color:#fff}
.btn.secondary{background:transparent;border:2px solid var(--paper);color:var(--paper)}
.btn.secondary:hover{background:#fff;color:var(--ink)}
.btn-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* Sections */
section{padding:3rem 0}
.section-alt{background:var(--paper-soft)}
.section-title{text-align:center;margin-bottom:.5rem}
.section-sub{text-align:center;color:var(--muted);max-width:40rem;margin:0 auto 2rem}

/* Cards */
.card-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;list-style:none;padding:0;margin:0}
.card{
  background:#fff;border:1px solid var(--line);border-radius:.5rem;
  padding:1.5rem;box-shadow:0 1px 3px rgba(28,25,23,.08);
}
.card h3{margin-top:0;color:var(--accent)}
.tag{
  display:inline-block;background:var(--paper-soft);border:1px solid var(--line);
  border-radius:999px;padding:.15rem .7rem;font-size:.8rem;color:var(--muted);
}

/* Testimonials */
.review-card{background:#fff;border:1px solid var(--line);border-radius:.5rem;padding:1.5rem}
.review-card .stars{color:var(--star);font-size:1.1rem;letter-spacing:.1em}
.review-card blockquote{margin:.75rem 0;font-style:italic}
.review-card figcaption{color:var(--muted);font-size:.9rem}

/* Price table */
.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px rgba(28,25,23,.1)}
.price-table caption{text-align:left;font-weight:bold;font-family:Georgia,serif;font-size:1.1rem;padding:.75rem 1rem;background:var(--ink);color:var(--paper)}
.price-table th,.price-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
.price-table th{background:var(--paper-soft)}
.price-table td.price{font-weight:bold;color:var(--accent);white-space:nowrap}
.table-scroll{overflow-x:auto}

/* CTA band */
.cta-band{background:var(--accent);color:#fff;text-align:center;padding:3rem 1.25rem}
.cta-band h2{color:#fff}
.cta-band p{max-width:36rem;margin:0 auto 1.5rem}
.cta-band .btn{background:var(--ink)}

/* Forms */
.form-panel{background:#fff;border:1px solid var(--line);border-radius:.5rem;padding:2rem;max-width:38rem;margin:0 auto}
.field{margin-bottom:1.25rem}
label{display:block;font-weight:bold;margin-bottom:.3rem}
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{
  width:100%;padding:.65rem .75rem;border:1px solid #a8a29e;border-radius:.375rem;
  font:inherit;background:#fff;color:var(--ink);
}
input:focus,select:focus,textarea:focus{outline:3px solid #e7b27a;outline-offset:1px}
.help{font-size:.875rem;color:var(--muted);margin-top:.25rem}
.error-text{color:var(--accent);font-size:.9rem;font-weight:bold;margin-top:.25rem;display:none}
.field.error .error-text{display:block}
.field.error input,.field.error select,.field.error textarea{border-color:var(--accent);outline:2px solid var(--accent)}
.form-status{
  border-radius:.5rem;padding:1rem 1.25rem;margin-top:1rem;font-weight:bold;display:none;
}
.form-status.ok{background:#dcfce7;border:1px solid #16a34a;color:#14532d}
.form-status.bad{background:#fee2e2;border:1px solid #b91c1c;color:#7f1d1d}
.consent{display:flex;gap:.6rem;align-items:flex-start}
.consent input{margin-top:.35rem}

/* Booking steps */
.stepper{display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem;list-style:none;padding:0}
.stepper li{
  flex:1;max-width:10rem;text-align:center;padding:.5rem .25rem;border-bottom:3px solid var(--line);
  font-size:.85rem;color:var(--muted);
}
.stepper li.active{border-color:var(--accent);color:var(--ink);font-weight:bold}
.book-step{display:none}
.book-step.active{display:block}
.summary{background:var(--paper-soft);border:1px solid var(--line);border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:1.25rem}
.summary th{text-align:left;padding-right:1rem;vertical-align:top;color:var(--muted)}
.summary td,.summary th{padding-bottom:.4rem}

/* Footer */
.site-footer{background:var(--ink);color:#c7c2bb;padding:2.5rem 1.25rem 1.5rem;margin-top:2rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:var(--maxw);margin:0 auto}
.site-footer h3{color:var(--paper);font-size:1.05rem}
.site-footer a{color:#e7b27a}
.footer-bottom{max-width:var(--maxw);margin:2rem auto 0;border-top:1px solid #44403c;padding-top:1rem;font-size:.85rem;text-align:center}

/* Contact bits */
.map-placeholder{
  background:var(--paper-soft);border:2px dashed #a8a29e;border-radius:.5rem;
  min-height:16rem;display:flex;align-items:center;justify-content:center;flex-direction:column;
  color:var(--muted);text-align:center;padding:2rem;gap:.25rem;
}
.hours-table{width:100%;border-collapse:collapse}
.hours-table td{padding:.4rem 0;border-bottom:1px solid var(--line)}
.hours-table td:last-child{text-align:right}
.notice{background:#fef3c7;border:1px solid #d97706;border-radius:.5rem;padding:.9rem 1.25rem;margin:1.5rem 0}

address{font-style:normal}

@media (min-width:36rem){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:56rem){
  h1{font-size:3rem}
  .card-grid{grid-template-columns:repeat(3,1fr)}
  .card-grid.two{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(4,1fr)}
  .hero{padding:5rem 1.25rem 4rem}
}
