/*!
 * Quick Auto Center — /book/ Services step (story 1.W2.22; design/flow-part-1.md section 4, prototype
 * design/prototypes/part-1/book.html states services-*). Compact layout of the approved prototype: flat lists with
 * keylines, the whole label is the 44px target, the price slot only for a chosen item (Q-31).
 * Tokens only (var(--*)); DESIGN.md bans apply: no background gradient, blur, glass, pill outside .tag, emoji or
 * Unicode glyph icons; inputs keep --type-body (16px).
 */

/* Search — REUSE .field__label + .control, ADAPT with Lucide search icon and a 44px clear button */
.search{display:flex;flex-direction:column;gap:var(--space-1);}
.search__box{position:relative;}
.search__ic{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);display:flex;color:var(--text-muted);pointer-events:none;}
.search__input{padding-left:var(--space-10);padding-right:var(--space-12);}
.search__input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;}
.search__clear{position:absolute;right:0;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  padding:0;background:none;border:0;color:var(--text-muted);cursor:pointer;}
.search__clear:hover{color:var(--action-primary);}
.search__clear[hidden]{display:none;}
.search__count{margin:0;font-size:var(--type-body-sm);font-weight:var(--weight-bold);color:var(--text-heading);}
.search__count:empty{display:none;}

/* Groups — ADAPT of .faq__list: flat list with a strong keyline on top */
.svc-groups{display:flex;flex-direction:column;}
.grp{display:flex;flex-direction:column;gap:var(--space-1);scroll-margin-top:var(--space-4);}
.grp[hidden]{display:none;}
.grp + .grp{margin-top:var(--space-4);}
.grp__title{margin:0;font-size:var(--type-body);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text-heading);}
.svc-list{list-style:none;margin:0;padding:0;border-top:var(--border-width) solid var(--border-strong);}

/* ServiceRow — CREATE from toggle button + .faq__item + .linkbtn */
.svc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label more" "price price" "details details";column-gap:var(--space-3);
  border-bottom:var(--border-width) solid var(--border-default);}
.svc-row[hidden]{display:none;}
.svc-row.is-selected{background:var(--qac-royal-050);}
.svc-row__toggle{grid-area:label;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1) var(--space-3);min-height:44px;width:100%;
  margin:0;padding:var(--space-2) 0;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--font-text);font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-heading);}
.svc-row__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.svc-row__box{flex:none;display:flex;align-items:center;justify-content:center;width:var(--space-5);height:var(--space-5);box-sizing:border-box;
  border:var(--border-width-thick) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--text-on-brand);}
.svc-row__box .ic{visibility:hidden;}
.svc-row__toggle[aria-pressed="true"] .svc-row__box{background:var(--action-primary);border-color:var(--action-primary);}
.svc-row__toggle[aria-pressed="true"] .svc-row__box .ic{visibility:visible;}
.svc-row__name{flex:1 1 0;min-width:0;}
.svc-row__toggle .tag{flex:none;}
.svc-row__more{grid-area:more;align-self:start;font-size:var(--type-caption);}
.svc-row__price{grid-area:price;padding-left:calc(var(--space-5) + var(--space-3));}
.svc-row__price:empty{display:none;}
.svc-row__details{grid-area:details;padding:0 0 var(--space-2) calc(var(--space-5) + var(--space-3));}
.svc-row__details[hidden]{display:none;}
.svc-row__details p{margin:0;max-width:62ch;font-size:var(--type-body-sm);}

/* Price slot — CREATE. Four states (ADR D7): priced / free / pending (Live pricing, .lp) / no_price */
.svc-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);}
.svc-price__amount{font-weight:var(--weight-bold);font-size:var(--type-body);color:var(--text-heading);font-variant-numeric:tabular-nums;}
.svc-price__meta{font-size:var(--type-caption);color:var(--text-muted);}
.svc-price--tbd .svc-price__amount{font-size:var(--type-body-sm);font-weight:var(--weight-semibold);color:var(--text-body);}
.svc-price__note{margin:0;max-width:62ch;font-size:var(--type-caption);color:var(--text-muted);}
.svc-row__price{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-2);}
.svc-row__price .lp{min-height:var(--space-6);}

.svc-empty{margin:0;padding:var(--space-3);border-top:var(--border-width) solid var(--border-strong);border-bottom:var(--border-width) solid var(--border-default);
  font-size:var(--type-body-sm);color:var(--text-body);}
.svc-empty[hidden]{display:none;}

/* Other / I'm not sure — always shown, free text required (PRD servicos-outro) */
.svc-other{margin-top:var(--space-4);}
.svc-row--other{grid-template-areas:"label label" "hint hint" "field field" "price price";}
.svc-row__hint{grid-area:hint;margin:0;padding:0 0 var(--space-2) calc(var(--space-5) + var(--space-3));font-size:var(--type-caption);color:var(--text-muted);}
.svc-row__field{grid-area:field;padding:0 0 var(--space-3) calc(var(--space-5) + var(--space-3));}
.svc-row__field[hidden]{display:none;}
.svc-row__field .control{font-size:var(--type-body);}

.svc-disclaimer{max-width:62ch;}
.svc-disclaimer[hidden]{display:none;}

@media (max-width:479px){
  .svc-row__details,.svc-row__price,.svc-row__hint,.svc-row__field{padding-left:0;}
}
