/* ═══════════════════════════════════════════════════════════
   Andomes UI — capa de marca sobre el plugin (se carga la última)
   Alinea panel, directorio, ficha, chat y login con la portada:
   Fraunces (títulos) + Plus Jakarta Sans (texto) + paleta azul marino.
   ═══════════════════════════════════════════════════════════ */

:root {
    --pd-primary: #1A6BBF;
    --pd-primary-dark: #103F7A;
    --pd-primary-light: #EAF4FB;
    --pd-secondary: #0E9FCE;
    --pd-secondary-light: #E3F6FC;
    --pd-danger: #C62828;
    --pd-danger-light: #FBE9E9;
    --pd-warning: #B7791F;
    --pd-warning-light: #FFF4DB;
    --pd-featured: #103F7A;
    --pd-featured-light: #EAF4FB;
    --pd-text: #0D1B2A;
    --pd-text-muted: #6A88A4;
    --pd-bg: #F4F8FC;
    --pd-white: #FFFFFF;
    --pd-border: #D6E3F0;
    --pd-radius: 16px;
    --pd-radius-sm: 10px;
    --pd-shadow: 0 1px 2px rgba(8,30,58,.05);
    --pd-shadow-md: 0 8px 24px rgba(8,30,58,.08);
    --pd-shadow-lg: 0 14px 44px rgba(26,107,191,.18);
    --pd-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --pd-serif: 'Fraunces', Georgia, serif;
    --pd-navy: #081E3A;
    --pd-mid: #103F7A;
}

/* ── Base ── */
.pd-login-wrapper, .pd-directory-wrapper, .pd-profile-wrapper, .pd-dashboard-wrapper, .pd-chat-wrapper {
    font-family: var(--pd-font);
    color: var(--pd-text);
    -webkit-font-smoothing: antialiased;
}
/* El tema mete el contenido en una columna de ~700 px: las pantallas del plugin salen de ella y usan hasta 1100 px. */
.pd-dashboard-wrapper, .pd-directory-wrapper, .pd-board-public, .pd-profile-wrapper, .pd-chat-wrapper, .pd-login-wrapper {
    box-sizing: border-box;
    width: min(1100px, calc(100vw - 32px));
    max-width: none;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0;
    margin-right: 0;
}
.pd-dashboard-wrapper { padding: 32px 0 56px; }
.pd-directory-wrapper, .pd-board-public { padding: 24px 0 56px; }
.pd-board-public.pd-dashboard-wrapper { width: min(1100px, calc(100vw - 32px)); }

/* ── Tipografía ── */
.pd-dashboard-wrapper h1, .pd-dashboard-wrapper h2, .pd-dashboard-wrapper h3,
.pd-directory-wrapper h1, .pd-directory-wrapper h2, .pd-profile-wrapper h1, .pd-profile-wrapper h2, .pd-profile-wrapper h3,
.pd-login-wrapper h1, .pd-login-wrapper h2, .pd-chat-wrapper h3 {
    font-family: var(--pd-serif);
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--pd-navy);
}
.pd-dashboard-header h1 { font-size: 30px; font-weight: 900; line-height: 1.1; margin: 0 0 4px; }
.pd-card h3 { font-size: 22px; margin: 0 0 14px; }
.pd-card h4 { font-family: var(--pd-font); font-size: 14px; font-weight: 700; }
.pd-kicker { display: block; font-family: var(--pd-font); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pd-primary); margin-bottom: 6px; }
.pd-muted { color: var(--pd-text-muted); }

/* ── Cabecera del panel ── */
.pd-dashboard-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 0 0 24px; margin-bottom: 28px; border-bottom: 1px solid var(--pd-border); }
.pd-dashboard-user { display: flex; align-items: center; gap: 16px; }
.pd-dashboard-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 3px solid var(--pd-white); box-shadow: 0 0 0 1px var(--pd-border); }
.pd-rating-inline { color: var(--pd-text-muted); font-size: 14px; font-weight: 500; }
.pd-dashboard-actions-top { display: flex; gap: 8px; flex-wrap: wrap; }

/* ── Tarjetas ── */
.pd-card { background: var(--pd-white); border: 1px solid var(--pd-border); border-radius: var(--pd-radius); padding: 28px; box-shadow: var(--pd-shadow); margin-bottom: 20px; }
.pd-card-featured { border: 2px solid var(--pd-primary); }
.pd-settings-toggle-card { padding: 0; }
.pd-settings-toggle { width: 100%; padding: 18px 24px; background: none; border: 0; font: inherit; font-weight: 600; color: var(--pd-text); display: flex; justify-content: space-between; align-items: center; cursor: pointer; }

/* El tema quita el borde inferior a todos los enlaces con clase pd-* (style.css línea ~606): se restaura en botones y chips. */
.and-single-body a.pd-btn, .and-single-body a[class*="pd-btn"] { border-bottom-width: 2px !important; border-bottom-style: solid !important; }
.and-single-body a.pd-board-chip { border-bottom: 1px solid var(--pd-border) !important; }
.and-single-body a.pd-board-chip.is-active, .and-single-body a.pd-board-chip:hover { border-bottom-color: var(--pd-primary) !important; }
.and-single-body a.pd-billing-badge, .and-single-body a.pd-rq-badge { border-bottom-width: 1px !important; }
.and-single-body a.pd-featured-link-btn, .and-single-body a.pd-provider-cta { border-bottom: 0; }

