/* ==========================================================================
   NEXOCOLONIA - SECCIÓN PROFESIONALES (PREMIUM EDITORIAL & ISOLATED)
   ========================================================================== */

:root {
  --prof-navy: #071a37;
  --prof-navy-deep: #030f22;
  --prof-navy-light: #0d2850;
  --prof-gold: #c99a4e;
  --prof-gold-light: #f5e6a3;
  --prof-gold-gradient: linear-gradient(135deg, #c99a4e, #f0d58a);
  --prof-blue: #0767df;
  --prof-teal: #0b8f72;
  --prof-bg: #f8fafc;
  --prof-card-bg: #ffffff;
  --prof-border: #e2e8f0;
  --prof-border-light: #f1f5f9;
  --prof-text-main: #0f172a;
  --prof-text-muted: #64748b;
  --prof-radius-sm: 8px;
  --prof-radius: 14px;
  --prof-radius-lg: 20px;
  --prof-shadow: 0 4px 20px rgba(7, 26, 55, 0.06);
  --prof-shadow-hover: 0 16px 36px rgba(7, 26, 55, 0.12);
  --prof-shadow-gold: 0 10px 30px rgba(201, 154, 78, 0.22);
}

/* --- ENCABEZADO EDITORIAL --- */
.prof-header-section {
  padding: 3rem 0 2rem 0;
  text-align: center;
  background: radial-gradient(circle at 50% 0%, rgba(201, 154, 78, 0.08), transparent 70%);
}

.prof-header-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 1rem;
  border-radius: 999px;
  background: rgba(7, 26, 55, 0.05);
  border: 1px solid rgba(7, 26, 55, 0.1);
  color: var(--prof-navy);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.85rem;
}

.prof-header-title {
  font-family: var(--serif, 'Libre Franklin', serif);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  color: var(--prof-navy);
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0 0 0.75rem 0;
}

.prof-header-desc {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  color: var(--prof-text-muted);
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.5;
}

/* --- BARRA DE FILTROS & HERRAMIENTAS --- */
.prof-toolbar {
  background: var(--prof-card-bg);
  border: 1px solid var(--prof-border);
  border-radius: var(--prof-radius);
  box-shadow: var(--prof-shadow);
  padding: 1.25rem;
  margin-bottom: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prof-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.85rem;
  align-items: center;
}

.prof-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.prof-search-icon {
  position: absolute;
  left: 1rem;
  color: #94a3b8;
  font-size: 1.1rem;
  pointer-events: none;
}

.prof-search-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.8rem;
  border: 1px solid var(--prof-border);
  border-radius: var(--prof-radius-sm);
  background: #f8fafc;
  color: var(--prof-text-main);
  font-size: 0.95rem;
  transition: all 0.2s ease;
}

.prof-search-input:focus {
  outline: none;
  background: #fff;
  border-color: var(--prof-blue);
  box-shadow: 0 0 0 3px rgba(7, 103, 223, 0.12);
}

.prof-select-wrap {
  position: relative;
}

.prof-select {
  padding: 0.75rem 2.2rem 0.75rem 1rem;
  border: 1px solid var(--prof-border);
  border-radius: var(--prof-radius-sm);
  background: #f8fafc;
  color: var(--prof-text-main);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: all 0.2s ease;
}

.prof-select:focus {
  outline: none;
  border-color: var(--prof-blue);
  background-color: #fff;
}

.prof-select-arrow {
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #64748b;
  font-size: 0.75rem;
}

.prof-filters-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding-top: 0.75rem;
  border-top: 1px solid var(--prof-border-light);
}

.prof-pill-label {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--prof-text-muted);
  margin-right: 0.25rem;
}

.prof-filter-btn {
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--prof-border);
  background: #fff;
  color: var(--prof-text-muted);
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.prof-filter-btn:hover {
  border-color: #94a3b8;
  color: var(--prof-text-main);
  background: #f8fafc;
}

.prof-filter-btn.is-active {
  background: var(--prof-navy);
  border-color: var(--prof-navy);
  color: #fff;
  box-shadow: 0 3px 10px rgba(7, 26, 55, 0.2);
}

.prof-filter-btn.btn-featured-filter.is-active {
  background: var(--prof-gold-gradient);
  border-color: var(--prof-gold);
  color: #000;
  box-shadow: 0 4px 12px rgba(201, 154, 78, 0.3);
}

.prof-filter-reset {
  margin-left: auto;
  font-size: 0.8rem;
  font-weight: 700;
  color: #ef4444;
  text-decoration: none;
  cursor: pointer;
}

.prof-filter-reset:hover {
  text-decoration: underline;
}

/* --- RESULTADOS & CONTADOR --- */
.prof-meta-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.prof-count-text {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--prof-text-muted);
}

.prof-count-text b {
  color: var(--prof-navy);
}

/* --- GRILLA DE PROFESIONALES --- */
.prof-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.75rem;
  margin-bottom: 4rem;
}

@media (min-width: 1024px) {
  .prof-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1280px) {
  .prof-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* --- TARJETA DE PROFESIONAL (CARD PREMIUM) --- */
.prof-card {
  background: var(--prof-card-bg);
  border-radius: var(--prof-radius);
  border: 1px solid var(--prof-border);
  box-shadow: var(--prof-shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
  text-decoration: none;
  color: inherit;
}

.prof-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--prof-shadow-hover);
  border-color: #cbd5e1;
}

/* Tarjeta destacada */
.prof-card.is-featured {
  border: 2px solid transparent;
  background-image: linear-gradient(#fff, #fff), var(--prof-gold-gradient);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-shadow: 0 6px 24px rgba(201, 154, 78, 0.18);
}

.prof-card.is-featured:hover {
  box-shadow: 0 16px 40px rgba(201, 154, 78, 0.28);
}

/* Marco de la fotografía */
.prof-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3.8;
  overflow: hidden;
  background: #0f172a;
}

.prof-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.prof-card:hover .prof-card-media img {
  transform: scale(1.05);
}

.prof-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #071a37, #163868);
  color: rgba(255, 255, 255, 0.8);
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}

.prof-badge-featured {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  background: var(--prof-gold-gradient);
  color: #000;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  gap: 0.3rem;
  z-index: 2;
}

.prof-badge-verified {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  background: rgba(7, 26, 55, 0.85);
  backdrop-filter: blur(6px);
  color: #7dd3fc;
  border: 1px solid rgba(125, 211, 252, 0.3);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  z-index: 2;
}

/* Cuerpo de la tarjeta */
.prof-card-body {
  padding: 1.35rem 1.25rem 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.prof-card-profession {
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--prof-gold);
  margin-bottom: 0.35rem;
}

.prof-card.is-featured .prof-card-profession {
  color: #b8860b;
}

.prof-card-name {
  font-family: var(--serif, 'Libre Franklin', serif);
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--prof-navy);
  line-height: 1.25;
  margin: 0 0 0.4rem 0;
  transition: color 0.2s ease;
}

.prof-card:hover .prof-card-name {
  color: var(--prof-blue);
}

.prof-card-city {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  color: var(--prof-text-muted);
  margin-bottom: 0.85rem;
}

.prof-card-city svg, .prof-card-city i {
  color: #94a3b8;
}

.prof-card-specialties {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}

.prof-specialty-badge {
  font-size: 0.68rem;
  font-weight: 700;
  color: #334155;
  background: #f1f5f9;
  border-radius: 6px;
  padding: 0.2rem 0.5rem;
  white-space: nowrap;
}

.prof-card-footer {
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid var(--prof-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.prof-card-space {
  font-size: 0.72rem;
  color: #94a3b8;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 140px;
}

.prof-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--prof-navy);
  transition: all 0.2s ease;
}

.prof-card:hover .prof-card-btn {
  color: var(--prof-blue);
  transform: translateX(3px);
}

/* --- ESTADO VACÍO --- */
.prof-empty-state {
  text-align: center;
  padding: 4rem 1.5rem;
  background: #fff;
  border: 1px solid var(--prof-border);
  border-radius: var(--prof-radius);
  max-width: 600px;
  margin: 2rem auto 4rem auto;
}

.prof-empty-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.6;
}

.prof-empty-title {
  font-family: var(--serif, 'Libre Franklin', serif);
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--prof-navy);
  margin: 0 0 0.5rem 0;
}

.prof-empty-text {
  color: var(--prof-text-muted);
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
}

/* ==========================================================================
   PERFIL INDIVIDUAL DEL PROFESIONAL (/profesionales/{slug})
   ========================================================================== */
.prof-profile-page {
  padding: 2.5rem 0 5rem 0;
}

.prof-profile-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--prof-text-muted);
  margin-bottom: 2rem;
}

.prof-profile-breadcrumb a {
  color: var(--prof-blue);
  font-weight: 700;
  text-decoration: none;
}

.prof-profile-breadcrumb a:hover {
  text-decoration: underline;
}

.prof-profile-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}

@media (min-width: 900px) {
  .prof-profile-grid {
    grid-template-columns: 340px 1fr;
  }
}

/* Columna Lateral / Ficha de Foto & Contacto */
.prof-profile-sidebar {
  background: #fff;
  border-radius: var(--prof-radius-lg);
  border: 1px solid var(--prof-border);
  box-shadow: var(--prof-shadow);
  padding: 1.5rem;
  text-align: center;
  position: sticky;
  top: 90px;
}

.prof-profile-photo-wrap {
  position: relative;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  margin: 0 auto 1.5rem auto;
  padding: 5px;
  border: 3px solid var(--prof-gold);
  box-shadow: var(--prof-shadow-gold);
  overflow: hidden;
  background: #fff;
}

.prof-profile-photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.prof-profile-photo-placeholder {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.prof-profile-sidebar-name {
  font-family: var(--serif, 'Libre Franklin', serif);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--prof-navy);
  margin: 0 0 0.25rem 0;
}

.prof-profile-sidebar-profession {
  font-size: 0.9rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--prof-gold);
  margin-bottom: 0.5rem;
}

.prof-profile-sidebar-city {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  color: var(--prof-text-muted);
  margin-bottom: 1.5rem;
}

/* Botones de Contacto */
.prof-contact-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.prof-btn-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.85rem 1.25rem;
  border-radius: var(--prof-radius-sm);
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
  transition: all 0.25s ease;
}

.prof-btn-whatsapp {
  background: #25d366;
  color: #fff;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.3);
}

.prof-btn-whatsapp:hover {
  background: #1eb954;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.4);
}

.prof-btn-instagram {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  color: #fff;
  box-shadow: 0 4px 14px rgba(220, 39, 67, 0.25);
}

.prof-btn-instagram:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(220, 39, 67, 0.35);
}

