/* Modelo 14 · Health & Medical — clases .hm */
.pmc-m-health-medical { --hm-c: var(--pmc-primary, #0369a1); --hm-soft: var(--pmc-secondary, #e0f2fe); --hm-ink: #0f2233; --hm-muted: #4d6272; --hm-line: #dbe7f0; background: #f6fafd; color: var(--hm-ink); font-family: var(--pmc-font); }
.hm { max-width: 40rem; margin: 0 auto; padding: 0 1rem 1.5rem; }
.hm-head { display: flex; gap: 1.1rem; align-items: center; margin: 0 -1rem; padding: 1.75rem 1.25rem 3.5rem; background: var(--hm-soft); border-radius: 0 0 1.5rem 1.5rem; }
.hm-photo { flex: none; width: 6.25rem; height: 6.25rem; border-radius: 50%; overflow: hidden; background: #fff; display: grid; place-items: center; border: 4px solid #fff; box-shadow: 0 4px 14px rgb(3 105 161 / .12); }
.hm-photo-img { width: 100%; height: 100%; object-fit: cover; }
.hm-photo-img.is-logo { object-fit: contain; padding: 10%; }
.hm-photo span { font: 800 1.9rem var(--pmc-display); color: var(--pmc-primary-ink, var(--hm-c)); }
.hm-id { min-width: 0; }
.hm-name { margin: 0; font: 800 clamp(1.5rem, 6.5vw, 2.1rem)/1.12 var(--pmc-display); overflow-wrap: break-word; hyphens: auto; }
.hm-role { margin: .3rem 0 0; font-weight: 700; color: var(--pmc-primary-ink, var(--hm-c)); }
.hm-place { margin: .2rem 0 0; color: var(--hm-muted); font-size: .95rem; }
.hm-actions { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: -2.25rem; padding: .75rem; background: #fff; border-radius: 1.25rem; box-shadow: 0 8px 24px rgb(15 34 51 / .08); }
.hm-btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 3rem; padding: .5rem 1rem; border-radius: .85rem; border: 1px solid var(--hm-line); background: #fff; color: var(--hm-ink); font: 700 .98rem var(--pmc-display); text-decoration: none; cursor: pointer; }
.hm-btn[hidden] { display: none; }
.hm-btn .pmc-icon { width: 18px; height: 18px; color: var(--pmc-primary-ink, var(--hm-c)); }
.hm-btn-main { grid-column: 1 / -1; background: var(--hm-c); border-color: var(--hm-c); color: var(--pmc-on-primary); font-size: 1.05rem; }
.hm-btn-main .pmc-icon { color: currentColor; }
.hm-btn:focus-visible, .hm-contact a:focus-visible, .hm-links a:focus-visible, .hm-gallery a:focus-visible { outline: 3px solid var(--hm-c); outline-offset: 2px; }
.hm-card { margin-top: 1rem; padding: 1.25rem; background: #fff; border-radius: 1.25rem; border: 1px solid var(--hm-line); }
.hm-h2 { display: flex; align-items: center; gap: .45rem; margin: 0 0 .85rem; font: 800 1.1rem/1.25 var(--pmc-display); }
.hm-h2 .pmc-icon { width: 20px; height: 20px; color: var(--pmc-primary-ink, var(--hm-c)); }
.hm-text p { margin: 0 0 .7rem; line-height: 1.65; color: var(--hm-muted); }
.hm-text p:last-child { margin-bottom: 0; }
.hm-specs { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.hm-specs li { display: flex; align-items: center; gap: .65rem; font-weight: 600; }
.hm-plus { flex: none; position: relative; width: 1.5rem; height: 1.5rem; border-radius: .4rem; background: var(--hm-soft); }
.hm-plus::before, .hm-plus::after { content: ''; position: absolute; left: 50%; top: 50%; background: var(--hm-c); transform: translate(-50%, -50%); border-radius: 1px; }
.hm-plus::before { width: .75rem; height: 3px; }
.hm-plus::after { width: 3px; height: .75rem; }
.hm-services { list-style: none; margin: 0; padding: 0; }
.hm-services li { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--hm-line); }
.hm-services li:first-child { border-top: 0; padding-top: 0; }
.hm-services h3 { margin: 0; font: 700 1.02rem var(--pmc-display); }
.hm-services p { margin: .15rem 0 0; font-size: .9rem; color: var(--hm-muted); }
.hm-price { flex: none; font: 800 1rem var(--pmc-display); color: var(--pmc-primary-ink, var(--hm-c)); }
.hm-hours { width: 100%; border-collapse: collapse; }
.hm-hours th, .hm-hours td { padding: .55rem 0; border-top: 1px solid var(--hm-line); text-align: left; font-weight: 400; }
.hm-hours tr:first-child th, .hm-hours tr:first-child td { border-top: 0; }
.hm-hours td { text-align: right; font-weight: 700; }
.hm-hours-note { margin: .75rem 0 0; padding: .75rem .9rem; border-radius: .75rem; background: var(--hm-soft); color: var(--hm-ink); font-size: .92rem; line-height: 1.45; }
.hm-gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.hm-gallery a { display: block; aspect-ratio: 1; border-radius: .75rem; overflow: hidden; }
.hm-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-contact { list-style: none; margin: 0; padding: 0; }
.hm-contact a { display: flex; gap: .65rem; align-items: center; padding: .65rem 0; color: var(--hm-ink); text-decoration: none; word-break: break-word; }
.hm-contact .pmc-icon { flex: none; width: 2.25rem; height: 2.25rem; padding: .5rem; border-radius: 50%; background: var(--hm-soft); color: var(--pmc-primary-ink, var(--hm-c)); }
.hm-disclaimer { margin: 1rem 0 0; text-align: center; font-size: .85rem; color: var(--hm-muted); }
.hm-end { margin-top: 1.25rem; }
.hm-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.hm-row .hm-btn { flex: 1 1 10rem; }
.hm-links { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.hm-links a { display: inline-flex; gap: .4rem; align-items: center; min-height: 2.5rem; padding: .3rem .9rem; border-radius: 999px; background: #fff; border: 1px solid var(--hm-line); color: var(--hm-ink); text-decoration: none; }
.hm-links .pmc-icon { width: 16px; height: 16px; color: var(--pmc-primary-ink, var(--hm-c)); }
.hm-foot { text-align: center; margin-top: 2rem; font-size: .8rem; }
.hm-foot a { color: var(--hm-muted); }
@media (min-width: 40rem) { .hm { padding-top: 1rem; } .hm-head { margin: 0; border-radius: 1.5rem; padding: 2rem 2rem 3.75rem; } .hm-actions { grid-template-columns: 2fr 1fr 1fr; margin-left: 1rem; margin-right: 1rem; } .hm-btn-main { grid-column: auto; } }
