/* Scoped enhancements for the existing CautAnvelope homepage. */
body.ca-home #ca-staggered { display:none!important; }
body.ca-home .ca-seasons { margin-top:8px; }
body.ca-home .ca-finder .ca-hint { margin-bottom:4px; }

body.ca-home #ca-staggered-panel { margin-top:16px; }
body.ca-home #ca-staggered-panel .csf-wrap {
  max-width:none; width:100%; padding:0; color:#172235; background:#fff;
  border:1px solid #e3e8ef; border-radius:16px; overflow:hidden;
  box-shadow:0 15px 35px #10203514;
}

body.ca-home #ca-staggered-panel .csf-head { display:block; padding:0; background:#fff; }
body.ca-home #ca-staggered-panel .csf-copy {
  padding:22px 24px 8px; max-width:none; color:#172235; text-align:left;
}
body.ca-home #ca-staggered-panel .csf-copy h2 { color:#172235; font-size:23px; line-height:1.2; margin:0 0 8px; }
body.ca-home #ca-staggered-panel .csf-copy h2 span,
body.ca-home #ca-staggered-panel .csf-copy ul { display:none; }
body.ca-home #ca-staggered-panel .csf-copy p { color:#647187; font-size:13px; margin:0; }
body.ca-home #ca-staggered-panel .csf-box {
  max-width:none; width:auto; margin:0 14px 14px; padding:14px;
  background:#f7f9fb!important; background-image:none!important;
  border:1px solid #e3e8ef; border-radius:13px; box-shadow:none;
  color:#172235;
}
body.ca-home #ca-staggered-panel .csf-tabs { background:#edf1f5; border-radius:10px; }
body.ca-home #ca-staggered-panel .csf-tabs button { color:#46566c; border-radius:9px; }
body.ca-home #ca-staggered-panel .csf-tabs button.is-active {
  background:#111d2d; color:#fff; box-shadow:0 4px 12px #111d2d25;
}
body.ca-home #ca-staggered-panel .csf-tabs button.is-active * { color:#fff; }
body.ca-home #ca-staggered-panel .csf-tabs .csf-ico { color:#fa681b; }
body.ca-home #ca-staggered-panel .csf-label { color:#596579; }
body.ca-home #ca-staggered-panel select { border:1px solid #d8e0e9; border-radius:9px; color:#172235; background:#fff; }
body.ca-home #ca-staggered-panel .csf-submit { background:#fa681b; color:#fff; border-radius:9px; }
body.ca-home #ca-staggered-panel .csf-reset { color:#b94b15; }
body.ca-home #ca-staggered-panel .csf-found,
body.ca-home #ca-staggered-panel .csf-results { padding-left:18px; padding-right:18px; }

body.ca-home #ca-catalog .ca-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.ca-home #ca-catalog .ca-category {
  display:grid; grid-template-columns:minmax(150px,40%) 1fr; min-height:220px;
  border:1px solid #e3e8ef; border-radius:18px; background:#fff;
  box-shadow:0 12px 28px #1020350d;
}
body.ca-home #ca-catalog .ca-cat-image { height:100%; min-height:220px; background:#16263a; }
body.ca-home #ca-catalog .ca-cat-image img { object-fit:cover; }
body.ca-home #ca-catalog .ca-category>div:last-child { padding:28px; display:flex; flex-direction:column; }
body.ca-home #ca-catalog .ca-category h3 { font-size:clamp(19px,2vw,27px); margin-bottom:10px; }
body.ca-home #ca-catalog .ca-category p { font-size:14px; }
body.ca-home #ca-catalog .ca-cat-bottom { margin-top:auto; padding-top:24px; }

body.ca-home .ca-product-image { min-height:235px; height:235px; padding:22px 18px 30px; }
body.ca-home .ca-product-image img { width:100%; height:100%; max-height:180px; object-fit:contain; display:block; }
body.ca-home .ca-product-info { padding:22px 18px 18px; gap:4px; }
body.ca-home .ca-product h3 { margin:12px 0 15px; line-height:1.4; }