/* ── Botones (como .and-btn de la portada) ── */
.pd-btn { font-family: var(--pd-font); font-weight: 600; border-radius: var(--pd-radius-sm); padding: 11px 20px; font-size: 14px; border: 2px solid transparent; transition: background .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s; line-height: 1.2; }
.pd-btn-primary { background: var(--pd-primary); border-color: var(--pd-primary); color: #fff; }
.pd-btn-primary:hover { background: var(--pd-mid); border-color: var(--pd-mid); color: #fff; transform: translateY(-1px); box-shadow: 0 10px 28px rgba(26,107,191,.28); }
.pd-btn-outline { background: var(--pd-white); border-color: var(--pd-border); color: var(--pd-navy); }
.pd-btn-outline:hover { border-color: var(--pd-primary); color: var(--pd-primary); background: var(--pd-white); }
.pd-btn-danger-outline { background: var(--pd-white); border-color: var(--pd-border); color: var(--pd-danger); }
.pd-btn-danger-outline:hover,
.pd-btn-danger-outline:focus-visible { border-color: var(--pd-danger); background: var(--pd-danger-light); color: var(--pd-danger); }
.pd-btn-sm { padding: 8px 14px; font-size: 13px; }
.pd-btn-xs { padding: 6px 11px; font-size: 12px; }
.pd-btn-lg { padding: 15px 34px; font-size: 16px; }
.pd-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

/* ── Formularios ── */
.pd-dashboard-wrapper input[type="text"], .pd-dashboard-wrapper input[type="tel"], .pd-dashboard-wrapper input[type="email"], .pd-dashboard-wrapper input[type="number"], .pd-dashboard-wrapper input[type="date"], .pd-dashboard-wrapper select, .pd-dashboard-wrapper textarea,
.pd-directory-wrapper select, .pd-directory-wrapper input, .pd-chat-wrapper textarea, .pd-profile-wrapper textarea, .pd-profile-wrapper select {
    font-family: var(--pd-font); font-size: 14px; color: var(--pd-text); background: var(--pd-white);
    border: 1.5px solid var(--pd-border); border-radius: var(--pd-radius-sm); padding: 11px 13px; outline: none; transition: border-color .15s, box-shadow .15s;
}
.pd-dashboard-wrapper input:focus, .pd-dashboard-wrapper select:focus, .pd-dashboard-wrapper textarea:focus, .pd-chat-wrapper textarea:focus, .pd-directory-wrapper select:focus, .pd-directory-wrapper input:focus {
    border-color: var(--pd-primary); box-shadow: 0 0 0 3px rgba(26,107,191,.14);
}
.pd-form-group label, .pd-rq-form label { font-family: var(--pd-font); font-size: 13px; font-weight: 600; color: var(--pd-text-muted); }

/* ── Listas mini (últimos clientes, favoritos) ── */
.pd-mini-item { border-radius: var(--pd-radius-sm); padding: 10px 8px; }
.pd-mini-item:hover { background: var(--pd-bg); }
.pd-mini-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.pd-mini-avatar-placeholder { display: inline-flex; align-items: center; justify-content: center; background: var(--pd-primary-light); color: var(--pd-primary-dark); font-weight: 700; }

/* ── Avisos ── */
.pd-billing-notice, .pd-rq-notice { font-family: var(--pd-font); border-radius: var(--pd-radius-sm); }
.pd-billing-notice-ok, .pd-rq-notice-ok { background: var(--pd-primary-light); color: var(--pd-primary-dark); }
.pd-billing-notice-warn, .pd-rq-notice-warn, .pd-rq-notice { background: var(--pd-warning-light); color: #7A4E0A; }

/* ── Etiquetas ── */
.pd-billing-badge, .pd-rq-badge { font-family: var(--pd-font); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; padding: 5px 10px; border-radius: 6px; }
.pd-billing-badge { background: var(--pd-bg); color: var(--pd-text-muted); border: 1px solid var(--pd-border); }
.pd-billing-badge-active, .pd-rq-badge-assigned, .pd-rq-badge-accepted { background: var(--pd-primary-dark); color: #fff; border-color: transparent; }
.pd-rq-badge-open, .pd-rq-badge-matched { background: var(--pd-primary-light); color: var(--pd-primary-dark); }
.pd-rq-badge-chosen, .pd-rq-badge-invited, .pd-rq-badge-interested, .pd-billing-badge-canceled, .pd-billing-badge-past_due, .pd-billing-badge-suspended, .pd-billing-badge-pending { background: var(--pd-warning-light); color: #7A4E0A; border-color: transparent; }
.pd-billing-tag { background: var(--pd-primary-dark); color: #fff; }

/* ── Mi plan ── */
.pd-billing-status { background: var(--pd-bg); border-color: var(--pd-border); }
.pd-billing-period-toggle { background: var(--pd-bg); border-color: var(--pd-border); }
.pd-billing-period-toggle label:has(input:checked) { color: var(--pd-navy); }
.pd-billing-plan { border-radius: 14px; padding: 24px 22px 22px; }
.pd-billing-plan-featured { border: 2px solid var(--pd-primary); box-shadow: var(--pd-shadow-md); }
.pd-billing-plan-ribbon { background: var(--pd-primary); font-family: var(--pd-font); }
.pd-billing-plan-title { font-family: var(--pd-font); font-size: 12px; letter-spacing: .12em; color: var(--pd-text-muted); }
.pd-billing-plan-price { font-family: var(--pd-serif); font-weight: 900; font-size: clamp(26px, 2.6vw, 34px); color: var(--pd-navy); letter-spacing: -.02em; white-space: nowrap; }
.pd-billing-plan-feats li::before { color: var(--pd-primary); }
.pd-billing-stat-v { font-family: var(--pd-font); font-size: 16px; font-weight: 700; color: var(--pd-navy); }

/* El resumen del nivel de cuenta se lee como una lista de app: etiqueta a la izquierda, dato a la derecha */
.pd-billing-status { display: block; padding: 2px 16px; border-radius: 14px; }
.pd-billing-stat { display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--pd-border); }
.pd-billing-status > .pd-billing-stat:last-child { border-bottom: 0; }
.pd-billing-stat-k { flex: 0 1 auto; font-size: 13px; text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--pd-text-muted); }
.pd-billing-stat-v { flex: 1 1 auto; text-align: right; line-height: 1.35; }
.pd-billing-stat-v small { display: inline; }
.pd-billing-stat-action { display: block; padding: 14px 0 4px; }
.pd-billing-stat-action .pd-btn { width: 100%; }
@media (min-width: 700px) {
  .pd-billing-stat-action { display: flex; justify-content: flex-end; }
  .pd-billing-stat-action .pd-btn { width: auto; }
}

/* ── Peticiones ── */
.pd-rq-card { border-radius: var(--pd-radius); }
.pd-rq-chosen { border: 2px solid var(--pd-primary); box-shadow: var(--pd-shadow-md); }
.pd-rq-title { font-family: var(--pd-serif); font-size: 19px; font-weight: 700; color: var(--pd-navy); }
.pd-rq-item, .pd-rq-cand, .pd-rq-pay, .pd-rq-picker { background: var(--pd-bg); border-color: var(--pd-border); border-radius: 12px; }
.pd-rq-item strong { font-family: var(--pd-serif); font-size: 17px; color: var(--pd-navy); }
.pd-rq-cand-accepted { border-color: var(--pd-primary-dark); }
.pd-rq-cand-chosen { border-color: var(--pd-primary); }
.pd-rq-new summary.pd-btn { border-radius: var(--pd-radius-sm); }
.pd-rq-form input, .pd-rq-form select, .pd-rq-form textarea { border-width: 1.5px; }

/* ── Chat ── */
.pd-chat-wrapper { border-radius: var(--pd-radius); }
.pd-chat-sidebar-header h3 { font-size: 20px; }
.pd-chat-item-active { background: var(--pd-primary-light); }
.pd-message-mine .pd-message-bubble { background: var(--pd-primary); color: #fff; }
.pd-message-other .pd-message-bubble { background: var(--pd-bg); color: var(--pd-text); border: 1px solid var(--pd-border); }
.pd-message-bubble { border-radius: 14px; font-family: var(--pd-font); }
.pd-chat-contact { font-family: var(--pd-font); }
.pd-chat-contact-open { background: var(--pd-primary-light); color: var(--pd-primary-dark); }
.pd-chat-contact-open a { color: var(--pd-primary-dark); }

/* ── Ficha del profesional (cabecera azul marino como el hero) ── */
.pd-cv-head { background: var(--pd-navy); }
.pd-cv-h, .pd-cv-block h2, .pd-cv-block h3 { font-family: var(--pd-serif); font-weight: 900; letter-spacing: -.01em; }
.pd-cv-rate strong { font-family: var(--pd-serif); font-weight: 900; }
.pd-rq-ask-box select { border: 1.5px solid var(--pd-border); border-radius: var(--pd-radius-sm); font-family: var(--pd-font); }

/* ── Directorio: 3 profesionales por fila en PC ── */
.pd-providers-grid { grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .pd-providers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .pd-providers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }

/* ── Aviso "solo ponemos en contacto" ── */
.pd-disclaimer { font-family: var(--pd-font); font-size: 13px; line-height: 1.5; color: var(--pd-text-muted); margin: 0 0 16px; padding: 10px 14px; border-left: 3px solid var(--pd-primary); background: var(--pd-bg); border-radius: 0 10px 10px 0; }
.pd-disclaimer a { color: var(--pd-primary); font-weight: 600; }
.pd-disclaimer-compact { font-size: 12px; }
.pd-cv-disclaimer { padding-top: 0 !important; }
.pd-cv-disclaimer .pd-disclaimer { margin: 0; width: 100%; }
.pd-chat-disclaimer { padding: 6px 14px; border-bottom: 1px solid var(--pd-border); }
.pd-chat-disclaimer .pd-disclaimer { margin: 0; padding: 6px 10px; font-size: 11px; }
.and-footer-disclaimer { max-width: 1100px; margin: 0 auto; padding: 18px 20px 0; font-size: 12px; line-height: 1.5; color: rgba(234,244,251,.65); text-align: center; }
.and-footer-disclaimer a { color: rgba(234,244,251,.85); }

/* ── Galería de trabajos ── */
.pd-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; margin: 8px 0 10px; }
.pd-gallery-item { position: relative; aspect-ratio: 1; border-radius: 10px; overflow: hidden; border: 1px solid var(--pd-border); background: var(--pd-bg); }
.pd-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-gallery-del { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border-radius: 50%; border: 0; background: rgba(8,30,58,.75); color: #fff; font-size: 16px; line-height: 24px; cursor: pointer; padding: 0; }
.pd-cv-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pd-cv-gallery-item { display: block; aspect-ratio: 4/3; border-radius: 12px; overflow: hidden; border: 1px solid var(--pd-border); background: var(--pd-bg); }
.pd-cv-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.pd-cv-gallery-item:hover img { transform: scale(1.04); }

/* ── Presupuestos en el chat ── */
.pd-quote-form { margin-top: 10px; padding: 14px; border: 1px solid var(--pd-border); border-radius: 12px; background: var(--pd-bg); display: flex; flex-direction: column; gap: 10px; font-family: var(--pd-font); }
.pd-quote-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: var(--pd-text-muted); flex: 1; }
.pd-quote-form input, .pd-quote-form select { font: inherit; font-weight: 400; color: var(--pd-text); padding: 9px 10px; border: 1.5px solid var(--pd-border); border-radius: 8px; background: #fff; }
.pd-quote-row { display: flex; gap: 10px; flex-wrap: wrap; }
.pd-quote-actions { display: flex; gap: 8px; }
.pd-quote-card { margin-top: 8px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,.55); border: 1px dashed rgba(8,30,58,.25); }
.pd-message-mine .pd-quote-card { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.5); }
.pd-quote-status { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pd-quote-accepted .pd-quote-status { color: #0E9FCE; }

/* ── Mensajes traducidos ── */
.pd-message-orig { margin-top: 6px; }
.pd-message-orig-btn { background: none; border: 0; padding: 0; font: inherit; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; opacity: .7; cursor: pointer; color: inherit; }
.pd-message-orig-btn:hover { opacity: 1; }
.pd-message-orig-text { margin-top: 4px; font-size: 13px; opacity: .8; font-style: italic; }

/* ── Burbuja de chat flotante ── */
#pd-chat-bubble { background: var(--pd-primary); box-shadow: 0 10px 28px rgba(26,107,191,.35); }
#pd-chat-panel { border-radius: var(--pd-radius); border: 1px solid var(--pd-border); font-family: var(--pd-font); }

/* ── Selector de idioma (GTranslate) ── */
.and-footer-lang { text-align: center; padding: 14px 20px 0; }
.and-footer-lang .gt_float_switcher { position: static !important; display: inline-block !important; box-shadow: none !important; }
#gt_float_wrapper { z-index: 9990 !important; }
@media (max-width: 768px) {
  #gt_float_wrapper { display: none !important; }
}
/* Selector de idioma del pie: centrado y sin caja blanca suelta */
#and-lang { text-align: center; }
#and-lang .gt_float_wrapper { display: inline-block !important; }
#and-lang .gt_float_switcher { border-radius: 8px !important; }
/* Sin sesión: solo se difumina la foto, el texto se lee */
.pd-anon .pd-provider-desc { filter: none !important; user-select: auto !important; -webkit-user-select: auto !important; }

/* ── Chat: formulario de presupuesto oculto hasta pulsar; etiqueta del periodo ── */
.pd-quote-form[hidden] { display: none !important; }
.pd-billing-tag { white-space: nowrap; font-size: 11px; }
.pd-billing-period-toggle { flex-wrap: wrap; }

/* ── Chat en móvil: a pantalla completa, cabecera en una línea, sin aviso largo ── */
@media (max-width: 768px) {
  .pd-chat-wrapper { width: 100vw; border-radius: 0; height: calc(100vh - 64px); height: calc(100dvh - 64px); }
  .pd-chat-disclaimer { display: none; }
  .pd-chat-header { flex-wrap: nowrap; align-items: center; gap: 8px; padding: 8px 10px; }
  .pd-chat-header-actions { width: auto; flex: 0 0 auto; display: flex; gap: 6px; }
  .pd-chat-header-actions .pd-btn { padding: 5px 8px; font-size: 11px; }
  .pd-chat-contact { font-size: 12px; padding: 8px 10px; line-height: 1.4; }
  .pd-chat-messages { min-height: 120px; }
  body.page-id-17 #pd-chat-bubble, body.page-id-17 #pd-chat-panel { display: none !important; }
  .pd-quote-row { flex-direction: column; gap: 8px; }
}
/* Candidatos en móvil: el botón debajo, no encima del texto */
@media (max-width: 640px) {
  .pd-rq-cand { flex-wrap: wrap; }
  .pd-rq-cand-info { flex: 1 1 60%; min-width: 0; }
  .pd-rq-cand-actions { flex: 0 0 auto; margin-left: auto; }
  .pd-rq-item { flex-wrap: wrap; }
  .pd-rq-item-actions { width: 100%; justify-content: flex-start; }
}

/* ── Petición: días y horas (chips) ── */
.pd-rq-when { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 10px; }
.pd-rq-when-label { font-family: var(--pd-font); font-size: 13px; font-weight: 600; color: var(--pd-text-muted); }
.pd-rq-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pd-rq-chip { position: relative; cursor: pointer; }
.pd-rq-chip input { position: absolute; opacity: 0; width: 0; height: 0; }
.pd-rq-chip span { display: inline-block; padding: 7px 12px; border: 1.5px solid var(--pd-border); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--pd-text); background: var(--pd-white); transition: all .15s; }
.pd-rq-chip input:checked + span { background: var(--pd-primary); border-color: var(--pd-primary); color: #fff; }
.pd-rq-chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(26,107,191,.25); }
/* Ficha en móvil: a todo el ancho, sin caja dentro de caja */
@media (max-width: 640px) {
  .pd-profile-wrapper { width: 100vw; }
  .pd-profile-wrapper .pd-cv-card, .pd-profile-wrapper .pd-cv { border-left: 0; border-right: 0; border-radius: 0; }
}
.pd-rq-form .pd-rq-chip { flex: 0 0 auto; }

/* ── Ficha: precio y textos de la cabecera siempre claros (el tema pinta strong/p/h1 en oscuro) ── */
.and-single-body .pd-cv-head h1, .pd-cv-head h1, .and-single-body .pd-cv-head p, .pd-cv-head p, .pd-cv-head .pd-cv-rating-txt { color: #fff !important; }
.and-single-body .pd-cv-rate strong, .pd-cv-rate strong { color: #fff !important; }
.pd-cv-rate-from, .pd-cv-rate-unit { color: #cfdaea !important; }
.pd-cv-head .pd-cv-role { color: #cfdaea !important; }
/* ── Pedir presupuesto: lista desplegable de anuncios ── */
.pd-rq-ask-box { flex-direction: column; align-items: stretch; width: 100%; }
.pd-rq-ask-list { display: flex; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-sm); background: var(--pd-bg); }
.pd-rq-ask-title { font-family: var(--pd-font); font-size: 13px; font-weight: 600; color: var(--pd-text-muted); margin-bottom: 2px; }
.pd-rq-ask-item { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; font: inherit; font-family: var(--pd-font); padding: 10px 12px; background: var(--pd-white); border: 1.5px solid var(--pd-border); border-radius: var(--pd-radius-sm); cursor: pointer; color: var(--pd-text); }
.pd-rq-ask-item:hover { border-color: var(--pd-primary); }
.pd-rq-ask-item strong { font-size: 14px; }
.pd-rq-ask-item small { color: var(--pd-text-muted); font-size: 12px; }
.pd-rq-ask-item:disabled { opacity: .5; cursor: wait; }
.pd-rq-ask-done { margin: 0; font-size: 14px; }
/* ── Móvil: todo a ancho completo, sin cajas dentro de cajas ── */
@media (max-width: 640px) {
  .pd-dashboard-wrapper, .pd-directory-wrapper, .pd-board-public, .pd-profile-wrapper, .pd-cv-wrapper, .pd-login-wrapper { width: 100vw !important; max-width: 100vw; }
  .pd-cv-wrapper { padding-top: 0; }
  .pd-cv-back { padding: 10px 16px 0; }
  .pd-cv, .pd-card, .pd-provider-card, .pd-board-card, .pd-rq-card, .pd-settings-toggle-card { border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  .pd-card { padding: 20px 16px; margin-bottom: 10px; }
  .pd-dashboard-header { padding-left: 16px; padding-right: 16px; }
  .pd-board-head, .pd-board-filters, .pd-directory-filters, .pd-directory-header { padding-left: 16px; padding-right: 16px; }
  /* Filtrar y ordenar por cercanía: centrados y sin rozar los bordes */
  .pd-near-row, .pd-dir-topbar { padding-left: 16px; padding-right: 16px; justify-content: center; gap: 8px; }
  .pd-near-row .pd-near-btn, .pd-dir-topbar .pd-near-btn, .pd-dir-topbar .pd-filter-toggle { padding: 11px 18px; font-size: 14.5px; }
  .pd-near-hint { width: 100%; text-align: center; }
  .pd-rq-cand, .pd-rq-item { border-radius: var(--pd-radius-sm); }
}
/* Ficha: sale de la columna del tema (padding 24 px) igual que el resto de pantallas */
.pd-cv-wrapper { box-sizing: border-box; position: relative; left: 50%; transform: translateX(-50%); width: min(920px, calc(100vw - 32px)); max-width: none; margin-left: 0; margin-right: 0; }
@media (max-width: 640px) {
  .pd-cv-wrapper { width: 100vw !important; max-width: 100vw; margin: 0; }
  .and-single-body:has(.pd-cv-wrapper), .and-single-body:has(.pd-dashboard-wrapper), .and-single-body:has(.pd-directory-wrapper), .and-single-body:has(.pd-chat-wrapper), .and-single-body:has(.pd-login-wrapper) { margin-top: 8px; margin-bottom: 24px; }
}
/* Móvil: sin 100vw (en navegadores con barra de scroll descuadra). Se quita el padding de la columna del tema y el bloque ocupa el 100 %. */
@media (max-width: 640px) {
  .and-single-body:has(.pd-cv-wrapper), .and-single-body:has(.pd-dashboard-wrapper), .and-single-body:has(.pd-directory-wrapper), .and-single-body:has(.pd-board-public), .and-single-body:has(.pd-chat-wrapper), .and-single-body:has(.pd-login-wrapper) { padding-left: 0; padding-right: 0; max-width: none; }
  .pd-cv-wrapper, .pd-dashboard-wrapper, .pd-directory-wrapper, .pd-board-public, .pd-profile-wrapper, .pd-chat-wrapper, .pd-login-wrapper { width: 100% !important; max-width: 100%; left: 0 !important; transform: none !important; margin-left: 0; margin-right: 0; }
}

/* Petición: precio por hora ofrecido */
.pd-rq-budget label { flex-direction: row !important; align-items: center; gap: 6px; flex: 0 1 auto !important; }
.pd-rq-budget input { width: 84px; }

/* ── Aceptación de condiciones (login y puerta del panel) ── */
.pd-terms-check { display: flex; gap: 10px; align-items: flex-start; font-family: var(--pd-font); font-size: 13px; line-height: 1.5; color: var(--pd-text); text-align: left; margin: 14px 0; }
.pd-terms-check input { margin-top: 3px; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--pd-primary); }
.pd-terms-check em { display: block; margin-top: 6px; font-style: normal; color: var(--pd-text-muted); }
.pd-terms-check a { color: var(--pd-primary); font-weight: 600; }
.pd-role-confirm { margin-top: 16px; padding: 14px 16px; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-sm); background: var(--pd-bg); }
.pd-role-confirm .pd-btn { width: 100%; justify-content: center; }
.pd-role-card.is-selected { border-color: var(--pd-primary) !important; box-shadow: 0 0 0 3px rgba(26,107,191,.18); }
.pd-terms-gate { border: 2px solid var(--pd-primary); }
.pd-billing-legal { font-size: 12px; margin: -6px 0 14px; }
/* ── Soporte (tickets) ── */
.pd-tk-new summary { list-style: none; display: inline-flex; cursor: pointer; }
.pd-tk-new summary::-webkit-details-marker { display: none; }
.pd-tk-new form { margin-top: 12px; }
.pd-tk-list { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.pd-tk-item { border: 1px solid var(--pd-border); border-radius: var(--pd-radius-sm); background: var(--pd-bg); }
.pd-tk-item summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; cursor: pointer; font-family: var(--pd-font); font-weight: 600; font-size: 14px; }
.pd-tk-item summary::-webkit-details-marker { display: none; }
.pd-tk-subject { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pd-tk-badge-open { background: var(--pd-warning-light); color: var(--pd-warning); }
.pd-tk-badge-answered { background: var(--pd-primary-light); color: var(--pd-primary-dark); }
.pd-tk-badge-closed { background: #eef1f5; color: var(--pd-text-muted); }
.pd-tk-thread { padding: 0 12px; display: flex; flex-direction: column; gap: 8px; }
.pd-tk-msg { background: var(--pd-white); border: 1px solid var(--pd-border); border-radius: 10px; padding: 8px 12px; font-family: var(--pd-font); font-size: 14px; }
.pd-tk-msg-admin { border-left: 3px solid var(--pd-primary); }
.pd-tk-msg-head { font-size: 11px; color: var(--pd-text-muted); margin-bottom: 4px; }
.pd-tk-reply { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 8px; }
.pd-tk-reply textarea { width: 100%; box-sizing: border-box; font: inherit; font-family: var(--pd-font); padding: 9px 10px; border: 1.5px solid var(--pd-border); border-radius: var(--pd-radius-sm); }
.pd-terms-check em[hidden] { display: none !important; }

/* ── Resumen de condiciones con "leer más" ── */
.pd-terms-summary { font-family: var(--pd-font); font-size: 13px; line-height: 1.55; color: var(--pd-text-muted); text-align: left; margin: 0 0 12px; }
.pd-terms-summary p { margin: 0 0 8px; }
.pd-terms-summary strong { color: var(--pd-text); }
.pd-terms-more summary { cursor: pointer; color: var(--pd-primary); font-weight: 600; list-style: none; }
.pd-terms-more summary::-webkit-details-marker { display: none; }
.pd-terms-more summary::after { content: ' ▾'; }
.pd-terms-more[open] summary::after { content: ' ▴'; }
.pd-terms-more ul { margin: 10px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 7px; }
.pd-terms-more a { color: var(--pd-primary); font-weight: 600; }
.pd-terms-copy { font-size: 12px; margin-top: 10px !important; }

/* El atributo hidden manda sobre cualquier display del plugin */
[hidden] { display: none !important; }

/* Destacado: el boton Contactar va en blanco, no morado (main.css lo pintaba con --pd-featured) */
.pd-provider-card.pd-card-featured .pd-provider-cta,
.pd-provider-card.pd-card-featured .pd-provider-cta:hover { color: #fff !important; }

/* 08-09-2026: movil legible para personas mayores */
@media (max-width: 640px) {
  .pd-provider-card h3 { font-size: 24px !important; }
  .pd-provider-rate strong { font-size: 19px !important; }
  .pd-provider-desc { font-size: 17px !important; line-height: 1.5 !important; }
  .pd-provider-zones .pd-tag, .pd-zones-compact .pd-tag { font-size: 14px !important; padding: 5px 11px !important; }
  .pd-provider-cta { font-size: 19px !important; padding: 16px 18px !important; min-height: 56px; }
  .pd-rating-text { font-size: 15px !important; }
  .pd-online { font-size: 14px !important; }
  .pd-board-card-title { font-size: 21px !important; }
  .pd-board-desc, .pd-rq-meta { font-size: 16px !important; }
  .pd-board-actions .pd-btn, .pd-rq-item-actions .pd-btn, .pd-rq-cand-actions .pd-btn { font-size: 17px !important; padding: 14px 16px !important; }
  .pd-chat-input-area textarea { font-size: 17px !important; }
}

/* Pedir presupuesto desde la tarjeta del directorio */
button.pd-provider-cta { border:0; cursor:pointer; width:100%; font-family:inherit; }
.pd-provider-bottom-actions { flex-wrap:wrap; }
.pd-ask-list { flex-basis:100%; width:100%; margin-top:8px; padding:10px; background:#f3f8fd; border-radius:10px; }
.pd-ask-title { font-size:14px; font-weight:600; color:#103F7A; margin-bottom:6px; }
.pd-ask-item { display:block; width:100%; text-align:left; background:#fff; border:1.5px solid #dbe4ee; border-radius:8px; padding:10px 12px; margin-top:6px; cursor:pointer; font-family:inherit; }
.pd-ask-item strong { display:block; font-size:15px; color:#081E3A; }
.pd-ask-item small { color:#4b5d75; }
/* Botones de candidato: pequenos, pildora, alineados a la derecha */
.pd-rq-cand-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.pd-rq-cand-actions .pd-btn { width:auto !important; font-size:15px !important; padding:9px 18px !important; border-radius:999px !important; box-shadow:0 2px 6px rgba(8,30,58,.15); min-height:0; }
.pd-rq-cand-actions .pd-btn:active { transform: translateY(1px); box-shadow:none; }
.pd-rq-cand-ask { flex-basis:100%; }
.pd-rq-actions-top .pd-btn-boost { flex: 1 1 100%; }

.pd-rq-cand-interested .pd-rq-cand-actions { flex-basis:100%; width:100%; justify-content:center; margin-top:10px; }
.pd-rq-cand-interested .pd-rq-cand-ask { flex-basis:auto !important; margin:0; font-size:15px; }

/* Tarjeta: nombre arriba bajo En linea; precio, estrellas y favoritos a la derecha */
.pd-provider-top-row { align-items:flex-start !important; }
.pd-provider-info { align-self:flex-start; padding-top:0 !important; }
.pd-provider-info h3 { margin:0 !important; line-height:1.2; }
.pd-provider-top-row > .pd-provider-rate { display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right; }
.pd-provider-rate .pd-provider-rating { margin:0 !important; justify-content:flex-end; white-space:nowrap; }
.pd-provider-rate .pd-provider-fav-count { margin:0 !important; font-size:12px; white-space:nowrap; }

.pd-provider-info h3 { display:flex; align-items:center; gap:6px; flex-wrap:nowrap; }
.pd-provider-info h3 .pd-verified-inline { margin-left:0; font-size:12px; }
.pd-provider-info h3 .pd-verified-inline .pd-verified { width:15px; height:15px; line-height:15px; font-size:10px; margin-left:0; }
@media (max-width:640px){ .pd-provider-card h3 { font-size:21px !important; } }

.pd-provider-info, .pd-provider-info h3 { overflow:visible !important; text-overflow:clip !important; min-width:0; }
.pd-provider-info h3 .pd-verified-inline { flex:0 0 auto; }
.pd-provider-info h3 > span:first-child, .pd-provider-info h3 { white-space:nowrap; }
@media (max-width:640px){ .pd-provider-card h3 { font-size:20px !important; } .pd-provider-top-row > .pd-provider-rate { flex:0 0 auto; } }

/* El corazon de favorito (arriba a la derecha) no se solapa con el precio */
.pd-provider-card:has(.pd-provider-fav-wrap) .pd-provider-top-row > .pd-provider-rate { padding-top:36px; }
.pd-provider-card:has(.pd-provider-fav-wrap) .pd-provider-top-row > .pd-provider-thumb-col, .pd-provider-card:has(.pd-provider-fav-wrap) .pd-provider-info { padding-top:0; }

.pd-provider-info .pd-provider-fav-count { margin:2px 0 0 !important; font-size:12px; }

/* Corazon a la derecha del precio, misma linea */
.pd-provider-card:has(.pd-provider-fav-wrap) .pd-provider-top-row > .pd-provider-rate { padding-top:0 !important; padding-right:38px; }
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav { top:14px; right:12px; }

/* Favorito: pildora arriba a la derecha, como NUEVO */
.pd-provider-card:has(.pd-provider-fav-wrap) .pd-provider-top-row > .pd-provider-rate { padding-right:0; }
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav { top:-12px; right:16px; left:auto; width:auto; height:auto; padding:4px 14px; border-radius:20px; background:#fff; border:2px solid #1A6BBF; color:#1A6BBF; font-size:14px; line-height:1.3; box-shadow:0 2px 6px rgba(8,30,58,.12); z-index:2; }
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav.pd-fav-active { background:#dc2626; border-color:#dc2626; color:#fff; }

.pd-provider-card .pd-provider-fav-wrap { top:-12px; right:16px; }
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav { position:static; }

.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav.pd-fav-active { background:#fff; border-color:#1A6BBF; color:#dc2626; }

/* ── Ficha: secciones compactas y ordenadas ── */
.pd-cv-block { margin-bottom:18px !important; }
.pd-cv-h3 { font-family:"Plus Jakarta Sans", system-ui, sans-serif !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.12em; text-transform:uppercase; color:#1A6BBF !important; border:0 !important; border-bottom:2px solid #1A6BBF !important; padding:0 0 6px !important; margin:0 0 10px !important; }
.pd-cv-facts { display:grid !important; grid-template-columns:1fr 1fr; gap:8px; }
.pd-cv-facts li { margin:0 !important; padding:10px 12px; background:#f3f8fd; border-radius:10px; font-size:14px !important; align-items:center !important; }
.pd-cv-facts li > span:last-child { min-width:0; }
.pd-cv-fact-ic { font-size:16px !important; }
.pd-cv-fact-k { font-size:10px !important; margin-bottom:0 !important; }
.pd-cv-zones, .pd-cv-block .pd-tag { font-size:13px; }
.pd-cv-block .pd-tag, .pd-cv-zone { padding:6px 10px !important; border-radius:8px; }
.pd-cv-avail { display:grid !important; grid-template-columns:1fr 1fr; gap:6px 14px; }
.pd-cv-avail li { padding:6px 10px !important; border:0 !important; background:#f3f8fd; border-radius:8px; font-size:13px !important; }
.pd-cv-avail-day { font-weight:600 !important; }
.pd-cv-avail-time { color:#103F7A; font-variant-numeric:tabular-nums; white-space:nowrap; }
@media (max-width:400px){ .pd-cv-facts { grid-template-columns:1fr 1fr; } .pd-cv-facts li { padding:8px 10px; } }

/* ── Disponibilidad: bloque cuidado ── */
.pd-cv-week { display:flex; justify-content:space-between; gap:4px; margin:0 0 12px; padding:10px 12px; background:#f3f8fd; border-radius:12px; }
.pd-cv-wday { width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; background:#fff; color:#b6c2d1; border:1.5px solid #dbe4ee; }
.pd-cv-wday.is-on { background:#1A6BBF; color:#fff; border-color:#1A6BBF; box-shadow:0 3px 8px rgba(26,107,191,.25); }
.pd-cv-availlist { border:1px solid #e3eaf2; border-radius:12px; overflow:hidden; }
.pd-cv-availlist li { padding:10px 14px !important; border-bottom:1px solid #e8eef5 !important; background:#fff; font-size:14px; }
.pd-cv-availlist li:nth-child(even) { background:#fafcfe; }
.pd-cv-availlist li span { color:#4b5d75; }
.pd-cv-availlist li strong { color:#081E3A; font-weight:600; }
.pd-cv-extra { margin-top:8px !important; border-top:1px solid #e3eaf2 !important; }
.pd-cv-extra li span { font-weight:600; color:#103F7A; white-space:nowrap; }

/* Disponibilidad sin cajas: texto limpio */
.pd-cv-week { background:none !important; padding:0 !important; justify-content:flex-start !important; gap:8px !important; margin-bottom:10px !important; }
.pd-cv-wday { width:32px; height:32px; border:0 !important; background:#eef2f6 !important; color:#a0aec0 !important; box-shadow:none !important; }
.pd-cv-wday.is-on { background:#1A6BBF !important; color:#fff !important; }
.pd-cv-availlist { border:0 !important; border-radius:0 !important; overflow:visible !important; }
.pd-cv-availlist li, .pd-cv-availlist li:nth-child(even) { background:none !important; padding:6px 0 !important; border:0 !important; border-bottom:1px solid #eef2f6 !important; }
.pd-cv-availlist li:last-child { border-bottom:0 !important; }
.pd-cv-extra { border-top:0 !important; margin-top:4px !important; }
.pd-cv-extra li span { font-weight:500; color:#4b5d75; }

/* ── Disponibilidad: rejilla etiqueta / valor, compacta ── */
.pd-cv-grid { display:grid; grid-template-columns:88px 1fr; row-gap:10px; column-gap:12px; margin:0; align-items:baseline; }
.pd-cv-grid dt { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#94a3b8; margin:0; }
.pd-cv-grid dd { margin:0; font-size:14px; color:#081E3A; line-height:1.5; }
.pd-cv-grid dd b { font-weight:700; color:#103F7A; display:inline-block; min-width:64px; }
.pd-cv-grid .pd-cv-week { display:inline-flex !important; gap:5px !important; margin:0 !important; vertical-align:middle; }
.pd-cv-grid .pd-cv-wday { width:24px; height:24px; font-size:11px; }

/* ── Disponibilidad interactiva ── */
.pd-cv-days { display:flex; gap:8px; margin:2px 0 10px; }
.pd-cv-days .pd-cv-wday { width:36px; height:36px; border:0 !important; cursor:pointer; font-family:inherit; font-size:14px; font-weight:700; background:#eef2f6 !important; color:#a0aec0 !important; }
.pd-cv-days .pd-cv-wday.is-on { background:#eaf4fb !important; color:#1A6BBF !important; }
.pd-cv-days .pd-cv-wday.is-sel { background:#1A6BBF !important; color:#fff !important; box-shadow:0 3px 8px rgba(26,107,191,.3) !important; }
.pd-cv-dayinfo { margin:0 0 14px; font-size:15px; color:#081E3A; font-weight:600; }
.pd-cv-dayinfo.is-off { color:#94a3b8; font-weight:500; }
.pd-cv-toggles { display:flex; flex-direction:column; gap:8px; }
.pd-cv-tg { border:1.5px solid #dbe4ee; border-radius:10px; overflow:hidden; }
.pd-cv-tg summary { list-style:none; cursor:pointer; padding:11px 14px; font-size:14px; font-weight:600; color:#103F7A; display:flex; justify-content:space-between; align-items:center; }
.pd-cv-tg summary::-webkit-details-marker { display:none; }
.pd-cv-tg summary::after { content:"▾"; color:#94a3b8; transition:transform .15s; }
.pd-cv-tg[open] summary::after { transform:rotate(180deg); }
.pd-cv-tg[open] summary { border-bottom:1px solid #e8eef5; }
.pd-cv-tg p { margin:0; padding:10px 14px; font-size:14px; color:#081E3A; line-height:1.5; }

/* Destacado en escritorio: el enlace Pedir presupuesto va en morado (el fondo es claro) */
@media (min-width:641px){ .pd-provider-card.pd-card-featured a.pd-provider-cta, .pd-provider-card.pd-card-featured a.pd-provider-cta:hover { color:#6d28d9 !important; } }
.pd-providers-grid { align-items: start; }

/* Mientras llega el listado se pintan siluetas, para que no haya un hueco blanco */
.pd-skel-card { border: 1px solid var(--pd-border, #e3ebf4); border-radius: 16px; background: #fff; padding: 18px; }
.pd-skel-l { height: 12px; border-radius: 6px; margin-bottom: 10px; background: linear-gradient(90deg, #eef3f8 25%, #f7fafd 37%, #eef3f8 63%); background-size: 400% 100%; animation: pd-skel-run 1.2s ease infinite; }
.pd-skel-l.is-t { height: 18px; width: 62%; margin-bottom: 14px; }
.pd-skel-l.is-s { width: 45%; }
.pd-skel-l.is-b { height: 40px; border-radius: 10px; margin-top: 16px; margin-bottom: 0; }
.pd-skel-top { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.pd-skel-av { flex: 0 0 52px; width: 52px; min-width: 52px; max-width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(90deg, #eef3f8 25%, #f7fafd 37%, #eef3f8 63%); background-size: 400% 100%; animation: pd-skel-run 1.2s ease infinite; }
.pd-skel-top > div:last-child { flex: 1 1 auto; min-width: 0; }
@keyframes pd-skel-run { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
@media (prefers-reduced-motion: reduce) { .pd-skel-l, .pd-skel-av { animation: none; } }

/* Estado y «Verificado» en una fila propia encima del nombre: al lado del titulo se solapaban
   con el precio de la derecha en las tarjetas estrechas. */
.pd-provider-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 2px; }
.pd-provider-meta .pd-verified-inline { margin-left: 0; }
.pd-provider-info h3 { margin-top: 0; }

/* «El trabajo es tuyo»: en verde, que es una buena noticia y no un aviso */
.pd-rq-badge.pd-rq-badge-tuyo { background: #15803d !important; color: #fff !important; border-color: transparent !important; }

/* Sellos de la esquina: verificado y favoritos. Mismo tamano, y al pulsarlos sale el
   bocadillo que explica que son, igual que el de Transporte. */
.pd-provider-card .pd-card-marks { position: absolute; top: -12px; right: 16px; z-index: 4; display: flex; gap: 6px; }
.pd-card-mark { width: 26px; height: 26px; border-radius: 50%; font-size: 14px !important; font-weight: 900; line-height: 26px !important; text-align: center; display: block !important; cursor: pointer; color: #fff; }
.pd-mark-ver { background: #16a34a; box-shadow: 0 2px 8px rgba(22,163,74,.32); }
.pd-mark-fav { background: #e11d48; box-shadow: 0 2px 8px rgba(225,29,72,.3); }
.pd-card-mark .pd-tr-bubble { right: 0; left: auto; transform: none; font-weight: 600; }
.pd-card-mark .pd-tr-bubble::before { right: 8px; left: auto; margin-left: 0; }
/* Asignados: pastilla ancha con su palabra, que un numero suelto no dice nada */
.pd-mark-asig { width: auto; min-width: 0; padding: 0 12px; border-radius: 999px; background: #1A6BBF; box-shadow: 0 2px 8px rgba(26,107,191,.3); font-size: 11.5px !important; font-weight: 800; letter-spacing: .02em; }

/* Con membresia: tono verde, como el morado de los destacados y el azul de los nuevos */
.pd-provider-card.pd-card-ver {
  border: 2px solid #16a34a;
  box-shadow: 0 0 0 3px #dcfce7, var(--pd-shadow, 0 2px 10px rgba(13,27,42,.06));
  margin-top: 12px;
  background: linear-gradient(135deg, #f6fdf8, #ecfdf3);
}
.pd-provider-card.pd-card-ver .pd-tag { background: rgba(22,163,74,.1); color: #15803d; border-color: rgba(22,163,74,.2); }
/* Interesados en la oferta: pastilla, no circulo, que lleva la estrella y el numero */
.pd-mark-int { background: #b45309; box-shadow: 0 2px 8px rgba(180,83,9,.28); width: auto; min-width: 0; padding: 0 10px; border-radius: 999px; font-size: 11.5px !important; font-weight: 800; }

/* Filtro «Solo verificados» del directorio: es una casilla, no un desplegable, y tiene que
   verse a la misma altura que los selects de al lado. */
.pd-filter-group label.pd-filter-check{
    display:flex; align-items:center; gap:8px;
    margin:0; padding:8px 12px;
    border:1px solid var(--pd-border); border-radius:var(--pd-radius-sm);
    font-size:14px; font-weight:500; color:var(--pd-text); cursor:pointer;
}
.pd-filter-group label.pd-filter-check input{ width:auto; margin:0; accent-color:var(--pd-primary); }

/* Sellos y corazon: TODO en la misma fila de la esquina. Antes el corazon iba por su cuenta
   con la misma posicion absoluta y se montaban entre ellos (el tick encima de «Asignados»). */
.pd-provider-card .pd-card-marks{
    top:-14px; left:50%; right:auto; transform:translateX(-50%);
    align-items:center; justify-content:center;
    max-width:calc(100% - 24px); flex-wrap:nowrap;
}
/* En pantallas estrechas los tres sellos + el corazon no caben del todo: se aprieta la
   pastilla de «Asignados», que es la unica que lleva palabra. */
@media (max-width:520px){
    .pd-provider-card .pd-card-marks{ gap:4px; right:10px; }
    .pd-mark-asig{ padding:0 9px; font-size:11px !important; }
}


/* Los sellos de las ofertas, centrados en la línea igual que los de los perfiles. */
.pd-board-card .pd-card-marks, .pd-rq-item.pd-rq-card .pd-card-marks{
    left:50%; right:auto; transform:translateX(-50%);
    align-items:center; justify-content:center;
    max-width:calc(100% - 24px); flex-wrap:nowrap;
}

/* El grupo de zonas ocupa toda la fila del panel de filtros (son pastillas, no un campo). */
.pd-filters-grid .pd-filter-zonas{ grid-column:1 / -1; }
.pd-filter-zonas .pd-board-filters{ margin:0; }

/* El corazon de guardar vuelve a SU esquina, a la derecha; los sellos se quedan centrados. */
.pd-provider-card .pd-provider-fav-wrap{ position:absolute; display:flex; top:-11px; right:12px; left:auto; z-index:5; line-height:0; }
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav{
    position:static; width:auto; height:auto;
    padding:3px 12px; border-radius:999px;
    background:#fff; border:2px solid #1A6BBF; color:#1A6BBF;
    font-size:14px; line-height:20px; box-shadow:0 2px 6px rgba(8,30,58,.12);
}
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav.pd-fav-active{ background:#fff; border-color:#dc2626; color:#dc2626; }

/* Aviso dentro del paso del asistente (los alert del navegador se bloquean en el iPhone) */
.pd-wiz-error{ margin:14px 0 0; padding:10px 14px; border-radius:10px; background:#FBE9E9; border:1px solid #f3c6c6; color:#912020; font-size:14px; font-weight:600; text-align:left; }
.pd-checkbox-grid-large .pd-checkbox-label .pd-tr-ico{ font-size:18px; line-height:1; margin-right:2px; }

/* Dentro del panel de filtros, cercania / recientes / verificadas son pastillas pequeñas,
   no botones de ancho completo: son opciones sueltas, no acciones principales. */
.pd-filters-panel .pd-near-btn{
    width:auto; display:inline-flex; align-items:center; gap:6px;
    padding:6px 13px; font-size:13px; font-weight:600; border-radius:999px;
}
.pd-filters-panel .pd-near-hint{ display:block; margin-top:6px; font-size:12.5px; color:var(--pd-text-muted); }
/* Las tres opciones, en una fila y no una debajo de otra */
#pd-board-panel{ display:flex; flex-wrap:wrap; gap:14px 22px; align-items:flex-start; }
#pd-board-panel .pd-filter-zona-full{ flex:1 1 100%; }
#pd-board-panel .pd-filter-group label{ display:block; margin-bottom:5px; }

/* ── Reparto de la tarjeta ──
   Arriba izquierda: DESTACADO o NUEVO (como siempre).
   Arriba derecha: el corazon, que guarda Y dice a cuanta gente le gusta (uno solo).
   Abajo de la foto: el tick de verificado y, a su derecha, las veces que le han elegido. */
.pd-provider-card .pd-provider-thumb-col{ position:relative; }
/* «Elegido» cuelga debajo de la foto, centrado con ella. Va flotando (no empuja la
   tarjeta), asi que sube y puede cruzar la linea que separa la cabecera de la descripcion. */
.pd-foto-sellos{
    position:absolute; left:50%; transform:translateX(-50%); top:calc(100% - 2px);
    display:flex; justify-content:center; margin:0; z-index:4;
}
/* El tick, delante del nombre: pequeño, verde y del tamaño del texto. Con flex:none
   para que la columna estrecha del PC no lo aplaste (se quedaba en 8 px). */
.pd-provider-info h3 .pd-name-ver{
    display:inline-flex; align-items:center; justify-content:center; vertical-align:1px;
    flex:0 0 auto; min-width:19px; margin-right:3px;
    width:19px; height:19px; border-radius:50%;
    background:#16a34a; color:#fff; font-size:11px; font-weight:900; line-height:1;
    cursor:pointer; position:relative;
}
.pd-name-ver .pd-tr-bubble{ left:0; right:auto; transform:none; font-weight:600; }
.pd-foto-sellos .pd-tr-bubble{ left:50%; right:auto; transform:translateX(-50%); font-weight:600; }
.pd-foto-sellos .pd-elegido{ position:relative; cursor:pointer; }
.pd-name-ver .pd-tr-bubble::before{ left:10px; right:auto; margin-left:0; }


/* Los sellos de las ofertas siguen a la izquierda del borde */
.pd-board-card .pd-card-marks, .pd-rq-item.pd-rq-card .pd-card-marks{
    left:12px; right:auto; transform:none; justify-content:flex-start;
}

/* El bocadillo de esos sellos («Le interesa a 2 personas») se anclaba por la derecha y,
   como el sello esta pegado al borde izquierdo, se salia de la pantalla. Va a la izquierda
   y nunca mas ancho que la ventana. */
.pd-board-card .pd-card-mark .pd-tr-bubble,
.pd-rq-item.pd-rq-card .pd-card-mark .pd-tr-bubble{
    left:0; right:auto; transform:none;
    min-width:0; width:max-content;
    max-width:min(260px, calc(100vw - 40px));
    white-space:normal;
}
.pd-board-card .pd-card-mark .pd-tr-bubble::before,
.pd-rq-item.pd-rq-card .pd-card-mark .pd-tr-bubble::before{
    left:14px; right:auto; margin-left:0;
}

/* «Elegido X veces»: en la linea del estado, en pequeño y en azul. Pegado a la foto
   quedaba apretado y se comia el nombre. */
.pd-elegido{
    display:inline-flex; align-items:center; gap:3px;
    font-size:10.5px; font-weight:800; letter-spacing:.01em; line-height:20px;
    color:#fff; background:#1A6BBF; border:0; border-radius:999px; padding:0 10px;
    box-shadow:0 2px 6px rgba(8,30,58,.22);
}
/* En la ficha del profesional los dos sellos van en su fila, con mas aire */
.pd-cv-sellos{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.pd-cv-sellos .pd-elegido{ font-size:12px; line-height:20px; padding:0 11px; border-width:0; }
.pd-cv-favs{
    display:inline-flex; align-items:center; gap:5px;
    font-size:12px; font-weight:800; line-height:20px; padding:0 11px;
    color:#fff; background:#e11d48; border-radius:999px;
}
.pd-provider-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

/* Corazon unico: pastilla roja con el corazon y el numero, como los demas sellos
   (rectangular con las esquinas redondeadas, no un circulo). Al pulsarla guarda y
   suelta el bocadillo con a cuanta gente le gusta. */
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav{
    /* top/right vienen de una regla vieja pensada para cuando el corazon iba suelto:
       se anulan, que si no la pastilla sube 12 px y queda flotando sobre el borde. */
    /* row-reverse: el numero a la izquierda y el corazon a la derecha */
    display:inline-flex; flex-direction:row-reverse; align-items:center; gap:5px; position:relative; top:auto; right:auto; bottom:auto; left:auto;
    width:auto; height:auto; padding:3px 12px; border-radius:999px;
    background:#fff; border:2px solid #e11d48; color:#e11d48;
    font-size:14px; line-height:17px; box-shadow:0 2px 8px rgba(8,30,58,.14);
}
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav .pd-fav-n{
    font-family:var(--pd-font); font-size:13px; font-weight:800; color:#9f1239;
}
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav .pd-fav-n:empty{ display:none; }
/* Guardado por mi: el corazon se rellena y el fondo se tiñe un poco */
.pd-provider-card .pd-provider-fav-wrap .pd-btn-fav.pd-fav-active{ background:#FEF2F2; }
.pd-provider-card .pd-provider-fav-wrap .pd-fav-static{ cursor:pointer; }
.pd-provider-card .pd-provider-fav-wrap .pd-tr-bubble{ right:0; left:auto; transform:none; font-weight:600; }
.pd-provider-card .pd-provider-fav-wrap .pd-tr-bubble::before{ right:14px; left:auto; margin-left:0; }

/* «negociables» en pequeño debajo del importe: antes ensanchaba la columna del precio
   y dejaba sin sitio al nombre. */
.pd-provider-card .pd-provider-neg{
    display:block; font-size:10.5px; line-height:1; margin:-4px 0 2px; white-space:nowrap;
}
/* El precio, sin el aire de debajo: «negociables» tiene que leerse como su segunda linea */
.pd-provider-card .pd-provider-rate > strong{ display:block; line-height:1.1; }
