/* MobiKey — catálogo de servicios en tarjetas; no usa fuentes, iconos ni librerías externas. */
.mk-client-visual-v2 .catalog-group .mk-service-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
  padding:20px 23px 24px;border-top:1px solid var(--border);
}
.mk-client-visual-v2 .mk-service-card{
  appearance:none;box-sizing:border-box;width:100%;min-width:0;min-height:188px;
  display:flex;flex-direction:column;justify-content:space-between;gap:18px;
  padding:19px;border:1px solid var(--border);border-radius:17px;
  background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent) 4%,var(--surface)));
  box-shadow:0 5px 15px rgba(29,39,79,.035);color:var(--text);font:inherit;
  text-decoration:none;text-align:left;cursor:pointer;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.mk-client-visual-v2 .mk-service-card:hover{
  border-color:color-mix(in srgb,var(--accent) 60%,var(--border));
  box-shadow:0 12px 28px rgba(75,74,162,.12);transform:translateY(-2px);
}
.mk-client-visual-v2 .mk-service-card:focus-visible{
  outline:3px solid var(--accent);outline-offset:3px;
}
.mk-client-visual-v2 .mk-service-card-head{display:flex;align-items:center;gap:12px;min-width:0;width:100%;}
.mk-client-visual-v2 .mk-service-card-icon{
  flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;
  border-radius:13px;color:#0ba887;background:linear-gradient(135deg,rgba(24,198,154,.16),rgba(102,88,244,.09));
  font-size:27px;font-weight:900;line-height:1;
}
.mk-client-visual-v2 .mk-service-card-title{display:flex;flex:1;flex-direction:column;min-width:0;gap:4px;}
.mk-client-visual-v2 .mk-service-card-title strong{font-weight:800;font-size:.92rem;line-height:1.35;overflow-wrap:anywhere;}
.mk-client-visual-v2 .mk-service-card-title small{font-size:.76rem;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.mk-client-visual-v2 .mk-service-card-arrow{flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--surface2);color:var(--accent);font-size:27px;line-height:1;}
.mk-client-visual-v2 .mk-service-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:15px;border-top:1px solid var(--border);min-width:0;}
.mk-client-visual-v2 .mk-service-card-price{min-width:0;display:flex;align-items:center;gap:9px;}
.mk-client-visual-v2 .mk-service-card-price-icon{width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);display:grid;place-items:center;flex:0 0 38px;font-size:1.25rem;font-weight:800;}
.mk-client-visual-v2 .mk-service-card-price>span:last-child{display:flex;flex-direction:column;min-width:0;gap:2px;}
.mk-client-visual-v2 .mk-service-card-price small{font-size:.71rem;color:var(--muted);line-height:1.3;}
.mk-client-visual-v2 .mk-service-card-price strong{font-size:.88rem;line-height:1.4;font-weight:800;overflow-wrap:anywhere;}
.mk-client-visual-v2 .mk-service-card-time{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  max-width:52%;flex:0 1 auto;padding:7px 10px;border-radius:100px;
  color:#008b6e;background:rgba(12,187,142,.10);font-size:.75rem;font-weight:800;
  line-height:1.35;text-align:center;overflow-wrap:anywhere;
}
.mk-client-visual-v2 .mk-service-card-time>span{font-size:1.05rem;line-height:1;}
/* Centrar el modal y difuminar de verdad el fondo sin añadir imágenes ni JS. */
.mk-client-visual-v2 .mk-form-dialog,
.mk-client-visual-v2 .mk-php-dialog{
  position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 36px);
  overflow:auto;border-radius:20px;box-shadow:0 30px 90px rgba(7,13,40,.32);
}
.mk-client-visual-v2 .mk-form-dialog::backdrop,
.mk-client-visual-v2 .mk-php-dialog::backdrop{
  background:rgba(24,37,78,.67);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
}
.mk-client-visual-v2 .mk-form-dialog .mk-dialog-title{align-items:center;}
.mk-client-visual-v2 .mk-form-dialog .mk-dialog-title strong{overflow-wrap:anywhere;}
.mk-client-visual-v2 .mk-dhru-client-info .mk-dialog-time{margin:10px 0 0;padding:0 0 15px;border-bottom:2px solid var(--accent);}
.mk-client-visual-v2 .mk-dhru-client-info .mk-dialog-time span{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(12,187,142,.10);color:#008b6e;font-size:.79rem;font-weight:800;line-height:1.35;}
.mk-client-visual-v2 .mk-service-more-info{margin-top:14px;border-top:1px solid var(--border);padding-top:12px;}
.mk-client-visual-v2 .mk-service-more-info summary{color:var(--accent);cursor:pointer;font-size:.84rem;font-weight:700;}
.mk-client-visual-v2 .mk-service-more-info p{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere;}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-service-card-time,
:root[data-theme="dark"] .mk-client-visual-v2 .mk-dhru-client-info .mk-dialog-time span{color:#6ee7b7;background:rgba(16,185,129,.16);}
@media(max-width:1070px){.mk-client-visual-v2 .catalog-group .mk-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){
  .mk-client-visual-v2 .catalog-group .mk-service-grid{grid-template-columns:1fr;padding:14px;gap:12px;}
  .mk-client-visual-v2 .mk-service-card{min-height:165px;padding:16px;}
  .mk-client-visual-v2 .mk-service-card-icon{width:46px;height:46px;flex-basis:46px;}
  .mk-client-visual-v2 .mk-form-dialog,.mk-client-visual-v2 .mk-php-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;}
}
@media(prefers-reduced-motion:reduce){.mk-client-visual-v2 .mk-service-card{transition:none;}}
