/* Ceramic Coating Warranty — premium public UI. Scoped; no external fonts/CDN. */
.ccw-wrap-public,
.ccw-wrap-public *,
.ccw-check-wrap,
.ccw-check-wrap * { box-sizing:border-box; font-family:"Lato", sans-serif; }

/* ------------------------------------------------------------------
   Shared public shell
------------------------------------------------------------------ */
.ccw-wrap-public,
.ccw-check-wrap {
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:58px 28px 78px;
  color:#171717;
}

/* ------------------------------------------------------------------
   Check Your Warranty
------------------------------------------------------------------ */
.ccw-check-wrap {
  max-width:1240px;
  position:relative;
}

.ccw-check-wrap:before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:360px;
  background:#171717;
  border-radius:0 0 34px 34px;
  z-index:0;
}

.ccw-check-hero,
.ccw-check-search-card,
.ccw-check-results-heading,
.ccw-check-results,
.ccw-check-result,
.ccw-check-footer-note { position:relative; z-index:0; }

.ccw-check-hero {
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  align-items:center;
  gap:48px;
  padding:62px 68px 82px;
  border-radius:28px;
  overflow:hidden;
  background:#171717;
  box-shadow:0 30px 75px rgba(23,23,23,.20);
}

.ccw-check-hero:before {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-235px;
  top:-310px;
  border:70px solid rgba(242,185,12,.09);
  border-radius:50%;
}

.ccw-check-hero:after {
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:120px;
  bottom:-290px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
}

