/* v29.242.1 — Catálogo de serviços em lista (uma linha por serviço), o modelo do /agendar/.
   Saiu do <style> inline de agendar/index.html para virar folha compartilhada: /senha/ transplanta
   as mesmas seções do /agendar/ e precisa do mesmo visual; qualquer outra tela que ofereça
   serviço ao cliente liga esta folha e fica igual. !important necessário: o CSS original do card
   (css/02) tem seletores mais específicos (ex.: .service-grid:not(.compact-services) .service-card
   {min-height:430px}) que vencem por especificidade mesmo vindo antes. */
.service-grid,.compact-services{display:block !important}
.service-card{display:flex !important;align-items:center !important;flex-direction:row !important;justify-content:flex-start !important;flex-wrap:wrap !important;gap:10px 16px !important;background:none !important;border:0 !important;border-bottom:1px solid var(--line) !important;border-radius:0 !important;box-shadow:none !important;padding:16px 4px !important;min-height:0 !important;overflow:visible !important}
.service-grid .service-card:last-child{border-bottom:0 !important}
.service-content{flex:1 1 240px !important;min-width:0;min-height:0 !important;height:auto !important;padding:0 !important;display:block !important;gap:0 !important}
.service-content h3{margin:0 !important;font-size:1.02rem !important;line-height:1.3 !important}
.service-content h3 small{display:inline;color:var(--muted);font-weight:400;font-size:.85em;margin-left:4px}
.service-tag{margin:5px 0 0 !important;font-size:.75rem !important;padding:4px 9px !important;align-self:auto !important;background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;color:var(--ink) !important;border:0 !important;font-weight:700 !important}
.service-content p{margin:5px 0 0 !important;color:var(--muted);font-size:.86rem !important;line-height:1.42 !important;flex:none !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:none}
.service-meta{flex:0 0 auto !important;display:flex !important;flex-direction:row !important;align-items:baseline !important;gap:10px !important;margin:0 !important}
.service-meta span{font-size:.78rem;color:var(--muted);font-weight:600;white-space:nowrap}
.service-meta strong{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.55rem;color:var(--gold2);font-variant-numeric:tabular-nums;white-space:nowrap}
.service-btn{flex:0 0 auto !important;width:auto !important;padding:10px 20px !important;border-radius:999px !important;border:0;background:var(--gold);color:#191400;font-weight:700;cursor:pointer;white-space:nowrap;font-size:.92rem}
.service-btn:hover{background:var(--gold2)}
.service-btn:disabled{opacity:.65;cursor:default}
/* v29.245.0 — no celular a linha fecha sempre igual: conteúdo em cima, "aproximadamente N min · preço"
   à esquerda e o botão à direita numa só linha (antes ora cabiam juntos, ora quebravam em três). */
@media(max-width:560px){.service-card{padding:14px 2px !important}.service-content{flex:1 1 100% !important}.service-meta{flex:1 1 auto !important;min-width:max-content;justify-content:flex-start;gap:8px !important}.service-meta span{font-size:.78rem}.service-btn{margin-left:auto;padding:10px 16px !important}.service-btn.is-added,.service-check:has(input:checked){padding:10px 12px !important}.dur-longa{display:none}.dur-curta{display:inline}}
.dur-curta{display:none}

/* v29.247.0 — Dentro dos modais Concluir/Editar do painel a lista fica compacta: sem descrição,
   título de categoria menor, linha mais baixa. O modal já era alto; 24 linhas com descrição
   empurravam o "Concluir" para três telas abaixo no celular. */
[data-service-slot] .catalogo-lista .service-content p{display:none}
[data-service-slot] .catalogo-lista .service-tag{display:none}
[data-service-slot] .catalogo-lista .service-card{padding:9px 2px !important;gap:6px 12px !important}
[data-service-slot] .catalogo-lista .service-section{padding-top:2px !important}
[data-service-slot] .catalogo-lista .section-head{margin:0 0 2px !important}
[data-service-slot] .catalogo-lista .section-head h2{font-size:1rem !important;margin:.6em 0 .1em !important}
[data-service-slot] .catalogo-lista .service-meta strong{font-size:1.25rem}
[data-service-slot] .catalogo-lista .service-btn{padding:8px 14px !important;font-size:.85rem}

/* v29.243.0 — Lista dentro de outra tela (senha, reagendar, vale-presente): o container recebe
   .catalogo-lista (assets/js/catalogo-lista.js). Aqui só se neutraliza o que a tela hospedeira
   herda — margem de seção do site, h2 de artigo (.privacy-card), p com 34em — e se desenha o
   "− n" do vale-presente. */
.catalogo-lista{display:flex;flex-direction:column;gap:0}
.catalogo-lista .service-section{margin:0 !important;padding:10px 0 0 !important;width:auto !important;max-width:none !important}
.catalogo-lista .section-head{margin:0 0 6px !important;text-align:left}
.catalogo-lista .section-head h2{font-family:"Bebas Neue",Impact,sans-serif !important;font-weight:400 !important;letter-spacing:.02em;font-size:clamp(1.4rem,5vw,1.9rem) !important;margin:.3em 0 .15em !important;color:var(--gold2)}
.catalogo-lista .section-head p{margin:0 0 4px !important;color:var(--muted);font-size:.92rem;line-height:1.45;max-width:none}
.catalogo-lista .service-card.is-selected{background:rgba(var(--gold2-rgb),.05) !important}
.service-qty{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.service-qty b{color:var(--gold2);font-size:1.05rem;min-width:1.2em;text-align:center}
.service-qty-menos{width:40px;height:40px;border-radius:999px;border:1px solid rgba(var(--gold2-rgb),.6);background:none;color:var(--gold2);font:700 1.2rem/1 inherit;cursor:pointer}
.service-qty-menos:hover{background:rgba(var(--gold2-rgb),.12)}
@media(max-width:560px){.service-qty{margin-left:auto}.service-qty ~ .service-btn{margin-left:0}}

/* v29.244.0 — Variante do painel (admin-catalogo-lista-v30.js): o botão é um <label> com o
   checkbox escondido dentro; marcado/desmarcado é só CSS. O contador − n + de produto (.qty-step,
   base no css/06) aparece quando o item está marcado. */
label.service-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;line-height:1.2}
.service-check input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.service-check .service-check-on{display:none}
.service-check:has(input:checked){background:rgba(var(--gold2-rgb),.1)!important;color:var(--gold2)!important;border:1px solid rgba(var(--gold2-rgb),.6)!important;box-shadow:none!important}
.service-check:has(input:checked) .service-check-off{display:none}
.service-check:has(input:checked) .service-check-on{display:inline}
.service-check:has(input:focus-visible){outline:2px solid var(--gold2);outline-offset:2px}
.service-card:has(.service-check input:checked){background:rgba(var(--gold2-rgb),.05)!important}
.service-card .qty-step{display:none;margin:0;flex:0 0 auto}
.service-card:has(.service-check input:checked) .qty-step{display:inline-flex}
@media(max-width:560px){.service-card .qty-step{margin-left:auto}.qty-step ~ .service-btn{margin-left:0}}

/* v29.256.0 — alvo de toque: "Adicionar" media 36–38 px de altura no computador. */
.service-btn{min-height:44px}