.prof-btn-website {
  background: var(--prof-navy);
  color: #fff;
}

.prof-btn-website:hover {
  background: var(--prof-navy-light);
  transform: translateY(-2px);
}

.prof-btn-email {
  background: #f1f5f9;
  color: var(--prof-text-main);
  border: 1px solid var(--prof-border);
}

.prof-btn-email:hover {
  background: #e2e8f0;
  transform: translateY(-2px);
}

/* Columna Principal / Contenido & Bio */
.prof-profile-main {
  background: #fff;
  border-radius: var(--prof-radius-lg);
  border: 1px solid var(--prof-border);
  box-shadow: var(--prof-shadow);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.prof-profile-header-banner {
  border-bottom: 2px solid var(--prof-border-light);
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.prof-profile-header-meta h1 {
  font-family: var(--serif, 'Libre Franklin', serif);
  font-size: clamp(1.8rem, 3.5vw, 2.4rem);
  font-weight: 800;
  color: var(--prof-navy);
  margin: 0 0 0.35rem 0;
  line-height: 1.15;
}

.prof-profile-header-meta p {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--prof-gold);
  margin: 0;
}

.prof-profile-badges-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.prof-badge-tag {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  border: 1px solid var(--prof-border);
}

.prof-badge-tag.is-featured-tag {
  background: var(--prof-gold-gradient);
  color: #000;
  border-color: var(--prof-gold);
}

/* Secciones de Contenido */
.prof-section-block {
  margin-bottom: 2.5rem;
}

.prof-section-block:last-child {
  margin-bottom: 0;
}

.prof-section-title {
  font-family: var(--serif, 'Libre Franklin', serif);
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--prof-navy);
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.prof-section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--prof-border-light);
  margin-left: 0.5rem;
}

.prof-bio-text {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #334155;
}

.prof-specialties-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.prof-specialty-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  border-radius: var(--prof-radius-sm);
  background: #f8fafc;
  border: 1px solid var(--prof-border);
  color: var(--prof-navy);
  font-weight: 700;
  font-size: 0.88rem;
}

.prof-specialty-item::before {
  content: '✓';
  color: var(--prof-teal);
  font-weight: 900;
}

/* Espacio Comercial Informativo */
.prof-space-card {
  background: linear-gradient(135deg, rgba(7, 26, 55, 0.04), rgba(201, 154, 78, 0.08));
  border: 1px dashed rgba(201, 154, 78, 0.4);
  border-radius: var(--prof-radius);
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.prof-space-icon {
  font-size: 1.8rem;
}

.prof-space-details strong {
  display: block;
  font-size: 0.95rem;
  color: var(--prof-navy);
  margin-bottom: 0.2rem;
}

.prof-space-details small {
  display: block;
  color: var(--prof-text-muted);
  font-size: 0.8rem;
}

/* Profesionales Relacionados */
.prof-related-section {
  margin-top: 4.5rem;
  padding-top: 3rem;
  border-top: 2px solid var(--prof-border-light);
}

.prof-related-heading {
  font-family: var(--serif, 'Libre Franklin', serif);
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--prof-navy);
  margin: 0 0 1.5rem 0;
  text-align: center;
}

/* Responsive modal drawer for filters on mobile */
.prof-mobile-filter-trigger {
  display: none;
  width: 100%;
  padding: 0.75rem;
  background: var(--prof-navy);
  color: #fff;
  border: none;
  border-radius: var(--prof-radius-sm);
  font-weight: 800;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

@media (max-width: 768px) {
  .prof-search-row {
    grid-template-columns: 1fr;
  }
  .prof-mobile-filter-trigger {
    display: flex;
  }
  .prof-filters-pill-row {
    display: none;
  }
  .prof-filters-pill-row.is-open {
    display: flex;
  }
}

/* ========================================================================== 
   REDISEÑO PÚBLICO 2026 - DIRECTORIO PREMIUM
   ========================================================================== */

:root {
  --prof-navy: #071a37;
  --prof-navy-deep: #031126;
  --prof-navy-light: #12345a;
  --prof-blue: #0875d1;
  --prof-green: #128257;
  --prof-red: #ca3346;
  --prof-gold: #b89043;
  --prof-bg: #f3f6f8;
  --prof-card-bg: #ffffff;
  --prof-border: #dce3e9;
  --prof-border-light: #edf1f4;
  --prof-text-main: #122033;
  --prof-text-muted: #647184;
  --prof-radius-sm: 6px;
  --prof-radius: 8px;
  --prof-radius-lg: 8px;
  --prof-shadow: 0 10px 28px rgba(7, 26, 55, .08);
  --prof-shadow-hover: 0 20px 42px rgba(7, 26, 55, .15);
  --prof-shadow-gold: 0 10px 26px rgba(184, 144, 67, .18);
}

.prof-directory-page {
  background: var(--prof-bg);
  color: var(--prof-text-main);
  padding-bottom: clamp(3.5rem, 7vw, 6.5rem);
}

.prof-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(245px, 24vw, 280px);
  overflow: hidden;
  background: var(--prof-navy-deep);
  color: #fff;
}

.prof-hero-image,
.prof-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.prof-hero-image {
  z-index: -3;
  display: block;
  object-fit: cover;
  object-position: center 42%;
}

.prof-hero-shade {
  z-index: -2;
  background: linear-gradient(90deg, rgba(3, 14, 31, .94) 0%, rgba(3, 14, 31, .78) 36%, rgba(3, 14, 31, .2) 70%, rgba(3, 14, 31, .08) 100%);
}

.prof-hero-inner {
  display: flex;
  align-items: center;
  padding-block: 1.25rem 1.5rem;
}

.prof-hero-glass {
  width: min(610px, 66%);
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 8px;
  background: rgba(5, 21, 44, .58);
  box-shadow: 0 24px 55px rgba(0, 0, 0, .22);
  backdrop-filter: blur(14px) saturate(112%);
  -webkit-backdrop-filter: blur(14px) saturate(112%);
}

.prof-hero-kicker {
  display: block;
  margin-bottom: .35rem;
  color: #8bd9b9;
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.prof-hero h1 {
  max-width: 100%;
  margin: 0 0 .45rem;
  color: #fff;
  font: 800 clamp(2rem, 4vw, 3.2rem)/1 var(--serif, "Libre Franklin", serif);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.prof-hero-glass > p {
  max-width: 510px;
  margin: 0;
  color: #d9e5ef;
  font-size: clamp(.82rem, 1.2vw, .95rem);
  line-height: 1.45;
}

.prof-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: .75rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(255, 255, 255, .17);
}

.prof-hero-stats div {
  min-width: 0;
  padding-inline: 1rem;
  border-left: 1px solid rgba(255, 255, 255, .14);
}

.prof-hero-stats div:first-child {
  padding-left: 0;
  border-left: 0;
}

.prof-hero-stats strong,
.prof-hero-stats span {
  display: block;
}

.prof-hero-stats strong {
  color: #fff;
  font-size: 1.05rem;
  line-height: 1;
}

.prof-hero-stats span {
  margin-top: .2rem;
  overflow: hidden;
  color: #b8c8d7;
  font-size: .68rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prof-hero-accent {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr .28fr;
  height: 4px;
}

.prof-hero-accent span:nth-child(1) { background: var(--prof-blue); }
.prof-hero-accent span:nth-child(2) { background: var(--prof-green); }
.prof-hero-accent span:nth-child(3) { background: var(--prof-red); }
.prof-hero-accent span:nth-child(4) { background: var(--prof-gold); }

.prof-directory-content {
  padding-top: clamp(1.8rem, 4vw, 3rem);
}

.prof-directory-page .prof-toolbar {
  gap: 0;
  margin: 0 0 clamp(2.5rem, 5vw, 4.25rem);
  padding: clamp(1rem, 2.7vw, 1.6rem);
  border: 1px solid var(--prof-border);
  border-top: 3px solid var(--prof-navy);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--prof-shadow);
}

.prof-toolbar-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1rem;
}

.prof-toolbar-heading span,
.prof-results-kicker {
  color: var(--prof-green);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.prof-toolbar-heading h2 {
  margin: .18rem 0 0;
  color: var(--prof-navy);
  font: 800 clamp(1.15rem, 2.2vw, 1.55rem)/1.2 var(--serif, "Libre Franklin", serif);
  letter-spacing: 0;
}

.prof-toolbar-heading p {
  margin: 0;
  color: var(--prof-text-muted);
  font-size: .8rem;
}

.prof-toolbar-heading b { color: var(--prof-navy); }

.prof-directory-page .prof-search-row {
  grid-template-columns: minmax(250px, 1.5fr) repeat(3, minmax(155px, .72fr));
  gap: .65rem;
}

.prof-directory-page .prof-search-input,
.prof-directory-page .prof-select {
  height: 46px;
  border-color: #d7e0e7;
  border-radius: 6px;
  background: #f7f9fb;
  color: var(--prof-text-main);
  font-size: .85rem;
}

.prof-directory-page .prof-search-input {
  padding: .75rem 1rem .75rem 2.75rem;
}

.prof-directory-page .prof-search-icon {
  left: .95rem;
  color: var(--prof-blue);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
}

.prof-directory-page .prof-select { width: 100%; }

.prof-directory-page .prof-search-input:focus,
.prof-directory-page .prof-select:focus {
  border-color: var(--prof-blue);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(8, 117, 209, .12);
}

.prof-directory-page .prof-select-arrow {
  color: var(--prof-navy);
  font-size: .9rem;
}

.prof-directory-page .prof-filters-pill-row {
  gap: .45rem;
  margin-top: 1rem;
  padding-top: 1rem;
}

.prof-directory-page .prof-pill-label {
  color: var(--prof-text-muted);
  letter-spacing: 0;
}

.prof-directory-page .prof-filter-btn {
  min-height: 30px;
  padding: .35rem .7rem;
  border-radius: 5px;
  background: #fff;
  color: #58677a;
  font-size: .72rem;
}

.prof-directory-page .prof-filter-btn:hover {
  border-color: var(--prof-green);
  background: #f1f8f5;
  color: #0d6846;
}

.prof-directory-page .prof-filter-btn.is-active {
  border-color: var(--prof-navy);
  background: var(--prof-navy);
  color: #fff;
  box-shadow: none;
}

.prof-directory-page .prof-filter-btn.btn-featured-filter.is-active {
  border-color: #a78339;
  background: #fff9e9;
  color: #795c1f;
  box-shadow: none;
}

.prof-directory-page .prof-filter-reset {
  color: var(--prof-red);
}

.prof-results-heading {
  display: flex;
  align-items: end;
  gap: 1.25rem;
  margin-bottom: 1.4rem;
}

.prof-results-heading h2 {
  margin: .25rem 0 0;
  color: var(--prof-navy);
  font: 800 clamp(1.55rem, 3vw, 2.15rem)/1.08 var(--serif, "Libre Franklin", serif);
  letter-spacing: 0;
}

.prof-results-rule {
  flex: 1;
  height: 1px;
  margin-bottom: .28rem;
  background: var(--prof-border);
}

.prof-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1rem, 2.3vw, 1.55rem);
}