.ccw-check-hero-copy { position:relative; z-index:2; max-width:700px; }
.ccw-check-kicker {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  color:#f2b90c;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.20em;
}
.ccw-check-kicker:before { content:""; width:30px; height:2px; background:#f2b90c; display:block; }
.ccw-check-hero h1 {
  margin:0 0 18px !important;
  padding:0 !important;
  border:0 !important;
  color:#fff !important;
  font-size:52px !important;
  line-height:1.03 !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
}
.ccw-check-hero p {
  max-width:630px;
  margin:0 !important;
  color:#bdb9b0;
  font-size:16px;
  line-height:1.75;
}

.ccw-check-shield {
  position:relative;
  z-index:2;
  width:260px;
  min-height:205px;
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:26px;
  border:1px solid rgba(242,185,12,.30);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
}
.ccw-check-shield:before {
  content:"✓";
  position:absolute;
  right:22px;
  top:17px;
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f2b90c;
  color:#171717;
  font-size:34px;
  font-weight:900;
}
.ccw-check-shield:after {
  content:"VERIFIED WARRANTY";
  position:absolute;
  left:26px;
  top:28px;
  color:#8f8b83;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.ccw-check-shield-mark { display:none !important; }
.ccw-check-shield > span:last-child {
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ccw-check-search-card {
  width:calc(100% - 120px);
  margin:-62px auto 0;
  padding:34px 38px 31px;
  border:1px solid #e4dfd6;
  border-radius:22px;
  background:#fff;
  box-shadow:0 25px 60px rgba(23,23,23,.13);
}
.ccw-check-search-heading {
  display:flex;
  align-items:center;
  gap:17px;
  margin:0 0 25px;
}
.ccw-check-search-icon {
  position:relative;
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:14px;
  background:#f8f1dc;
  font-size:0;
}
.ccw-check-search-icon:before {
  content:"";
  position:absolute;
  left:14px;
  top:12px;
  width:14px;
  height:14px;
  border:2px solid #171717;
  border-radius:50%;
}
.ccw-check-search-icon:after {
  content:"";
  position:absolute;
  width:9px;
  height:2px;
  left:27px;
  top:28px;
  background:#171717;
  transform:rotate(45deg);
  border-radius:2px;
}
.ccw-check-search-heading h2 {
  margin:0 0 4px !important;
  padding:0 !important;
  border:0 !important;
  color:#171717 !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.ccw-check-search-heading p { margin:0 !important; color:#8a857c; font-size:13px; line-height:1.5; }

.ccw-check-form {
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:14px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.ccw-check-input-wrap label {
  display:block;
  margin:0 0 8px;
  color:#292722;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.ccw-check-form input[type=text] {
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 17px !important;
  border:1px solid #d9d4cb !important;
  border-radius:12px !important;
  background:#fbfaf8 !important;
  color:#171717 !important;
  font-family:"Lato", sans-serif !important;
  font-size:14px !important;
  box-shadow:none !important;
}
.ccw-check-form input[type=text]:focus {
  outline:none !important;
  border-color:#d5a300 !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(242,185,12,.13) !important;
}
.ccw-check-form button {
  align-self:end;
  height:58px;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  border:0 !important;
  border-radius:12px !important;
  background:#f2b90c !important;
  color:#fff !important;
  font-family:"Lato", sans-serif !important;
  font-size:15px !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .18s,box-shadow .18s,background .18s;
}
.ccw-check-form button b { font-size:20px; line-height:1; }
.ccw-check-form button:hover { background:#dca900 !important; transform:translateY(-2px); box-shadow:0 12px 24px rgba(242,185,12,.22); }
.ccw-check-hint {
  display:flex;
  align-items:center;
  gap:8px;
  margin:14px 0 0;
  color:#8e8980;
  font-size:11px;
  line-height:1.5;
}
.ccw-check-hint > span {
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#edf7ef;
  color:#21733b;
  font-size:10px;
  font-weight:900;
}

.ccw-check-results-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:52px 0 18px;
  padding:0 5px;
}
.ccw-check-results-heading > div > span {
  display:block;
  margin-bottom:7px;
  color:#9a958c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.ccw-check-results-heading h2 {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  color:#171717 !important;
  font-size:25px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:-.025em;
}
.ccw-check-results-query {
  max-width:45%;
  color:#77736b;
  font-size:12px;
  font-style:italic;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ccw-check-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ccw-check-result-card {
  position:relative;
  padding:27px;
  border:1px solid #e5e0d7;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 35px rgba(23,23,23,.055);
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.ccw-check-result-card:before { content:""; position:absolute; left:0; top:22px; bottom:22px; width:3px; border-radius:0 4px 4px 0; background:#f2b90c; }
.ccw-check-result-card:hover { transform:translateY(-3px); border-color:#d8d1c6; box-shadow:0 20px 42px rgba(23,23,23,.09); }
.ccw-check-result-top { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:0 0 20px; border-bottom:1px solid #eeeae3; }
.ccw-check-result-label,.ccw-check-vehicle > div > span,.ccw-check-meta span { display:block; color:#9a958b; font-size:9px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.ccw-check-result-title strong { display:block; margin-top:7px; color:#171717; font-size:17px; line-height:1.25; font-weight:900; letter-spacing:.01em; }
.ccw-badge-inline { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border-radius:999px; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; white-space:nowrap; }
.ccw-badge-inline i { width:6px; height:6px; border-radius:50%; display:block; }
.ccw-badge-active { background:#edf8f0; color:#21733b; } .ccw-badge-active i { background:#2f9b50; }
.ccw-badge-expired { background:#fff0f0; color:#b33a3a; } .ccw-badge-expired i { background:#c74b4b; }
.ccw-badge-void { background:#f0efed; color:#68645d; } .ccw-badge-void i { background:#77736b; }
.ccw-check-vehicle { display:flex; align-items:center; gap:14px; padding:20px 0; }
.ccw-check-vehicle-icon { width:43px; height:43px; flex:0 0 43px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#171717; color:#f2b90c; font-size:0; }
.ccw-check-vehicle-icon:before { content:""; width:19px; height:12px; border:2px solid #f2b90c; border-radius:4px 4px 3px 3px; display:block; }
.ccw-check-vehicle strong { display:block; margin-top:5px; color:#171717; font-size:15px; line-height:1.35; font-weight:900; }
.ccw-check-meta { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 21px; }
.ccw-check-meta > div { padding:14px 15px; border:1px solid #eeeae3; border-radius:11px; background:#faf9f7; }
.ccw-check-meta strong { display:block; margin-top:5px; color:#27251f; font-size:13px; font-weight:800; }
.ccw-check-view-btn { display:flex; align-items:center; justify-content:space-between; min-height:49px; padding:12px 15px; border-radius:11px; background:#171717; color:#fff !important; text-decoration:none !important; font-size:14px; font-weight:600; transition:background .18s,transform .18s; }
.ccw-check-view-btn span { color:#f2b90c; font-size:18px; line-height:1; }
.ccw-check-view-btn:hover { background:#2a2925; color:#fff !important; transform:translateY(-1px); }
.ccw-check-none {
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:48px;
  padding:25px 27px;
  border:1px solid #eadfdf;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(23,23,23,.05);
}
.ccw-check-result-icon { width:46px; height:46px; flex:0 0 46px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:#fff0f0; color:#b33a3a; font-size:18px; font-weight:900; }
.ccw-check-none strong { display:block; margin-bottom:5px; color:#171717; font-size:16px; }
.ccw-check-none p { margin:0; color:#77736b; font-size:13px; line-height:1.6; }
.ccw-check-footer-note { display:flex; align-items:center; justify-content:center; gap:9px; margin:38px 0 0; color:#8b867d; font-size:12px; line-height:1.5; text-align:center; }
.ccw-check-footer-note > span { color:#c49a16; font-size:10px; }

/* ------------------------------------------------------------------
   Public warranty details
------------------------------------------------------------------ */
.ccw-wrap-public { max-width:1120px; }
.ccw-card {
  background:#fff;
  border:1px solid #e5e0d7;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(23,23,23,.10);
}
.ccw-card-header {
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:43px 45px 36px;
  background:#171717;
  overflow:hidden;
}
.ccw-card-header:after { content:""; position:absolute; width:300px; height:300px; right:-110px; top:-175px; border:50px solid rgba(242,185,12,.10); border-radius:50%; }
.ccw-eyebrow { position:relative; z-index:1; color:#f2b90c; font-size:11px; font-weight:900; letter-spacing:.18em; }
.ccw-status { position:relative; z-index:1; display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border-radius:999px; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.ccw-status-active { background:#edf8f0; color:#21733b; } .ccw-status-expired { background:#fff0f0; color:#b33a3a; } .ccw-status-void { background:#f0efed; color:#68645d; }
.ccw-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; padding:34px 45px 0; margin:0; }
.ccw-fact-card { min-height:105px; padding:20px; border:1px solid #e8e3da; border-radius:15px; background:#faf9f7; display:flex; flex-direction:column; justify-content:center; }
.ccw-fact-card span { margin-bottom:8px; color:#918c83; font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.ccw-fact-card strong { color:#171717; font-size:14px; line-height:1.45; font-weight:900; }
.ccw-fact-featured { grid-column:span 2; background:#171717; border-color:#171717; }
.ccw-fact-featured span { color:#aaa69d; } .ccw-fact-featured strong { color:#fff; font-size:20px; }
.ccw-photos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; padding:30px 45px 0; margin:0; }
.ccw-photos img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; border-radius:15px; border:1px solid #e4dfd6; }
.ccw-book-btn { display:flex; align-items:center; justify-content:center; min-height:57px; margin:30px 45px 34px; padding:15px 20px; border-radius:12px; background:#f2b90c; color:#111 !important; text-decoration:none !important; font-size:12px; font-weight:900; letter-spacing:.10em; transition:.18s; }
.ccw-book-btn:hover { background:#dca900; color:#111 !important; transform:translateY(-1px); box-shadow:0 12px 24px rgba(242,185,12,.18); }
.ccw-tabs { padding:0 45px 45px; }
.ccw-tab-nav { display:flex; gap:6px; padding:5px; margin:0 0 25px; border-radius:13px; background:#f5f3ef; overflow:auto; }
.ccw-tab-btn { flex:1 0 auto; padding:12px 15px; border:0 !important; border-radius:9px; background:transparent !important; color:#77736b !important; font-family:"Lato", sans-serif !important; font-size:15px !important; font-weight:600 !important; cursor:pointer; white-space:nowrap; }
.ccw-tab-btn.is-active { background:#fff !important; color:#171717 !important; box-shadow:0 3px 10px rgba(0,0,0,.07); }
.ccw-tab-panel { display:none; color:#4c4a45; font-size:15px; line-height:1.75; }
.ccw-tab-panel.is-active { display:block; }
.ccw-tab-panel h3,.ccw-tab-panel h4 { color:#171717; }
.ccw-tab-panel a { color:#171717; font-weight:800; }
.ccw-tab-panel ul,.ccw-tab-panel ol { padding-left:22px; }
.ccw-inspection-history { display:flex; flex-direction:column; gap:10px; margin-top:18px; }
.ccw-inspection-item { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; border:1px solid #e8e4dc; border-radius:13px; background:#faf9f7; }
.ccw-inspection-item > div { display:flex; flex-direction:column; gap:3px; }
.ccw-inspection-label { color:#858077; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.10em; }
.ccw-inspection-item strong { color:#1b1b1a; font-size:14px; }
.ccw-inspection-status { padding:7px 11px; border-radius:999px; background:#edf8f0; color:#21733b; font-size:9px; font-weight:900; text-transform:uppercase; }
.ccw-not-found { margin:0 auto; padding:80px 45px; text-align:center; }
.ccw-not-found h1 { margin:0 0 10px !important; color:#171717 !important; }
.ccw-not-found p { margin:0; color:#77736b; line-height:1.7; }

@media (max-width:900px) {
  .ccw-check-hero { grid-template-columns:1fr; gap:28px; padding:50px 42px 78px; }
  .ccw-check-shield { justify-self:start; width:100%; min-height:120px; padding:24px; }
  .ccw-check-shield:before { right:24px; top:24px; }
  .ccw-check-search-card { width:calc(100% - 54px); margin:-52px auto 0; }
  .ccw-check-results { grid-template-columns:1fr; }
  .ccw-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ccw-fact-featured { grid-column:span 2; }
}

@media (max-width:680px) {
  .ccw-wrap-public,.ccw-check-wrap { padding:28px 16px 50px; }
  .ccw-check-wrap:before { height:290px; border-radius:0 0 24px 24px; }
  .ccw-check-hero { min-height:0; padding:39px 26px 72px; border-radius:22px; }
  .ccw-check-hero h1 { font-size:38px !important; }
  .ccw-check-hero p { font-size:14px; }
  .ccw-check-search-card { width:calc(100% - 20px); margin:-44px auto 0; padding:25px 22px 23px; border-radius:18px; }
  .ccw-check-form { grid-template-columns:1fr; }
  .ccw-check-form button { width:100%; }
  .ccw-check-results-heading { align-items:flex-start; flex-direction:column; margin-top:38px; }
  .ccw-check-results-query { max-width:100%; }
  .ccw-check-result-card { padding:23px; }
  .ccw-card-header { padding:31px 24px 28px; }
  .ccw-facts { grid-template-columns:1fr; padding:24px 24px 0; }
  .ccw-fact-featured { grid-column:auto; }
  .ccw-photos { grid-template-columns:repeat(2,minmax(0,1fr)); padding:24px 24px 0; }
  .ccw-book-btn { margin:24px 24px 28px; }
  .ccw-tabs { padding:0 24px 28px; }
  .ccw-tab-nav { overflow:auto; }
}

@media (max-width:430px) {
  .ccw-check-hero h1 { font-size:34px !important; }
  .ccw-check-search-heading { align-items:flex-start; }
  .ccw-check-search-icon { flex-basis:42px; width:42px; height:42px; }
  .ccw-check-meta { grid-template-columns:1fr; }
  .ccw-check-result-top { flex-direction:column; }
  .ccw-check-shield { min-height:112px; }
  .ccw-card-header { align-items:flex-start; flex-direction:column; }
}
