/* Service selection extends the site's existing spacing and typography. */
.service-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0.625rem; margin:1.75rem 0 1.5rem; }
.service-categories button { padding:1rem 0.875rem; min-height:5rem; text-align:left; border:0.0625rem solid var(--line); border-radius:0.1875rem; background:#fff; color:var(--ink); font-weight:500; font-size:1.0625rem; line-height:1.4; }
.service-categories button span { display:block; margin-top:0.25rem; font-size:0.875rem; font-weight:400; color:var(--muted); }
.service-categories button:hover { border-color:var(--ink); }
.service-categories button[aria-pressed=true] { background:var(--ink); border-color:var(--ink); color:#fff; }
.service-categories button[aria-pressed=true] span { color:#dedee0; }
.package-guidance { font-size:var(--text-body); color:var(--muted); }
.coating-duration { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.25rem; }
.coating-duration>span { font-size:var(--text-small); color:var(--muted); }
.catalog-segment { display:inline-grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); padding:0.25rem; border:0.0625rem solid var(--line); border-radius:0.25rem; background:var(--fog); }
.catalog-segment button { min-height:2.75rem; padding:0.5rem 1rem; border:0.0625rem solid transparent; border-radius:0.125rem; color:var(--muted); background:transparent; font-size:var(--text-body); line-height:1.4; }
.catalog-segment button[aria-pressed=true] { color:var(--ink); border-color:var(--line); background:#fff; }
.package-option .package-copy { display:contents; }
.package-option .package-name { grid-column:1; grid-row:1; }
.package-option .package-description { grid-column:1; grid-row:2; }
.package-option .package-price { grid-column:2; grid-row:1/3; }
.package-option .package-features { grid-row:3; }
.package-option .choice-surface { transition:background .18s,border-color .18s; }
.package-option input:checked+.choice-surface { background:#fffdfd; }
.paint-care { display:grid; grid-template-columns:1fr auto; align-items:center; gap:0.625rem 1rem; margin-top:1.5rem; padding-top:1.5rem; border-top:0.0625rem solid var(--line); }
.paint-care>p { font-size:var(--text-body); }
.paint-care>small { grid-column:1/-1; font-size:var(--text-small); color:var(--muted); }
.coating-care { margin-top:1.5rem; padding:1.25rem 1.5rem; border-radius:0.1875rem; background:var(--fog); }
.coating-care p { font-size:var(--text-body); font-weight:500; }
.coating-care ul { display:flex; flex-wrap:wrap; gap:0.375rem 1.5rem; list-style:none; padding:0; margin:0.75rem 0; color:var(--muted); font-size:var(--text-small); }
.coating-care small { display:block; font-size:var(--text-small); line-height:1.6; color:var(--muted); }
.service-location-warning { margin-top:1rem; padding:1rem 1.25rem; border-left:0.1875rem solid var(--red); background:var(--fog); font-size:var(--text-body); }
.catalog-help { grid-column:1/-1; font-size:var(--text-small); color:var(--muted); }
.catalog-help a { color:var(--ink); text-decoration:underline; text-underline-offset:0.25rem; }
.addon-note { margin:0.375rem 0 0 2rem; font-size:var(--text-caption); line-height:1.5; color:var(--muted); }
.catalog-preview-note { grid-column:1/-1; padding-top:0.75rem; border-top:0.0625rem solid var(--line); font-size:var(--text-caption); color:var(--muted); max-width:70ch; }
.ceramic-benefits { display:grid; gap:0.625rem; list-style:none; padding:1.5rem 0; margin:0; border-bottom:0.0625rem solid var(--dark-line); color:var(--dark-muted); }
.protection-copy .text-link { margin-top:1.5rem; }
@media(max-width:42rem) {
  .service-categories { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1.25rem; }
  .service-categories button { padding:0.875rem 1rem; min-height:4.75rem; }
  .package-option .package-features { grid-template-columns:1fr; }
  .package-option .choice-surface { padding:1.25rem 2.875rem 1.25rem 1.125rem; grid-template-columns:minmax(0,1fr); }
  .package-option .package-price { grid-column:1; grid-row:3; margin-top:0.875rem; font-size:1.5rem; }
  .package-option .package-features { grid-row:4; margin-top:1rem; }
  .package-option .package-name { font-size:1.25rem; }
  .paint-care { grid-template-columns:1fr; }
  .paint-care .catalog-segment { justify-self:start; width:100%; }
  .coating-care { padding:1.125rem; }
}
@media(max-width:23rem) {
  .coating-duration { align-items:stretch; flex-direction:column; gap:0.5rem; }
  .service-categories button { padding:0.75rem; }
}
@media(prefers-reduced-motion:reduce) { .package-option .choice-surface { transition:none; } }