@media (min-width: 1280px) {
  .prof-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.prof-card {
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--prof-border);
  border-radius: 8px;
  background: var(--prof-card-bg);
  background-image: none;
  box-shadow: 0 7px 22px rgba(7, 26, 55, .07);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.prof-card:hover {
  transform: translateY(-4px);
  border-color: #b9c6d0;
  box-shadow: var(--prof-shadow-hover);
}

.prof-card.is-featured {
  border: 1px solid rgba(184, 144, 67, .72);
  background: #fff;
  background-image: none;
  box-shadow: 0 8px 24px rgba(119, 89, 30, .1);
}

.prof-card.is-featured:hover {
  box-shadow: 0 20px 42px rgba(119, 89, 30, .16);
}

.prof-card-accent {
  display: grid;
  grid-template-columns: 1.2fr 1fr .8fr;
  width: 100%;
  height: 3px;
  flex: 0 0 3px;
}

.prof-card-accent span:nth-child(1) { background: var(--prof-blue); }
.prof-card-accent span:nth-child(2) { background: var(--prof-green); }
.prof-card-accent span:nth-child(3) { background: var(--prof-red); }

.prof-card-media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  flex: 0 0 auto;
  overflow: hidden;
  background: var(--prof-navy);
}

.prof-card-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 30%;
  background: linear-gradient(180deg, transparent, rgba(3, 14, 31, .24));
  pointer-events: none;
}

.prof-card-media img {
  display: block;
  object-position: center 24%;
}

.prof-card:hover .prof-card-media img { transform: scale(1.035); }

.prof-card-placeholder {
  background: var(--prof-navy-light);
  color: rgba(255, 255, 255, .9);
  font-size: 2.45rem;
  letter-spacing: 0;
}

.prof-badge-featured,
.prof-badge-verified {
  z-index: 2;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  letter-spacing: 0;
}

.prof-badge-featured {
  border: 1px solid rgba(255, 243, 202, .72);
  background: #b38b3d;
  color: #fff;
}

.prof-badge-verified {
  border-color: rgba(170, 229, 204, .44);
  background: rgba(5, 31, 50, .9);
  color: #a8e5ca;
}

.prof-card-body {
  min-width: 0;
  padding: 1.15rem 1.15rem 1rem;
}

.prof-directory-page .prof-card-body {
  display: grid;
  grid-template-rows: 1.1rem minmax(3.05rem, auto) 1.45rem minmax(4.55rem, auto) 3rem;
  flex: 1;
  align-content: start;
}