body.ca-home .cau-rim {
  margin:25px 0 28px; padding:29px; background:#f6f8fb;
  border:1px solid #e0e7ef; border-radius:18px; scroll-margin-top:100px;
}
body.ca-home .cau-tool-head h3 { margin:7px 0 5px; font-size:25px; line-height:1.2; }
body.ca-home .cau-tool-head p { margin:0 0 18px; color:#66748a; }
body.ca-home .cau-rim-form { display:grid; grid-template-columns:1.3fr 1fr 1fr auto; gap:11px; align-items:end; }
body.ca-home .cau-rim-form label { display:grid; gap:7px; color:#4d5d73; font-size:13px; font-weight:750; }
body.ca-home .cau-rim-form input,
body.ca-home .cau-rim-form select {
  width:100%; min-width:0; height:52px; padding:0 13px; border:1px solid #d5dfe9;
  border-radius:10px; background:#fff; color:#172235; font-size:16px;
}
body.ca-home .cau-rim-form .ca-button { min-height:52px; }
body.ca-home .cau-rim-result { margin:18px 0 10px; padding:14px 17px; border-radius:10px; font-weight:750; }
body.ca-home .cau-rim-result.cau-yes { color:#18583e; background:#e8f6ef; }
body.ca-home .cau-rim-result.cau-no { color:#913e25; background:#fff0e8; }
body.ca-home .cau-rim-result.cau-neutral { color:#405168; background:#eaf0f7; }
body.ca-home .cau-rim>small { color:#69778a; display:block; line-height:1.5; }

body.ca-home #ca-workshops.cau-workshops {
  display:block !important; padding-top:26px; padding-bottom:36px; scroll-margin-top:100px;
}
body.ca-home .cau-workshop-intro { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
body.ca-home .cau-workshop-intro h3 { width:100%; margin:0; font-size:25px; }
body.ca-home .cau-workshop-intro p { margin:0; color:#bbc8d7; flex:1 1 400px; }
body.ca-home .cau-workshop-intro label { display:flex; gap:10px; align-items:center; font-weight:750; }
body.ca-home .cau-workshop-intro select { min-width:170px; min-height:43px; border-radius:9px; padding:0 10px; background:#fff; color:#172235; border:1px solid #d6e0eb; }
body.ca-home .cau-workshop-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:22px 0; }
body.ca-home .cau-workshop-list article {
  background:#fff; color:#172235; padding:20px; border-radius:13px;
  border:1px solid #e4e9ef; box-shadow:0 8px 25px #091a2b12;
}
body.ca-home .cau-workshop-list article[hidden] { display:none; }
body.ca-home .cau-workshop-list h4 { font-size:18px; margin:0 0 14px; }
body.ca-home .cau-workshop-list p { margin:9px 0; color:#4d5d73; font-size:13px; line-height:1.45; }
body.ca-home .cau-workshop-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:15px; }
body.ca-home .cau-workshop-actions a {
  display:inline-flex; align-items:center; min-height:38px; padding:7px 10px;
  background:#f1f5f9; color:#1e4d66; border-radius:8px; font-size:12px; font-weight:800;
}
body.ca-home .cau-workshop-actions a:first-child { background:#fa681b; color:#fff; }
body.ca-home #ca-workshops .cau-workshop-list article p { color:#4d5d73; }
body.ca-home #ca-workshops .cau-workshop-actions a { color:#1e4d66 !important; }
body.ca-home #ca-workshops .cau-workshop-actions a:first-child { color:#fff !important; }
body.ca-home .cau-workshops #ca-workshop-map { display:block; width:100%; height:250px; margin:8px 0 14px; border:0; border-radius:12px; }
body.ca-home .cau-workshops>small { color:#aebed0; }

@media(max-width:900px) {
  body.ca-home .cau-rim-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.ca-home .cau-workshop-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  body.ca-home #ca-catalog .ca-category-grid,
  body.ca-home .cau-workshop-list { grid-template-columns:1fr; }
  body.ca-home #ca-catalog .ca-category { grid-template-columns:38% 1fr; min-height:170px; }
  body.ca-home #ca-catalog .ca-cat-image { min-height:170px; }
  body.ca-home #ca-catalog .ca-category>div:last-child { padding:16px; }
  body.ca-home #ca-catalog .ca-category h3 { font-size:18px; }
  body.ca-home #ca-catalog .ca-category p { font-size:12px; }
  body.ca-home #ca-catalog .ca-cat-bottom { padding-top:10px; }
  body.ca-home .ca-product-image { min-height:165px; height:165px; padding:12px 10px 22px; }
  body.ca-home .ca-product-image img { max-height:130px; }
  body.ca-home .ca-product-info { padding:17px 10px 12px; }
  body.ca-home .cau-rim { padding:19px 15px; }
  body.ca-home .cau-tool-head h3 { font-size:21px; }
  body.ca-home .cau-rim-form { gap:10px; }
  body.ca-home .cau-rim-form label:first-child,
  body.ca-home .cau-rim-form .ca-button { grid-column:1/-1; }
  body.ca-home .cau-workshop-intro label { width:100%; justify-content:space-between; }
  body.ca-home #ca-staggered-panel .csf-copy { padding:18px 16px 7px; }
  body.ca-home #ca-staggered-panel .csf-box { margin:0 8px 8px; padding:8px; }
}

/* Reference cards: only the benefits row and the two catalog categories. */
body.ca-home .ca-benefits,
body.ca-home #ca-catalog { font-family:CAOnest,system-ui,-apple-system,'Segoe UI',sans-serif; max-width:1200px; }
body.ca-home .ca-benefits { padding:28px 20px 24px; gap:16px; background:#f3f5fa; }
body.ca-home .ca-benefits>a {
  display:grid; grid-template-columns:28px minmax(0,1fr); grid-template-rows:auto 1fr;
  align-items:start; column-gap:14px; row-gap:2px; padding:20px;
  min-height:108px; background:#fff; border:1px solid #dde3ee; border-radius:12px;
  box-shadow:none; color:#0d1424; transition:border-color .15s,transform .15s;
}
body.ca-home .ca-benefits>a>span { grid-row:1/3; font-size:28px; line-height:1; padding-top:2px; }
body.ca-home .ca-benefits>a>strong { font-size:16px; font-weight:700; line-height:1.3; margin:0; }
body.ca-home .ca-benefits>a>small { font-size:14px; line-height:1.5; color:#586277; }
body.ca-home .ca-benefits>a:hover,
body.ca-home .ca-benefits>a:focus-visible { border-color:#ff6b00; transform:translateY(-2px); }
body.ca-home #ca-catalog { padding:48px 20px 10px; }
body.ca-home #ca-catalog .ca-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
body.ca-home #ca-catalog .ca-category {
  position:relative; isolation:isolate; display:block; min-height:190px; height:190px;
  border:0; border-radius:16px; overflow:hidden; box-shadow:none;
  background:linear-gradient(140deg,#1e3a6e,#0d1a36); color:#fff;
}
body.ca-home #ca-catalog .ca-category:nth-child(2) { background:linear-gradient(140deg,#124a45,#0a2422); }
body.ca-home #ca-catalog .ca-category:before {
  content:'🚗'; position:absolute; right:16px; top:10px; font-size:76px; line-height:1;
  filter:drop-shadow(0 8px 14px #0006); pointer-events:none;
}
body.ca-home #ca-catalog .ca-category:nth-child(2):before { content:'🚙'; }
body.ca-home #ca-catalog .ca-category:after {
  content:''; position:absolute; right:-50px; bottom:-60px; width:190px; height:190px;
  background:url('hero-wheel.svg') center/contain no-repeat; opacity:.35; pointer-events:none; z-index:-1;
}
body.ca-home #ca-catalog .ca-cat-image { display:none; }
body.ca-home #ca-catalog .ca-category>div:last-child {
  position:relative; display:flex; flex-direction:column; justify-content:flex-end;
  padding:22px; height:100%; gap:6px;
}
body.ca-home #ca-catalog .ca-category h3 {
  color:#fff; font-size:22px; font-weight:800; line-height:1.2; margin:0; max-width:calc(100% - 90px);
}
body.ca-home #ca-catalog .ca-category p { font-size:14px; color:#ffffffd1; line-height:1.5; min-height:0; max-width:26ch; margin:0; }
body.ca-home #ca-catalog .ca-cat-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:0; margin-top:8px; }
body.ca-home #ca-catalog .ca-cat-bottom strong { color:#fff; font-size:16px; font-weight:700; }
body.ca-home #ca-catalog .ca-cat-bottom span { display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#0b1220; font-size:14px; font-weight:700; border-radius:99px; padding:8px 16px; line-height:1.5; }
@media(max-width:1000px) {
  body.ca-home .ca-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  body.ca-home .ca-benefits { padding:20px 12px; gap:12px; }
  body.ca-home .ca-benefits>a { grid-template-columns:24px minmax(0,1fr); padding:14px; column-gap:10px; }
  body.ca-home .ca-benefits>a>span { font-size:24px; }
  body.ca-home .ca-benefits>a>strong { font-size:14px; }
  body.ca-home .ca-benefits>a>small { font-size:12px; }
  body.ca-home #ca-catalog { padding:36px 12px 10px; }
  body.ca-home #ca-catalog .ca-category-grid { grid-template-columns:1fr; }
  body.ca-home #ca-catalog .ca-category h3 { font-size:20px; }
}
@media(max-width:380px) { body.ca-home .ca-benefits { grid-template-columns:1fr; } }
