/* V4.12 — fotos reais nos cards de serviços */
.list-row.has-service-photo{
  grid-template-columns:84px minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  gap:10px 14px!important;
  align-items:start!important;
}
.list-service-media{
  grid-row:1 / span 2;
  width:84px;
  min-height:94px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(197,154,93,.18);
  background:#171719;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
  position:relative;
}
.list-service-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.22));
  pointer-events:none;
}
.list-service-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.list-service-media .list-service-icon,
.list-service-media.fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,rgba(197,154,93,.08),rgba(197,154,93,.03));
  color:var(--accent-hover);
}
.list-service-media .list-service-icon svg,
.list-service-media.fallback svg{width:28px;height:28px}
.list-row.has-service-photo .list-copy{padding-top:2px!important}
.list-row.has-service-photo .list-end{min-width:108px;align-self:center!important}
.list-row.has-service-photo .list-price{font-size:28px!important}
.list-row.has-service-photo .list-action{min-width:102px!important}

@media (max-width: 860px){
  .list-row.has-service-photo{
    grid-template-columns:82px minmax(0,1fr) auto!important;
    gap:10px 12px!important;
    padding:14px!important;
  }
  .list-service-media{width:82px;min-height:90px;border-radius:15px}
}

@media (max-width: 520px){
  .list-row.has-service-photo{
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
  }
  .list-service-media{
    width:76px;
    min-height:84px;
    border-radius:14px;
  }
  .list-row.has-service-photo .list-copy{grid-column:2!important}
  .list-row.has-service-photo .list-meta{grid-column:2!important}
  .list-row.has-service-photo .list-end{
    grid-column:1 / -1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:10px!important;
    width:100%;
    min-width:0;
  }
  .list-row.has-service-photo .list-price{font-size:25px!important}
  .list-row.has-service-photo .list-action{width:auto!important;min-width:96px!important}
}

/* V4.14 — fotos também na etapa de agendamento */
.choice-item.has-photo{
  grid-template-columns:72px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:92px!important;
}
.choice-service-photo{
  width:72px!important;
  height:72px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  border:1px solid rgba(197,154,93,.18)!important;
  background:#171719!important;
  display:block!important;
  position:relative!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)!important;
}
.choice-service-photo::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18));
  pointer-events:none;
}
.choice-service-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.choice-service-photo .choice-service-icon,
.choice-service-photo .choice-avatar{
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
}
@media (max-width: 860px){
  .choice-item.has-photo{
    grid-template-columns:64px minmax(0,1fr) auto!important;
    min-height:86px!important;
  }
  .choice-service-photo{
    width:64px!important;
    height:64px!important;
    border-radius:14px!important;
  }
}
@media (max-width: 520px){
  .choice-item.has-photo{
    grid-template-columns:58px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:10px 12px!important;
  }
  .choice-service-photo{
    width:58px!important;
    height:58px!important;
    border-radius:13px!important;
    grid-row:1 / span 2!important;
  }
  .choice-item.has-photo .choice-price{
    grid-column:2!important;
    justify-self:start!important;
    font-size:22px!important;
    margin-top:2px!important;
  }
}