.prof-card-profession {
  display: block;
  overflow: hidden;
  margin: 0;
  color: var(--prof-green);
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prof-card.is-featured .prof-card-profession { color: #96712b; }

.prof-card-name {
  display: -webkit-box;
  align-self: start;
  overflow: hidden;
  margin: .38rem 0 .32rem;
  color: var(--prof-navy);
  font: 800 clamp(1.08rem, 1.7vw, 1.27rem)/1.28 var(--serif, "Libre Franklin", serif);
  letter-spacing: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.prof-card-name a { color: inherit; text-decoration: none; }
.prof-card:hover .prof-card-name { color: var(--prof-blue); }

.prof-card-city {
  align-self: center;
  min-width: 0;
  margin: 0;
  color: var(--prof-text-muted);
  font-size: .78rem;
}

.prof-card-city > span:first-child {
  color: var(--prof-red);
  font-size: .48rem;
}

.prof-card-city > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prof-card-specialties {
  align-content: start;
  align-self: start;
  max-height: 4.3rem;
  overflow: hidden;
  gap: .35rem;
  margin: .7rem 0 0;
}

.prof-specialty-badge {
  max-width: 100%;
  overflow: hidden;
  border: 1px solid #dfe6eb;
  border-radius: 4px;
  background: #f5f7f9;
  color: #435166;
  font-size: .66rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prof-specialty-badge.is-count {
  border-color: rgba(8, 117, 209, .2);
  background: rgba(8, 117, 209, .07);
  color: var(--prof-blue);
}

.prof-specialty-badge.is-neutral { color: #7c8795; }

.prof-card-footer {
  align-self: end;
  min-width: 0;
  min-height: 3rem;
  margin: 0;
  padding-top: .78rem;
}

.prof-card-space {
  max-width: 52%;
  color: #7b8796;
  font-size: .68rem;
}

.prof-card-btn {
  flex: 0 0 auto;
  color: var(--prof-navy);
  font-size: .78rem;
  text-decoration: none;
}

.prof-card-btn span { color: var(--prof-green); }
.prof-card:hover .prof-card-btn { color: var(--prof-blue); }

.prof-directory-page .prof-empty-state {
  border-radius: 8px;
}

.prof-mobile-filter-trigger b {
  font-size: 1rem;
  line-height: 1;
}

@media (max-width: 1050px) {
  .prof-directory-page .prof-search-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .prof-directory-page .prof-search-input-wrap { grid-column: 1 / -1; }
  .prof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .prof-hero {
    min-height: 280px;
    align-items: end;
  }

  .prof-hero-image { object-position: 68% center; }

  .prof-hero-shade {
    background: linear-gradient(180deg, rgba(3, 14, 31, .12) 8%, rgba(3, 14, 31, .56) 48%, rgba(3, 14, 31, .95) 100%);
  }

  .prof-hero-inner {
    align-items: end;
    padding-block: 2.5rem 1rem;
  }

  .prof-hero-glass {
    width: 100%;
    padding: .9rem 1rem;
    background: rgba(4, 19, 40, .7);
  }

  .prof-hero h1 { font-size: clamp(2rem, 10vw, 2.65rem); }
  .prof-hero-glass > p { font-size: .78rem; line-height: 1.4; }

  .prof-hero-stats {
    margin-top: .6rem;
    padding-top: .5rem;
  }

  .prof-hero-stats div { padding-inline: .65rem; }
  .prof-hero-stats strong { font-size: 1.08rem; }
  .prof-hero-stats span { font-size: .59rem; }

  .prof-toolbar-heading {
    align-items: start;
    flex-direction: column;
    gap: .4rem;
  }

  .prof-directory-page .prof-search-row { grid-template-columns: 1fr; }
  .prof-directory-page .prof-search-input-wrap { grid-column: auto; }
  .prof-directory-page .prof-mobile-filter-trigger { margin-top: .7rem; }

  .prof-directory-page .prof-filters-pill-row {
    max-height: 230px;
    overflow-y: auto;
  }

  .prof-results-heading { align-items: start; }
  .prof-results-rule { margin-top: 1.4rem; }
  .prof-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .prof-card,
  .prof-card-media img,
  .prof-card-btn { transition: none; }

  .prof-card:hover,
  .prof-card:hover .prof-card-media img,
  .prof-card:hover .prof-card-btn { transform: none; }
}

/* Red profesional privada · 2026 */
.professional-network-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin:-1.9rem 0 1.7rem; position:relative; z-index:4; }
.professional-network-shortcuts a,.professional-network-shortcuts button { display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto auto; column-gap:.75rem; align-items:center; min-height:76px; padding:.8rem 1rem; border:1px solid #dce7ee; border-radius:15px; background:rgba(255,255,255,.96); color:#112d43; box-shadow:0 12px 32px rgba(7,26,55,.09); text-align:left; text-decoration:none; cursor:pointer; font:inherit; }
.professional-network-shortcuts span { grid-row:1/3; display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#edf8f4; color:#087856; font-size:1.15rem; }
.professional-network-shortcuts b { align-self:end; font-size:.78rem; }.professional-network-shortcuts small { align-self:start; color:#708292; font-size:.62rem; }
.professional-network-shortcuts a:hover,.professional-network-shortcuts button:hover { border-color:#89c7b1; transform:translateY(-2px); }
.professional-category-directory { margin:1.5rem 0 2rem; padding:clamp(1rem,3vw,1.8rem); border:1px solid #dce8ed; border-radius:22px; background:linear-gradient(145deg,#fff,#f5faf8); box-shadow:0 18px 50px rgba(7,26,55,.06); }
.professional-category-directory>header { display:flex; justify-content:space-between; gap:1rem; align-items:end; margin-bottom:1.1rem; }.professional-category-directory>header span,.professional-card-kicker { color:#07805b; font-size:.63rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.professional-category-directory h2 { margin:.25rem 0 0; color:#071a37; font:800 clamp(1.35rem,3vw,2rem)/1.1 var(--serif,serif); }.professional-category-directory>header p { max-width:300px; margin:0; color:#6b7e8d; font-size:.7rem; }
.professional-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }.professional-category-grid button { display:grid; grid-template-columns:42px 1fr auto; gap:.7rem; align-items:center; min-height:84px; padding:.8rem; border:1px solid #dde7eb; border-radius:13px; background:#fff; color:#17334a; text-align:left; cursor:pointer; }.professional-category-grid button:hover { border-color:#80bfa9; box-shadow:0 9px 22px rgba(7,90,63,.1); }.professional-category-grid i { display:grid; place-items:center; width:42px;height:42px;border-radius:12px;background:#eef7ff;color:#0969b8;font-style:normal;font-weight:900; }.professional-category-grid b,.professional-category-grid small { display:block; }.professional-category-grid b { font-size:.76rem; }.professional-category-grid small { margin-top:.25rem;color:#718190;font-size:.58rem;line-height:1.35; }.professional-category-grid em { color:#708291;font-size:.57rem;font-style:normal;white-space:nowrap; }.professional-category-grid strong { color:#0b8f72; }
.prof-hero-cta.is-consultation { border:1px solid rgba(255,255,255,.28); background:linear-gradient(135deg,#0aa274,#087552); }.prof-btn-private-consultation { margin-top:1rem!important; border:0!important; background:linear-gradient(135deg,#0a966d,#06704e)!important; color:#fff!important; cursor:pointer; }.prof-private-contact-note { display:block;margin:.45rem 0 .8rem;color:#64798b;text-align:center;font-size:.63rem; }.is-verified-tag { border-color:#a8d7c5!important;background:#ebf9f3!important;color:#116544!important; }

body.is-professional-consultation-open { overflow:hidden; }.professional-consultation-modal[hidden] { display:none!important; }.professional-consultation-modal { position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:1rem; }.professional-consultation-backdrop { position:absolute;inset:0;border:0;background:rgba(2,12,27,.82);backdrop-filter:blur(9px); }.professional-consultation-panel { position:relative;width:min(880px,100%);max-height:min(94vh,900px);overflow:auto;border:1px solid rgba(210,226,235,.8);border-radius:24px;background:#fff;color:#132e43;box-shadow:0 35px 100px rgba(0,10,24,.5); }.professional-consultation-panel::before { content:"";display:block;height:6px;background:linear-gradient(90deg,#0aa274,#0879d6 66%,#d4aa53); }.professional-consultation-close { position:absolute;right:18px;top:18px;z-index:2;width:38px;height:38px;border:1px solid #d5e2e9;border-radius:50%;background:#fff;color:#4e6273;font-size:1.4rem;cursor:pointer; }.professional-consultation-header { display:grid;grid-template-columns:56px 1fr;gap:1rem;padding:1.7rem 4.3rem 1.2rem 1.7rem;background:radial-gradient(circle at 10% 0,rgba(10,162,116,.11),transparent 42%),#f9fcfd; }.professional-consultation-brand { grid-row:1/3;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(145deg,#071a37,#096cdf);color:#fff;font-weight:950;box-shadow:0 12px 25px rgba(7,26,55,.22); }.professional-consultation-header div>span { color:#087a59;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.professional-consultation-header h2 { margin:.25rem 0 0;color:#071a37;font:800 clamp(1.45rem,3vw,2.15rem)/1.05 var(--serif,serif); }.professional-consultation-header>p { grid-column:2;margin:0;color:#627687;font-size:.72rem; }
.professional-consultation-progress { position:relative;height:32px;padding:.65rem 1.7rem;background:#f5f8fa;color:#63798b;text-align:right;font-size:.62rem;overflow:hidden; }.professional-consultation-progress::before { content:"";position:absolute;left:1.7rem;right:1.7rem;top:15px;height:3px;border-radius:4px;background:#dfe9ee; }.professional-consultation-progress i { position:absolute;left:1.7rem;top:15px;width:20%;height:3px;border-radius:4px;background:#0a9a6e;transition:width .25s; }.professional-consultation-progress span { position:relative;padding-left:.5rem;background:#f5f8fa; }.professional-consultation-modal form { padding:1.25rem 1.7rem 1.5rem; }.professional-consultation-step { display:grid;gap:1rem;margin:0;padding:0;border:0; }.professional-consultation-step[hidden] { display:none; }.professional-consultation-step legend { width:100%;margin-bottom:.25rem;color:#071a37;font:800 clamp(1.15rem,2.4vw,1.6rem)/1.15 var(--serif,serif); }.professional-consultation-step legend span { display:block;margin-bottom:.25rem;color:#0a8f67;font:900 .6rem/1.2 system-ui;letter-spacing:.12em;text-transform:uppercase; }.professional-consultation-step>p { margin:-.5rem 0 0;color:#6d7e8d;font-size:.72rem; }.professional-consultation-step label { display:grid;gap:.4rem;color:#40576a;font-size:.7rem;font-weight:800; }.professional-consultation-step input:not([type=checkbox]):not([type=radio]),.professional-consultation-step select,.professional-consultation-step textarea { width:100%;min-height:46px;padding:.72rem .8rem;border:1px solid #cbd9e2;border-radius:10px;background:#fff;color:#102b40;font:inherit;outline:0; }.professional-consultation-step textarea { min-height:150px;resize:vertical;line-height:1.55; }.professional-consultation-step input:focus,.professional-consultation-step select:focus,.professional-consultation-step textarea:focus { border-color:#087bc6;box-shadow:0 0 0 3px rgba(8,123,198,.11); }
.professional-scope-options { display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem; }.professional-scope-options label { position:relative; }.professional-scope-options input { position:absolute;opacity:0; }.professional-scope-options span { display:flex;align-items:center;min-height:65px;padding:.8rem;border:1px solid #d5e1e7;border-radius:12px;background:#f9fbfc;cursor:pointer; }.professional-scope-options input:checked+span { border-color:#0a956b;background:#ecf9f4;color:#096346;box-shadow:inset 0 0 0 1px #0a956b; }.professional-consultation-counter { display:flex;justify-content:space-between;color:#718392;font-size:.61rem; }.professional-consultation-counter i { font-style:normal; }.professional-consultation-warning,.professional-privacy-card { display:flex;gap:.8rem;padding:.85rem 1rem;border:1px solid #ead7a6;border-radius:11px;background:#fffaf0;color:#6f5722;font-size:.66rem; }.professional-consultation-warning strong,.professional-consultation-warning span { display:block; }.professional-consultation-files { padding:.9rem;border:1px dashed #9eb9c9;border-radius:11px;background:#f7fafc; }.professional-consultation-files input { padding:0!important;border:0!important;min-height:auto!important; }.professional-file-safety { color:#7b6350!important;font-size:.62rem!important; }.professional-contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:.85rem; }.professional-privacy-card { border-color:#bcdccd;background:#f0faf6;color:#285f4b; }.professional-consultation-summary { display:grid;grid-template-columns:1fr 1fr;gap:.65rem; }.professional-consultation-summary>div { padding:.75rem;border:1px solid #e0e8ed;border-radius:10px;background:#f8fafb; }.professional-consultation-summary .is-wide { grid-column:1/-1; }.professional-consultation-summary span,.professional-consultation-summary strong { display:block; }.professional-consultation-summary span { color:#718494;font-size:.58rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em; }.professional-consultation-summary strong,.professional-consultation-summary p { margin:.25rem 0 0;color:#18354b;font-size:.75rem; }.professional-consultation-consent { grid-template-columns:auto 1fr!important;align-items:start; }.professional-consultation-consent input { width:19px;height:19px;accent-color:#0a9369; }.professional-consultation-legal { padding:.75rem;border-radius:9px;background:#f5f7f8;color:#667a89!important;font-size:.62rem!important; }.professional-consultation-actions { display:flex;align-items:center;gap:.65rem;margin-top:1.3rem;padding-top:1rem;border-top:1px solid #e6edf1; }.professional-consultation-actions>span { flex:1; }.professional-consultation-actions button { min-height:45px;padding:.65rem 1.1rem;border:1px solid #cddbe3;border-radius:999px;background:#fff;color:#40586c;font:800 .72rem/1 system-ui;cursor:pointer; }.professional-consultation-actions .is-next,.professional-consultation-actions .is-submit { border:0;background:linear-gradient(135deg,#0a986d,#087252);color:#fff;box-shadow:0 10px 24px rgba(5,112,79,.2); }.professional-consultation-login,.professional-consultation-unavailable { padding:3rem 2rem;text-align:center; }.professional-consultation-login>span { display:grid;place-items:center;width:58px;height:58px;margin:auto;border-radius:50%;background:#eef8f4;color:#07805b;font-size:1.5rem; }.professional-consultation-login h3 { margin:.8rem 0 .4rem;color:#071a37; }.professional-consultation-login p { max-width:560px;margin:0 auto 1rem;color:#657988; }.professional-consultation-login div { display:flex;justify-content:center;gap:.6rem; }.professional-consultation-login a { padding:.7rem 1rem;border-radius:999px;background:#087b59;color:#fff;text-decoration:none;font-weight:850; }.professional-consultation-login a.is-secondary { border:1px solid #cad9e2;background:#fff;color:#23445d; }.professional-consultation-login small { display:block;margin-top:1rem;color:#718392; }.professional-consultation-error,.professional-network-notice { margin:1rem;padding:.8rem 1rem;border:1px solid #e9b7bd;border-radius:10px;background:#fff2f3;color:#85313d;font-size:.74rem; }.professional-consultation-error b,.professional-consultation-error span { display:block; }.professional-consultation-honeypot { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }

.professional-private-page { min-height:70vh;padding:1.5rem 0 4rem;background:linear-gradient(180deg,#eef4f7 0,#f7f9fa 300px,#fff 100%);color:#153249; }.professional-private-hero { display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-block:2rem; }.professional-private-eyebrow { color:#087d5b;font-size:.65rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase; }.professional-private-hero h1,.professional-detail-header h1 { margin:.35rem 0;color:#071a37;font:850 clamp(1.8rem,4vw,3rem)/1.02 var(--serif,serif); }.professional-private-hero p,.professional-detail-header p { max-width:660px;margin:0;color:#637887;font-size:.78rem;line-height:1.55; }.professional-private-primary,.professional-private-secondary,.professional-private-empty button,.professional-message-form button,.professional-decision-card button { display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1rem;border:0;border-radius:999px;background:linear-gradient(135deg,#0a956c,#086d4e);color:#fff;font:850 .72rem/1 system-ui;text-decoration:none;cursor:pointer; }.professional-private-secondary { border:1px solid #c9d9e1;background:#fff;color:#27475d; }.professional-private-layout { display:grid;gap:1rem; }.professional-private-nav { display:flex;gap:.5rem;overflow:auto;padding:.45rem;border:1px solid #dae6eb;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(7,26,55,.05); }.professional-private-nav a { padding:.65rem .85rem;border-radius:10px;color:#536c7d;font-size:.68rem;font-weight:850;text-decoration:none;white-space:nowrap; }.professional-private-nav a.is-active,.professional-private-nav a:hover { background:#edf8f4;color:#087050; }.professional-network-notice { margin:0; }.professional-network-notice.is-success { border-color:#aedbc7;background:#eefaf4;color:#146144; }.professional-network-notice.is-warning { border-color:#ead49e;background:#fff9ea;color:#71571a; }.professional-private-empty,.professional-paywall { padding:clamp(2rem,6vw,4rem);border:1px solid #dce7ec;border-radius:20px;background:#fff;text-align:center;box-shadow:0 20px 50px rgba(7,26,55,.07); }.professional-private-empty>span { display:block;color:#0b966d;font-size:2rem; }.professional-private-empty h2,.professional-paywall h2 { margin:.6rem 0;color:#071a37; }.professional-private-empty p,.professional-paywall p { margin:0 auto 1rem;max-width:580px;color:#667a89; }.professional-consultation-list,.professional-opportunity-list { display:grid;gap:.75rem; }.professional-consultation-list-item,.professional-opportunity-list article,.professional-private-card,.professional-decision-card { padding:1rem 1.15rem;border:1px solid #dbe6eb;border-radius:16px;background:#fff;box-shadow:0 9px 28px rgba(7,26,55,.055); }.professional-consultation-list-item>div,.professional-opportunity-list article>div,.professional-consultation-list-item footer,.professional-opportunity-list footer { display:flex;align-items:center;justify-content:space-between;gap:.8rem; }.professional-consultation-list-item h2,.professional-opportunity-list h2 { margin:.65rem 0 .35rem;font-size:1rem; }.professional-consultation-list-item h2 a { color:#102e45;text-decoration:none; }.professional-consultation-list-item p,.professional-opportunity-list p { margin:0;color:#647887;font-size:.72rem;line-height:1.5; }.professional-consultation-list-item footer,.professional-opportunity-list footer { margin-top:.85rem;padding-top:.7rem;border-top:1px solid #e6edf0;color:#6c8090;font-size:.64rem; }.professional-consultation-list-item footer a,.professional-opportunity-list footer a { color:#087554;font-weight:900;text-decoration:none; }.professional-status { display:inline-flex;padding:.35rem .55rem;border-radius:999px;background:#edf3f6;color:#486275;font-size:.57rem;font-weight:950;letter-spacing:.03em;text-transform:uppercase; }.professional-status.is-nueva,.professional-status.is-enviada,.professional-status.is-interesado { background:#e8f7f1;color:#087151; }.professional-status.is-en_revision { background:#fff5db;color:#80611c; }.professional-status.is-en_conversacion,.professional-status.is-respondida { background:#eaf3ff;color:#125d9d; }.professional-status.is-moderada,.professional-status.is-cancelada { background:#fff0f2;color:#9b3241; }
.professional-detail-header { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0; }.professional-detail-grid { display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:1rem; }.professional-private-card h2 { margin:.45rem 0;font-size:1.05rem;color:#0b2b42; }.professional-detail-description { color:#2d485b;font-size:.8rem;line-height:1.75; }.professional-private-card dl { display:grid;grid-template-columns:1fr 1fr;gap:.6rem; }.professional-private-card dl div { padding:.65rem;border-radius:9px;background:#f6f9fa; }.professional-private-card dt { color:#718392;font-size:.56rem;text-transform:uppercase;font-weight:900; }.professional-private-card dd { margin:.2rem 0 0;color:#263f52;font-size:.7rem; }.professional-security-card b { color:#0b976d;font-size:1.4rem; }.professional-security-card p,.professional-security-card small { color:#637888;font-size:.7rem;line-height:1.55; }.professional-file-list { display:grid;gap:.4rem; }.professional-file-list a { padding:.65rem;border:1px solid #dce7eb;border-radius:9px;color:#166a51;background:#f6fbf9;font-size:.68rem;text-decoration:none; }.professional-inline-empty { padding:1rem;border-radius:10px;background:#f6f9fa;color:#687c8b;font-size:.72rem; }.professional-response { margin-top:.8rem;padding:1rem;border:1px solid #dce8ed;border-radius:12px; }.professional-response header { display:flex;justify-content:space-between;gap:1rem; }.professional-response header strong,.professional-response header span { display:block; }.professional-response header span,.professional-response small { color:#738493;font-size:.6rem; }.professional-response header a { color:#087454;font-size:.65rem;font-weight:850; }.professional-response p,.professional-message p { color:#334f62;font-size:.73rem;line-height:1.55; }.professional-message { max-width:82%;margin:.65rem 0;padding:.75rem .9rem;border-radius:12px;background:#f1f5f7; }.professional-message.is-user { margin-left:auto;background:#eaf7f2; }.professional-message strong,.professional-message small { font-size:.6rem; }.professional-message small { color:#718493; }.professional-message-form { display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2eaee; }.professional-message-form label { display:grid;gap:.35rem;color:#3c5669;font-size:.67rem;font-weight:850; }.professional-message-form select,.professional-message-form textarea { width:100%;padding:.7rem;border:1px solid #cad9e2;border-radius:9px;font:inherit; }.professional-message-form textarea { min-height:110px;resize:vertical; }.professional-message-form button { justify-self:start; }.professional-paywall { background:radial-gradient(circle at 50% 0,rgba(9,144,102,.12),transparent 38%),#fff; }.professional-paywall>span { display:inline-flex;padding:.4rem .65rem;border-radius:999px;background:#071a37;color:#e9c876;font-size:.62rem;font-weight:950;letter-spacing:.12em; }.professional-paywall a { display:inline-flex;padding:.75rem 1rem;border-radius:999px;background:#071a37;color:#fff;text-decoration:none;font-size:.72rem;font-weight:900; }.professional-paywall small { display:block;margin-top:.8rem;color:#728493; }.professional-metrics { display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem; }.professional-metrics article { padding:1rem;border:1px solid #dae6eb;border-radius:14px;background:#fff; }.professional-metrics strong,.professional-metrics span { display:block; }.professional-metrics strong { color:#087552;font-size:1.6rem; }.professional-metrics span { color:#657a89;font-size:.62rem; }.professional-decision-card { text-align:center; }.professional-decision-card>div { display:flex;justify-content:center;gap:.6rem; }.professional-decision-card .is-muted { border:1px solid #cedbe2;background:#fff;color:#526979; }

.admin-prof-network { color:#153148; }.admin-prof-network-head { display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem;padding:1.3rem;border-radius:17px;background:linear-gradient(135deg,#071a37,#0b4160);color:#fff; }.admin-prof-network-head span { color:#75dfb7;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.admin-prof-network-head h1 { margin:.25rem 0;font-size:1.7rem; }.admin-prof-network-head p { margin:0;color:#bed0dc;font-size:.7rem; }.admin-prof-network-head nav { display:flex;gap:.5rem; }.admin-prof-network-head a { color:#fff;font-size:.68rem;font-weight:850;text-decoration:none; }.admin-prof-network-head nav a { padding:.6rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:9px; }.admin-prof-notice { margin-bottom:1rem;padding:.75rem;border-radius:9px;background:#eef9f4;color:#166044;font-size:.72rem; }.admin-prof-notice.is-error { background:#fff0f2;color:#8f2f3e; }.admin-prof-stats { display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem;margin-bottom:1rem; }.admin-prof-stats article { padding:.85rem;border:1px solid #dbe6eb;border-radius:12px;background:#fff; }.admin-prof-stats strong,.admin-prof-stats span { display:block; }.admin-prof-stats strong { font-size:1.45rem;color:#087451; }.admin-prof-stats span { color:#6a7d8c;font-size:.6rem; }.admin-prof-dashboard-grid { display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:1rem; }.admin-prof-panel { padding:1rem;border:1px solid #dbe6eb;border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(7,26,55,.04); }.admin-prof-panel h2 { margin:0 0 .8rem;color:#102d43;font-size:1rem; }.admin-prof-filters { display:flex;gap:.5rem;margin-bottom:.75rem; }.admin-prof-filters select,.admin-prof-filters button,.admin-prof-panel form input,.admin-prof-panel form select,.admin-prof-panel form textarea,.admin-prof-network-config input,.admin-prof-network-config select { min-height:40px;padding:.6rem;border:1px solid #cbd9e1;border-radius:8px;background:#fff;font:inherit;font-size:.68rem; }.admin-prof-filters button,.admin-prof-panel form button { border:0;background:#087652;color:#fff;font-weight:850;cursor:pointer; }.admin-prof-table-wrap { overflow:auto; }.admin-prof-table-wrap table { width:100%;border-collapse:collapse;font-size:.67rem; }.admin-prof-table-wrap th,.admin-prof-table-wrap td { padding:.7rem;border-bottom:1px solid #e4ecef;text-align:left;vertical-align:top; }.admin-prof-table-wrap th { color:#6d808f;font-size:.57rem;text-transform:uppercase; }.admin-prof-table-wrap td small { display:block;color:#718493; }.admin-prof-table-wrap a { color:#087253;font-weight:850; }.admin-demand-row { display:flex;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid #e6edef;font-size:.69rem; }.admin-prof-detail-grid { display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.8fr);gap:1rem; }.admin-prof-detail-grid main,.admin-prof-detail-grid aside { display:grid;align-content:start;gap:1rem; }.admin-prof-description { padding:1rem;border-radius:10px;background:#f6f9fa;font-size:.73rem;line-height:1.6; }.admin-prof-panel dl { display:grid;grid-template-columns:1fr 1fr;gap:.5rem; }.admin-prof-panel dl div { padding:.55rem;background:#f7f9fa;border-radius:8px; }.admin-prof-panel dt { color:#718392;font-size:.56rem;text-transform:uppercase; }.admin-prof-panel dd { margin:.2rem 0 0;font-size:.67rem; }.admin-risk-flags { margin:.7rem 0;padding:.7rem;border-radius:8px;background:#fff2dd;color:#79581a;font-size:.66rem; }.admin-risk-flags strong { display:block; }.admin-file-link { display:block;margin:.35rem 0;color:#087251;font-size:.68rem; }.admin-prof-panel form { display:grid;gap:.65rem; }.admin-prof-panel form label { display:grid;gap:.3rem;color:#52697a;font-size:.62rem;font-weight:850; }.admin-prof-panel form textarea { min-height:100px;resize:vertical; }.admin-history article { padding:.65rem 0;border-bottom:1px solid #e4ebee; }.admin-history strong,.admin-history span { display:block; }.admin-history strong { font-size:.68rem; }.admin-history span,.admin-history p { color:#718291;font-size:.59rem; }.admin-prof-catalog-grid { display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem; }.admin-prof-form-grid { grid-template-columns:1fr 1fr; }.admin-prof-form-grid .is-wide { grid-column:1/-1; }.admin-check { display:flex!important;align-items:center;gap:.4rem; }.admin-check input { min-height:auto!important; }.admin-category-list { display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem; }.admin-category-list article { padding:.75rem;border:1px solid #dce7eb;border-radius:10px; }.admin-category-list header { display:flex;gap:.6rem; }.admin-category-list header span { display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#edf8f4;color:#087553; }.admin-category-list strong,.admin-category-list small { display:block; }.admin-category-list small { color:#718392;font-size:.55rem; }.admin-category-list article>div { display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.6rem; }.admin-category-list article>div span { padding:.25rem .4rem;border-radius:999px;background:#f1f5f7;color:#526979;font-size:.55rem; }.admin-prof-settings { grid-template-columns:repeat(4,1fr); }.admin-prof-settings button { align-self:end; }.admin-prof-network-config h2 { margin:0 0 .35rem;color:#071a37;font-size:1rem; }.admin-prof-network-config>p { color:#667b8b;font-size:.68rem; }.admin-prof-network-config .admin-prof-form-grid { display:grid;gap:.7rem; }.admin-prof-network-config label,.admin-prof-network-config legend { color:#435b6d;font-size:.63rem;font-weight:850; }.admin-prof-network-config label { display:grid;gap:.3rem; }.admin-prof-network-config .admin-check { display:flex; }.admin-prof-network-config fieldset { margin:0;padding:.7rem;border:1px solid #dce7eb;border-radius:9px; }

@media (max-width:900px) { .professional-network-shortcuts,.professional-metrics { grid-template-columns:repeat(2,1fr); }.professional-category-grid { grid-template-columns:repeat(2,1fr); }.professional-detail-grid,.admin-prof-dashboard-grid,.admin-prof-detail-grid { grid-template-columns:1fr; }.admin-prof-stats { grid-template-columns:repeat(3,1fr); }.admin-category-list { grid-template-columns:repeat(2,1fr); }.admin-prof-settings { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .professional-network-shortcuts { grid-template-columns:1fr 1fr;margin-top:-1rem; }.professional-category-directory>header,.professional-private-hero,.professional-detail-header,.admin-prof-network-head { align-items:flex-start;flex-direction:column; }.professional-category-grid { grid-template-columns:1fr; }.professional-category-grid button { grid-template-columns:38px 1fr auto; }.professional-consultation-modal { padding:.35rem; }.professional-consultation-panel { max-height:97vh;border-radius:16px; }.professional-consultation-header { grid-template-columns:44px 1fr;padding:1.2rem 3.5rem .9rem 1rem; }.professional-consultation-brand { width:44px;height:44px;border-radius:12px; }.professional-consultation-modal form { padding:1rem; }.professional-scope-options,.professional-contact-grid,.professional-consultation-summary,.professional-private-card dl { grid-template-columns:1fr; }.professional-consultation-summary .is-wide { grid-column:auto; }.professional-consultation-actions { flex-wrap:wrap; }.professional-consultation-actions>span { display:none; }.professional-consultation-actions button { flex:1; }.professional-private-page { padding-top:.6rem; }.professional-private-hero { padding-block:1rem; }.professional-private-primary,.professional-private-secondary { width:100%; }.professional-consultation-list-item footer,.professional-opportunity-list footer { align-items:flex-start;flex-direction:column; }.professional-message { max-width:94%; }.professional-metrics,.admin-prof-stats,.admin-prof-catalog-grid,.admin-category-list,.admin-prof-settings,.admin-prof-form-grid { grid-template-columns:1fr; }.admin-prof-network-head nav { width:100%;overflow:auto; }.admin-prof-form-grid .is-wide { grid-column:auto; }.admin-prof-filters { flex-direction:column; } }

/* ========================================================================== 
   CONTRATACIÓN PÚBLICA Y PUBLICACIONES PREMIUM
   ========================================================================== */

.prof-hero-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.prof-hero-action-row p {
  max-width: 350px;
  margin: 0;
  color: #d9e5ef;
  font-size: clamp(.78rem, 1.1vw, .9rem);
  line-height: 1.4;
}

.prof-hero-cta {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 44px;
  padding: .58rem .68rem .58rem 1rem;
  overflow: hidden;
  border: 1px solid rgba(181, 241, 215, .72);
  border-radius: 999px;
  background: linear-gradient(135deg, #14966a, #08734f 72%);
  color: #fff;
  box-shadow: 0 10px 25px rgba(2, 33, 23, .28), inset 0 1px 0 rgba(255, 255, 255, .18);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .025em;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.prof-hero-cta::before {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #c5f6df;
  box-shadow: 0 0 0 5px rgba(197, 246, 223, .11);
  content: "";
}

.prof-hero-cta:hover,
.prof-hero-cta:focus-visible {
  border-color: #e0fff0;
  background: linear-gradient(135deg, #19a976, #09805a 72%);
  box-shadow: 0 14px 34px rgba(2, 33, 23, .36), 0 0 0 4px rgba(131, 226, 184, .1), inset 0 1px 0 rgba(255, 255, 255, .24);
  transform: translateY(-2px);
}

.prof-hero-cta span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
  color: #e3fff2;
  font-size: .9rem;
  transition: background .2s ease, transform .2s ease;
}

.prof-hero-cta:hover span,
.prof-hero-cta:focus-visible span { background: rgba(255, 255, 255, .22); transform: translateX(2px); }

@media (prefers-reduced-motion: reduce) {
  .prof-hero-cta,
  .prof-hero-cta span { transition: none; }
  .prof-hero-cta:hover,
  .prof-hero-cta:focus-visible,
  .prof-hero-cta:hover span,
  .prof-hero-cta:focus-visible span { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .prof-hero-cta,
  .prof-hero-cta span { transition: none; }
  .prof-hero-cta:hover,
  .prof-hero-cta:focus-visible,
  .prof-hero-cta:hover span,
  .prof-hero-cta:focus-visible span { transform: none; }
}

.prof-premium-showcase {
  margin-bottom: clamp(3rem, 6vw, 5rem);
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(184, 144, 67, .4);
  border-top: 3px solid var(--prof-gold);
  border-radius: 8px;
  background: #fffdf7;
}

.prof-premium-showcase .prof-results-heading { margin-bottom: 1rem; }
.prof-premium-showcase .prof-results-kicker { color: #8b6a29; }

.prof-premium-mark {
  padding: .35rem .55rem;
  border: 1px solid rgba(184, 144, 67, .38);
  border-radius: 4px;
  background: #fff8e5;
  color: #795b20;
  font-size: .65rem;
  font-weight: 800;
}

.prof-premium-grid { margin-bottom: 0; }

.prof-booking-page,
.prof-payment-page {
  min-height: 70vh;
  background: #f3f6f8;
  color: var(--prof-text-main);
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.prof-booking-header {
  position: relative;
  overflow: hidden;
  border-bottom: 4px solid var(--prof-green);
  background: var(--prof-navy);
  color: #fff;
}

.prof-booking-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 32%;
  height: 4px;
  background: var(--prof-red);
}

.prof-booking-header > .shell { padding-block: clamp(2rem, 4vw, 3.25rem); }

.prof-booking-back {
  display: inline-flex;
  gap: .4rem;
  margin-bottom: 1.25rem;
  color: #bdd0df;
  font-size: .76rem;
  font-weight: 750;
  text-decoration: none;
}

.prof-booking-back:hover { color: #fff; }

.prof-booking-kicker {
  display: block;
  color: #8bd9b9;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.prof-booking-header h1 {
  margin: .4rem 0 .65rem;
  color: #fff;
  font: 800 clamp(2rem, 5vw, 3.6rem)/1 var(--serif, "Libre Franklin", serif);
  letter-spacing: 0;
}

.prof-booking-header > .shell > p {
  max-width: 680px;
  margin: 0;
  color: #c5d4e0;
  font-size: .95rem;
  line-height: 1.55;
}

.prof-booking-hero .prof-hero-glass {
  width: min(720px, 72%);
}

.prof-booking-hero .prof-booking-back {
  margin-bottom: .45rem;
}

.prof-booking-hero .prof-booking-kicker {
  margin-bottom: .2rem;
}

.prof-booking-hero h1 {
  margin-bottom: .35rem;
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
}

.prof-booking-hero .prof-booking-steps {
  margin-top: .75rem;
  padding-top: .65rem;
}

.prof-booking-steps {
  display: flex;
  gap: clamp(.7rem, 2vw, 1.5rem);
  max-width: 720px;
  margin: 1.5rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, .15);
  list-style: none;
}

.prof-booking-steps li {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  color: #8198ab;
  font-size: .7rem;
  font-weight: 750;
}

.prof-booking-steps b {
  display: grid;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%;
  font-size: .68rem;
}

.prof-booking-steps .is-current { color: #fff; }
.prof-booking-steps .is-current b { border-color: #70d0a9; background: var(--prof-green); }
.prof-booking-steps .is-complete { color: #a8d9c4; }
.prof-booking-steps .is-complete b { border-color: #5ab68f; color: #8bd9b9; }

.prof-booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 340px);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: start;
  padding-top: clamp(1.5rem, 4vw, 3rem);
}

.prof-booking-form { display: grid; gap: 1rem; min-width: 0; }

.prof-booking-section,
.prof-booking-summary,
.prof-payment-summary,
.prof-payment-methods,
.prof-receipt-options,
.prof-payment-final {
  border: 1px solid var(--prof-border);
  border-radius: 8px;
  background: #fff;
}

.prof-booking-section { padding: clamp(1.1rem, 2.5vw, 1.65rem); }

.prof-booking-section > header,
.prof-payment-methods > header,
.prof-receipt-options > header {
  margin-bottom: 1.1rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--prof-border-light);
}

.prof-booking-section > header span,
.prof-payment-methods > header span,
.prof-receipt-options > header span,
.prof-payment-summary > header span {
  color: var(--prof-green);
  font-size: .66rem;
  font-weight: 850;
  text-transform: uppercase;
}

.prof-booking-section h2,
.prof-payment-methods h2,
.prof-receipt-options h2,
.prof-payment-summary h2 {
  margin: .22rem 0 0;
  color: var(--prof-navy);
  font: 800 clamp(1.15rem, 2.2vw, 1.5rem)/1.2 var(--serif, "Libre Franklin", serif);
  letter-spacing: 0;
}

.prof-payment-methods > header p,
.prof-receipt-options > header p {
  margin: .4rem 0 0;
  color: var(--prof-text-muted);
  font-size: .78rem;
}

.prof-plan-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.prof-plan-option {
  position: relative;
  display: flex;
  min-height: 220px;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  padding: 1.1rem;
  border: 1px solid #d9e1e7;
  border-radius: 8px;
  background: #f8fafb;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.prof-plan-option.is-premium {
  border-color: rgba(184, 144, 67, .55);
  background: #fffaf0;
}

.prof-plan-option:has(input:checked) {
  border-color: var(--prof-blue);
  box-shadow: 0 0 0 3px rgba(8, 117, 209, .1);
  transform: translateY(-1px);
}

.prof-plan-option.is-premium:has(input:checked) {
  border-color: var(--prof-gold);
  box-shadow: 0 0 0 3px rgba(184, 144, 67, .12);
}

.prof-plan-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.prof-plan-check {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 18px;
  height: 18px;
  border: 2px solid #aab7c2;
  border-radius: 50%;
  background: #fff;
}

.prof-plan-option input:checked + .prof-plan-check { border: 5px solid var(--prof-blue); }
.prof-plan-option.is-premium input:checked + .prof-plan-check { border-color: var(--prof-gold); }

.prof-plan-label {
  padding: .25rem .45rem;
  border-radius: 4px;
  background: var(--prof-navy);
  color: #fff;
  font-size: .6rem;
  font-weight: 850;
  text-transform: uppercase;
}

.prof-plan-option.is-premium .prof-plan-label { background: #9a742d; }

.prof-plan-option > strong {
  margin: .85rem 0 .35rem;
  color: var(--prof-navy);
  font-size: 1.05rem;
}

.prof-plan-option > p {
  margin: 0 0 1rem;
  color: var(--prof-text-muted);
  font-size: .76rem;
  line-height: 1.5;
}

.prof-plan-price { margin-top: auto; color: var(--prof-text-muted); font-size: .7rem; }
.prof-plan-price b { color: var(--prof-navy); font-size: 1rem; }
.prof-plan-option > small { margin-top: .45rem; color: #758294; font-size: .64rem; }

.prof-duration-field {
  display: block;
  margin-top: 1.2rem;
  color: var(--prof-navy);
  font-size: .75rem;
  font-weight: 800;
}

.prof-duration-field > span {
  display: flex;
  align-items: center;
  width: min(230px, 100%);
  margin-top: .4rem;
  border: 1px solid #d4dde4;
  border-radius: 6px;
  background: #fff;
}

.prof-duration-field input {
  width: 100%;
  min-width: 0;
  height: 44px;
  border: 0;
  background: transparent;
  text-align: center;
}

.prof-duration-field b { padding: 0 .85rem; color: var(--prof-text-muted); font-size: .72rem; }
.prof-duration-field > small { display: block; margin-top: .35rem; color: var(--prof-text-muted); font-size: .65rem; font-weight: 500; }

.prof-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}

.prof-form-grid label,
.prof-receipt-option label {
  display: grid;
  gap: .38rem;
  min-width: 0;
  color: #27384c;
  font-size: .72rem;
  font-weight: 800;
}

.prof-form-grid .is-wide { grid-column: 1 / -1; }

.prof-form-grid input,
.prof-form-grid textarea,
.prof-receipt-option input[type="file"] {
  width: 100%;
  min-height: 44px;
  padding: .72rem .8rem;
  border: 1px solid #d4dde4;
  border-radius: 5px;
  background: #f9fafb;
  color: var(--prof-text-main);
  font: 500 .82rem var(--sans, "Libre Franklin", sans-serif);
}

.prof-form-grid textarea { min-height: 125px; resize: vertical; line-height: 1.55; }
.prof-form-grid input:focus,
.prof-form-grid textarea:focus,
.prof-receipt-option input:focus { outline: none; border-color: var(--prof-blue); box-shadow: 0 0 0 3px rgba(8, 117, 209, .1); background: #fff; }

.prof-file-field span { color: var(--prof-text-muted); font-size: .65rem; font-weight: 500; }

.prof-booking-consent {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: 1rem;
  border: 1px solid var(--prof-border);
  border-radius: 6px;
  background: #fff;
  color: #48576a;
  font-size: .75rem;
  line-height: 1.45;
}

.prof-booking-consent input { width: 17px; height: 17px; flex: 0 0 17px; accent-color: var(--prof-green); }

.prof-booking-submit,
.prof-receipt-option button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 46px;
  border: 0;
  border-radius: 5px;
  background: var(--prof-green);
  color: #fff;
  font-size: .82rem;
  font-weight: 850;
  cursor: pointer;
}

.prof-booking-submit:hover,
.prof-receipt-option button:hover { background: #0c6d49; }
.prof-booking-submit:disabled { cursor: not-allowed; opacity: .55; }

.prof-booking-summary {
  position: sticky;
  top: 85px;
  padding: 1.3rem;
  border-top: 3px solid var(--prof-navy);
  box-shadow: var(--prof-shadow);
}

.prof-booking-summary > span { color: var(--prof-green); font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.prof-booking-summary h2 { margin: .3rem 0 1.1rem; color: var(--prof-navy); font: 800 1.25rem/1.2 var(--serif, "Libre Franklin", serif); }
.prof-booking-summary dl { margin: 0; }
.prof-booking-summary dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--prof-border-light); }
.prof-booking-summary dt { color: var(--prof-text-muted); font-size: .72rem; }
.prof-booking-summary dd { margin: 0; color: var(--prof-navy); font-size: .75rem; font-weight: 800; text-align: right; }
.prof-booking-summary .is-total { margin-top: .3rem; border-top: 2px solid var(--prof-navy); }
.prof-booking-summary .is-total dt { color: var(--prof-navy); font-weight: 800; }
.prof-booking-summary .is-total dd { color: var(--prof-green); font-size: 1.08rem; }
.prof-booking-summary > p { margin: 1rem 0 .7rem; color: var(--prof-text-muted); font-size: .68rem; line-height: 1.55; }
.prof-booking-summary > small { display: block; padding: .75rem; border-left: 3px solid var(--prof-gold); background: #fff9e9; color: #6c5629; font-size: .65rem; line-height: 1.45; }

.prof-booking-alert,
.prof-payment-success {
  padding: .9rem 1rem;
  border: 1px solid #e7bcc2;
  border-left: 4px solid var(--prof-red);
  border-radius: 6px;
  background: #fff5f6;
  color: #8a2533;
  font-size: .78rem;
}

.prof-payment-layout {
  display: grid;
  gap: 1rem;
  padding-top: clamp(1.5rem, 4vw, 3rem);
}

.prof-payment-success {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .7rem;
  border-color: #b7dfcd;
  border-left-color: var(--prof-green);
  background: #f1faf6;
  color: #175f43;
}

.prof-payment-summary { padding: clamp(1.1rem, 2.5vw, 1.6rem); }
.prof-payment-summary > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }

.prof-request-status {
  padding: .35rem .55rem;
  border-radius: 4px;
  background: #fff3cd;
  color: #775814;
  font-size: .62rem;
}

.prof-request-status.is-approved { background: #e4f7ed; color: #176242; }
.prof-request-status.is-rejected { background: #fee9eb; color: #922c3b; }

.prof-payment-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .45fr);
  gap: 1.2rem;
  align-items: stretch;
}

.prof-payment-summary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border: 1px solid var(--prof-border-light);
}

.prof-payment-summary dl div { padding: .7rem .8rem; border-right: 1px solid var(--prof-border-light); border-bottom: 1px solid var(--prof-border-light); }
.prof-payment-summary dt { color: var(--prof-text-muted); font-size: .63rem; }
.prof-payment-summary dd { margin: .25rem 0 0; color: var(--prof-navy); font-size: .77rem; font-weight: 800; }

.prof-payment-total {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.25rem;
  border-radius: 6px;
  background: var(--prof-navy);
  color: #fff;
}

.prof-payment-total span { color: #9eb5c7; font-size: .68rem; }
.prof-payment-total strong { margin: .35rem 0; color: #fff; font-size: clamp(1.45rem, 3vw, 2.05rem); }
.prof-payment-total small { color: #8bd9b9; font-size: .64rem; }

.prof-payment-methods,
.prof-receipt-options { padding: clamp(1.1rem, 2.5vw, 1.6rem); }
.prof-payment-method-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .75rem; }

.prof-payment-method {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 1rem;
  border: 1px solid var(--prof-border);
  border-radius: 7px;
  background: #f8fafb;
}

.prof-payment-method > span { color: var(--prof-green); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.prof-payment-method p { margin: .65rem 0 0; }
.prof-payment-method p small,
.prof-payment-method p b { display: block; }
.prof-payment-method p small { color: var(--prof-text-muted); font-size: .6rem; }
.prof-payment-method p b { margin-top: .12rem; color: var(--prof-navy); font-size: .78rem; overflow-wrap: anywhere; }
.prof-payment-method .prof-payment-instructions { color: #526174; font-size: .7rem; line-height: 1.45; }
.prof-payment-method > a { margin-top: auto; padding-top: .8rem; color: var(--prof-blue); font-size: .72rem; font-weight: 800; text-decoration: none; }

.prof-receipt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }

.prof-receipt-option {
  display: flex;
  min-height: 270px;
  flex-direction: column;
  padding: 1.15rem;
  border: 1px solid var(--prof-border);
  border-radius: 8px;
  background: #f8fafb;
}

.prof-receipt-option.is-whatsapp { border-color: #b5ddcb; background: #f2faf6; }
.prof-receipt-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--prof-navy); color: #fff; font-size: .7rem; font-weight: 850; }
.prof-receipt-option.is-whatsapp .prof-receipt-icon { background: var(--prof-green); }
.prof-receipt-option h3 { margin: .8rem 0 .35rem; color: var(--prof-navy); font: 800 1rem var(--serif, "Libre Franklin", serif); }
.prof-receipt-option > p { margin: 0 0 .8rem; color: var(--prof-text-muted); font-size: .72rem; line-height: 1.5; }
.prof-receipt-option > small { margin-bottom: .75rem; color: var(--prof-green); font-size: .72rem; font-weight: 800; }
.prof-receipt-option label { margin-top: auto; }
.prof-receipt-option button { width: 100%; margin-top: .8rem; }

.prof-payment-note {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: .9rem 1rem;
  border-left: 4px solid var(--prof-gold);
  background: #fff9e9;
  color: #6c5629;
  font-size: .72rem;
  line-height: 1.5;
}

.prof-payment-final { padding: clamp(1.3rem, 3vw, 2rem); border-left: 4px solid var(--prof-red); }
.prof-payment-final.is-approved { border-left-color: var(--prof-green); }
.prof-payment-final h2 { margin: 0 0 .5rem; color: var(--prof-navy); font: 800 1.35rem var(--serif, "Libre Franklin", serif); }
.prof-payment-final p { margin: 0; color: var(--prof-text-muted); }
.prof-payment-final a { display: inline-flex; margin-top: 1rem; color: var(--prof-green); font-size: .78rem; font-weight: 800; text-decoration: none; }

@media (max-width: 820px) {
  .prof-booking-layout { grid-template-columns: 1fr; }
  .prof-booking-summary { position: static; grid-row: 1; }
  .prof-payment-summary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .prof-hero-action-row { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .prof-hero-action-row p { max-width: none; }
  .prof-hero-cta { min-height: 32px; padding: .42rem .65rem; }
  .prof-hero-stats { display: none; }
  .prof-premium-mark { display: none; }
  .prof-plan-options,
  .prof-form-grid,
  .prof-receipt-grid,
  .prof-payment-summary dl { grid-template-columns: 1fr; }
  .prof-form-grid .is-wide { grid-column: auto; }
  .prof-booking-steps { justify-content: space-between; }
  .prof-booking-steps li { display: grid; justify-items: center; gap: .3rem; text-align: center; }
  .prof-booking-steps li span { font-size: .58rem; }
  .prof-booking-hero .prof-hero-glass { width: 100%; }
  .prof-booking-hero .prof-booking-back { margin-bottom: .3rem; }
  .prof-booking-hero h1 { margin-block: .2rem .3rem; font-size: clamp(1.75rem, 8.5vw, 2.25rem); }
  .prof-booking-hero .prof-booking-steps { margin-top: .55rem; padding-top: .5rem; }
  .prof-payment-note { flex-direction: column; }
}

/* Administración de solicitudes profesionales */
.professional-requests-admin { margin: 0 0 1.5rem; border-top: 3px solid #071a37; }

.professional-requests-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.professional-requests-heading h2 { margin: .2rem 0; }
.professional-requests-heading p { margin: 0; color: #64748b; font-size: .75rem; }
.professional-requests-heading > strong { padding: .4rem .6rem; border-radius: 4px; background: #fff3cd; color: #775814; font-size: .7rem; }
.professional-requests-table td { vertical-align: top; }

.professional-plan-badge,
.professional-receipt-channel,
.professional-request-status {
  display: inline-flex;
  width: fit-content;
  margin-bottom: .3rem;
  padding: .25rem .45rem;
  border-radius: 4px;
  background: #edf2f6;
  color: #405167;
  font-size: .62rem;
  font-weight: 850;
}

.professional-plan-badge.is-premium { border: 1px solid #dfc57e; background: #fff8e3; color: #795b20; }
.professional-plan-badge.is-publicacion { border: 1px solid #b9d4ea; background: #eff7fd; color: #155d92; }
.professional-receipt-channel { display: flex; margin-top: .35rem; }
.professional-receipt-channel.is-upload { background: #eaf4fb; color: #155d92; }
.professional-receipt-channel.is-whatsapp { background: #e6f6ee; color: #176242; }
.professional-request-status.is-pending { background: #fff3cd; color: #775814; }
.professional-request-status.is-approved { background: #e4f7ed; color: #176242; }
.professional-request-status.is-rejected { background: #fee9eb; color: #922c3b; }

.professional-file-link { display: block; margin-top: .35rem; color: #0875d1; font-size: .68rem; font-weight: 800; text-decoration: none; }
.professional-file-link:hover { text-decoration: underline; }

.professional-request-review { display: grid; min-width: 190px; gap: .35rem; }
.professional-request-review input { width: 100%; min-height: 34px; padding: .4rem .5rem; border: 1px solid #cfd9e1; border-radius: 4px; font-size: .68rem; }
.professional-request-review button { min-height: 34px; border: 0; border-radius: 4px; background: #128257; color: #fff; font-size: .65rem; font-weight: 850; cursor: pointer; }
.professional-request-review button.is-reject { background: #fff; color: #b72d3f; border: 1px solid #e5b8bf; }

@media (max-width: 760px) {
  .professional-requests-heading { align-items: flex-start; flex-direction: column; }
}

/* Recomendación de profesionales */
.prof-hero-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }

.prof-recommend-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 44px;
  padding: .58rem 1rem;
  border: 1px solid rgba(255, 232, 174, .8);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 250, 232, .98), rgba(233, 205, 126, .96));
  color: #3b2c0d;
  box-shadow: 0 10px 25px rgba(17, 12, 2, .24), inset 0 1px 0 #fff;
  font: inherit;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .025em;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.prof-recommend-trigger span { color: #8d671a; font-size: .9rem; }
.prof-recommend-trigger:hover,
.prof-recommend-trigger:focus-visible { filter: brightness(1.04); box-shadow: 0 14px 32px rgba(17, 12, 2, .32), 0 0 0 4px rgba(238, 207, 123, .13); transform: translateY(-2px); }

.prof-recommend-notice {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: 1px solid #c8d9e7;
  border-radius: 12px;
  background: #f5f9fc;
  color: #244159;
  box-shadow: 0 8px 24px rgba(7, 26, 55, .06);
}

.prof-recommend-notice > span { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; font-weight: 900; }
.prof-recommend-notice p { margin: 0; font-size: .82rem; font-weight: 750; }
.prof-recommend-notice.is-success { border-color: #b8dfcb; background: #edf9f3; color: #16583e; }
.prof-recommend-notice.is-success > span { background: #0b8f62; color: #fff; }
.prof-recommend-notice.is-error { border-color: #efc4ca; background: #fff4f5; color: #842e3b; }
.prof-recommend-notice.is-error > span { background: #b83a4d; color: #fff; }

.prof-recommend-modal[hidden] { display: none !important; }
.prof-recommend-modal { position: fixed; inset: 0; z-index: 1800; display: grid; place-items: center; padding: 1rem; }
.prof-recommend-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(2, 12, 27, .78); backdrop-filter: blur(8px); cursor: default; }
.prof-recommend-panel { position: relative; width: min(760px, 100%); max-height: min(92vh, 820px); overflow: auto; border: 1px solid rgba(211, 226, 238, .8); border-radius: 22px; background: #fff; color: #12273b; box-shadow: 0 30px 90px rgba(1, 12, 28, .42); }
.prof-recommend-panel::before { display: block; height: 6px; background: linear-gradient(90deg, #079669, #0a68df 62%, #d4a955); content: ""; }
.prof-recommend-close { position: absolute; top: 18px; right: 18px; z-index: 2; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #dbe5ec; border-radius: 50%; background: #fff; color: #526679; font-size: 1.35rem; cursor: pointer; }
.prof-recommend-close:hover,
.prof-recommend-close:focus-visible { border-color: #9fb4c4; color: #071a37; }
.prof-recommend-header { display: flex; align-items: center; gap: 1rem; padding: 2rem 4.25rem 1rem 2rem; background: radial-gradient(circle at 0 0, rgba(7, 150, 105, .1), transparent 42%), linear-gradient(135deg, #f8fbfd, #fff); }
.prof-recommend-mark { display: grid; place-items: center; width: 54px; height: 54px; flex: 0 0 54px; border-radius: 15px; background: linear-gradient(145deg, #071a37, #096cdf); color: #fff; box-shadow: 0 12px 26px rgba(7, 43, 84, .24); font-size: 1rem; font-weight: 950; }
.prof-recommend-header div > span { display: block; margin-bottom: .35rem; color: #07845b; font-size: .64rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.prof-recommend-header h2 { margin: 0; color: #071a37; font-family: var(--serif, "Libre Franklin", serif); font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.08; letter-spacing: -.025em; }
.prof-recommend-lead { margin: 0; padding: .1rem 2rem 1rem; color: #5e7182; font-size: .85rem; line-height: 1.55; }
.prof-recommend-form { display: grid; gap: 1rem; padding: 0 2rem 2rem; }
.prof-recommend-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 0; padding: 1rem; border: 1px solid #dfe8ee; border-radius: 14px; background: #f9fbfc; }
.prof-recommend-form legend { padding: 0 .4rem; color: #29465e; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.prof-recommend-form label { display: grid; gap: .4rem; }
.prof-recommend-form label > span { color: #40586c; font-size: .69rem; font-weight: 800; }
.prof-recommend-form input[type="text"],
.prof-recommend-form input[type="email"] { width: 100%; min-height: 44px; padding: .7rem .8rem; border: 1px solid #cbd8e2; border-radius: 9px; outline: 0; background: #fff; color: #10273c; font: inherit; font-size: .82rem; }
.prof-recommend-form input:focus { border-color: #0878d8; box-shadow: 0 0 0 3px rgba(8, 120, 216, .12); }
.prof-recommend-consent { display: grid !important; grid-template-columns: auto 1fr; align-items: start; gap: .7rem !important; color: #536a7c; font-size: .74rem; line-height: 1.45; }
.prof-recommend-consent input { width: 18px; height: 18px; margin: .05rem 0 0; accent-color: #079669; }
.prof-recommend-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.prof-recommend-submit-row > a { color: #35617e; font-size: .74rem; font-weight: 850; text-decoration: none; }
.prof-recommend-submit-row > a:hover { text-decoration: underline; }
.prof-recommend-submit-row button { display: inline-flex; align-items: center; gap: .8rem; min-height: 48px; padding: .65rem .7rem .65rem 1.1rem; border: 0; border-radius: 999px; background: linear-gradient(135deg, #079669, #076b4c); color: #fff; box-shadow: 0 12px 28px rgba(3, 106, 73, .24); font: inherit; font-size: .76rem; font-weight: 900; cursor: pointer; }
.prof-recommend-submit-row button b { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.prof-recommend-form > small { color: #718291; font-size: .63rem; line-height: 1.5; }
.prof-recommend-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.is-prof-recommend-open { overflow: hidden; }

@media (max-width: 720px) {
  .prof-hero-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .prof-recommend-trigger,
  .prof-hero-actions .prof-hero-cta { min-height: 38px; }
  .prof-recommend-modal { padding: .5rem; }
  .prof-recommend-panel { max-height: 96vh; border-radius: 16px; }
  .prof-recommend-header { align-items: flex-start; padding: 1.4rem 3.5rem .8rem 1rem; }
  .prof-recommend-mark { width: 44px; height: 44px; flex-basis: 44px; border-radius: 12px; }
  .prof-recommend-lead { padding: .1rem 1rem .9rem; }
  .prof-recommend-form { padding: 0 1rem 1.2rem; }
  .prof-recommend-form fieldset { grid-template-columns: 1fr; }
  .prof-recommend-submit-row { align-items: stretch; flex-direction: column-reverse; }
  .prof-recommend-submit-row button { justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .prof-recommend-trigger { transition: none; }
  .prof-recommend-trigger:hover,
  .prof-recommend-trigger:focus-visible { transform: none; }
}

.admin-plan-entitlements { display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;margin-top:.8rem;padding:.75rem;border:1px solid #dbe6eb;border-radius:9px; }
.admin-plan-entitlements legend { color:#40596b;font-size:.62rem;font-weight:900; }
.admin-plan-entitlements label { display:flex;align-items:center;gap:.35rem;color:#506879;font-size:.62rem;font-weight:750; }
.admin-plan-entitlements label:nth-last-child(-n+3) { display:grid; }
.admin-plan-entitlements input[type=number] { width:100%;min-height:34px;padding:.4rem;border:1px solid #ccd9e1;border-radius:7px; }
@media (max-width:640px) { .admin-plan-entitlements { grid-template-columns:1fr; } }
.professional-notification-strip { display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:.85rem 1rem;border:1px solid #cfe0e7;border-radius:13px;background:#f8fbfc; }.professional-notification-strip>strong { padding:.35rem .5rem;border-radius:999px;background:#071a37;color:#fff;font-size:.57rem;text-transform:uppercase;letter-spacing:.07em; }.professional-notification-strip>div { display:grid;gap:.45rem; }.professional-notification-strip a { display:grid;color:#17374d;text-decoration:none;font-size:.65rem; }.professional-notification-strip a span { color:#6d8090;font-size:.59rem; }
@media (max-width:640px) { .professional-notification-strip { grid-template-columns:1fr; } }
