.pecs-wrap{max-width:980px;margin:18px auto;padding:16px}
.pecs-card{border:1px solid #eee;border-radius:16px;padding:16px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.pecs-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.pecs-col-12{grid-column:span 12}
.pecs-col-6{grid-column:span 6}
.pecs-col-4{grid-column:span 4}
.pecs-col-3{grid-column:span 3}
@media(max-width:860px){.pecs-col-6,.pecs-col-4,.pecs-col-3{grid-column:span 12}}
.pecs-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.pecs-tab{padding:10px 12px;border-radius:999px;border:1px solid #ddd;background:#fafafa;color:#111;text-decoration:none}
.pecs-tab.is-active{background:#0b5bd3;color:#fff;border-color:#0b5bd3}

/* CTA: botón CumControl en pestañas (a la derecha + azul clarito) */
.pecs-tabs .pecs-tab-cta{
  margin-left:auto;
  background:#dbeeff;
  border-color:#9cc7ff;
  color:#0b3d91;
  font-weight:700;
}
.pecs-tabs .pecs-tab-cta:hover{background:#cfe7ff}

/* CTA: botón CumControl en Dashboard (azul clarito) */
.pecs-btn.pecs-btn-cta{
  background:#dbeeff;
  color:#0b3d91;
  border:1px solid #9cc7ff;
}
.pecs-btn.pecs-btn-cta:hover{background:#cfe7ff}

@media(max-width:860px){
  /* En móvil, que el CTA no se pierda si hace wrap */
  .pecs-tabs .pecs-tab-cta{margin-left:0}
}
.pecs-h1{font-size:22px;margin:0 0 8px}
.pecs-muted{color:#666;margin:0}
.pecs-btn{display:inline-block;padding:10px 14px;border-radius:12px;background:#0b5bd3;color:#fff;border:none;cursor:pointer;text-decoration:none}
/* Algunos themes pisan el color de <a> aunque tenga clase. Blindamos para que el texto del botón se vea siempre. */
.pecs-btn,
.pecs-btn:visited,
.pecs-btn:hover,
.pecs-btn:focus,
.pecs-btn:active,
.pecs-btn:disabled,
.pecs-btn[disabled]{color:#fff !important;text-decoration:none}
.pecs-btn *{color:inherit !important;}
.pecs-btn{ -webkit-text-fill-color: currentColor !important; }
.pecs-btn *{ -webkit-text-fill-color: currentColor !important; }

/* Blindaje extra contra themes que pisan el color de <a> (Elementor / global link colors / webkit-fill). */
.pecs-wrap a.pecs-btn:not(.ghost):not(.pecs-btn-cta),
.pecs-wrap button.pecs-btn:not(.ghost):not(.pecs-btn-cta){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Excepción: CTA azul clarito (texto azul) */
.pecs-btn.pecs-btn-cta,
.pecs-btn.pecs-btn-cta:visited,
.pecs-btn.pecs-btn-cta:hover,
.pecs-btn.pecs-btn-cta:focus,
.pecs-btn.pecs-btn-cta:active{color:#0b3d91 !important;text-decoration:none}

.pecs-btn.ghost{background:#fff;color:#111;border:1px solid #ddd}
.pecs-btn.ghost,
.pecs-btn.ghost:visited,
.pecs-btn.ghost:hover,
.pecs-btn.ghost:focus,
.pecs-btn.ghost:active{color:#111 !important;text-decoration:none}

/* Nacho request: ALL action buttons should have white text for readability.
   Themes/Elementor may force dark text on some buttons; we harden it here.
   CTA keeps its own blue text (see .pecs-btn-cta rules). */
.pecs-wrap a.pecs-btn:not(.pecs-btn-cta),
.pecs-wrap button.pecs-btn:not(.pecs-btn-cta),
.pecs-wrap input.pecs-btn:not(.pecs-btn-cta),
.pecs-btn:not(.pecs-btn-cta){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* "Ghost" buttons: convert to solid primary to keep white text visible */
.pecs-btn.ghost{
  background:#0b5bd3 !important;
  border:none !important;
}
.pecs-btn.ghost:hover,
.pecs-btn.ghost:focus,
.pecs-btn.ghost:active{
  background:#0848a8 !important;
}
.pecs-input{width:100%;padding:9px 10px;border-radius:12px;border:1px solid #ddd;font-size:14px;line-height:1.2}
select.pecs-input{appearance:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .pecs-label{font-size:12px;color:#444;margin:10px 0 6px;display:block}
.pecs-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#eef;color:#224;font-size:12px;margin-left:6px;cursor:pointer;position:relative;user-select:none}
.pecs-info::after{content:'';display:none;position:absolute;left:0;top:22px;min-width:220px;max-width:320px;background:#111;color:#fff;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.3;z-index:999;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.pecs-info.open::after,.pecs-info:hover::after{display:block;content:attr(data-tip)}
.pecs-input, .pecs-select{font-size:14px}
.pecs-select{padding:10px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .pecs-note{font-size:13px;color:#666}
.pecs-badge{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid #ddd;background:#fafafa;font-size:12px}
.pecs-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pecs-ok{padding:10px 12px;border-radius:12px;background:#f0fff4;border:1px solid #b7f5c7;color:#14532d}
.pecs-err{padding:10px 12px;border-radius:12px;background:#fff5f5;border:1px solid #ffd6d6;color:#7f1d1d}
table.pecs-table{width:100%;border-collapse:collapse}
        .pecs-macro{display:flex;gap:10px;align-items:center}
.pecs-ico{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#6b7280;color:#fff;border:0;flex:0 0 auto}
.pecs-ico svg{width:16px;height:16px;display:block}

/* Colores por macro (iconos universales) */
.pecs-ico-kcal{background:#ef4444}
.pecs-ico-protein{background:#2563eb}
.pecs-ico-carb,.pecs-ico-carbs{background:#f59e0b}
.pecs-ico-fat{background:#fbbf24}
.pecs-ico-veg{background:#22c55e}

/* Cabeceras con icono */
.pecs-th-ico{text-align:center !important;vertical-align:middle}
.pecs-th-ico .pecs-ico{margin:0 auto}

.pecs-ico svg{width:16px;height:16px;display:block}
details.pecs-acc{border:1px solid #eee;border-radius:16px;padding:12px 14px;background:#fff}
details.pecs-acc + details.pecs-acc{margin-top:10px}
details.pecs-acc summary{cursor:pointer;font-weight:700;list-style:none}
details.pecs-acc summary::-webkit-details-marker{display:none}
.pecs-meal-items{margin:6px 0 0;padding-left:18px}
.pecs-meal-items li{margin:2px 0}
.pecs-mini{font-size:12px;color:#666}

.pecs-btn svg{width:16px;height:16px;vertical-align:-3px;margin-right:6px}
.pecs-label{font-size:11px}
.pecs-input{font-size:13px}
select.pecs-input{font-size:13px}
 /* Print */
@media print{
  body{background:#fff !important}
  .pecs-tabs,.pecs-row button,.pecs-btn{display:none !important}
  .pecs-card{box-shadow:none !important}
  .pecs-wrap{max-width:none !important;margin:0 !important;padding:0 !important}
}

/* v1.4.1 extras */
.pecs-ico-btn{border:1px solid #e6e6e6;background:#fff;border-radius:10px;padding:6px;line-height:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.pecs-ico-btn:hover{background:#f7f7f7}
.pecs-ico-btn svg{width:16px;height:16px}
.pecs-modal[hidden]{display:none}
.pecs-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}
.pecs-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.pecs-modal-card{position:relative;z-index:1;width:min(720px, 100%);background:#fff;border-radius:18px;border:1px solid #eee;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.pecs-ex-results{margin-top:10px;max-height:340px;overflow:auto;border:1px solid #eee;border-radius:14px}
.pecs-ex-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid #f1f1f1;cursor:pointer}
.pecs-ex-item:last-child{border-bottom:none}
.pecs-ex-item:hover{background:#fafafa}
.pecs-ex-item .t1{font-weight:700}
.pecs-ex-item .t2{font-size:12px;color:#666;margin-top:2px}
.pecs-mini{font-size:12px;color:#666}
.pecs-meal-items .pecs-mini{margin-top:2px}
@media (max-width:520px){
  .pecs-card{padding:12px}
  .pecs-h1{font-size:22px}
  .pecs-btn{font-size:13px;padding:10px 12px}
  .pecs-label{font-size:13px}
}

/* Destacado azul para todo lo que viene de la IA (PeC) */
.pecs-ai,
.pecs-ai .pecs-note,
.pecs-note.pecs-ai {
  color:#2563eb; /* azul visible */
}

.pecs-badge.pecs-ai {
  border-color:#2563eb;
  color:#2563eb;
  background:#eff6ff;
}

.pecs-card.pecs-ai {
  border-color:#bfdbfe;
  box-shadow:0 0 0 1px rgba(37,99,235,.06);
}


/* Food swapper */
.pecs-ico-btn.small{padding:2px 6px;transform:scale(.9);}

/* Lista negra de ejercicios */
.pecs-blacklist-btn{opacity:.85}
.pecs-blacklist-btn:hover{opacity:1}
.pecs-blacklist-btn.is-active{border-color:#fca5a5;background:#fee2e2;color:#991b1b}

/* Botón "Ver ejemplo" de ejercicios (GIF) */
.pecs-ex-gif{line-height:1;gap:6px;padding:4px 8px;transform:none;vertical-align:middle}
.pecs-ex-gif span{font-size:12px;line-height:1}
.pecs-ex-gif svg{width:14px;height:14px}

/* Modal GIF */
#pecs-gif-img{display:block;max-width:100%;height:auto;border-radius:14px;border:1px solid #eee;background:#fafafa}

/* ====== ICONOS EN COLOR (Food Swapper + Nutrición) ====== */
.pecs-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(0,0,0,.04);
}
.pecs-ico svg{
  width:18px;
  height:18px;
  display:block;
}
/* Intentamos que los SVG hereden color (si usan currentColor) */
.pecs-ico svg,
.pecs-ico-btn svg{
  color:currentColor;
}
.pecs-ico svg *{
  stroke:currentColor;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Colores por tipo */
.pecs-ico-kcal{    color:#f97316; background:rgba(249,115,22,.16); }
.pecs-ico-protein{ color:#ef4444; background:rgba(239,68,68,.12); }
.pecs-ico-carbs{   color:#f59e0b; background:rgba(245,158,11,.14); }
.pecs-ico-carb{    color:#f59e0b; background:rgba(245,158,11,.14); }
.pecs-ico-fat{     color:#a855f7; background:rgba(168,85,247,.14); }
.pecs-ico-veg{     color:#22c55e; background:rgba(34,197,94,.14); }
.pecs-ico-veggies{ color:#22c55e; background:rgba(34,197,94,.14); } /* por si viene plural */
.pecs-ico-other{   color:#3b82f6; background:rgba(59,130,246,.14); }

/* Botón icono (swap) más bonito */
.pecs-ico-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:10px;
  line-height:1;
  cursor:pointer;
}
.pecs-ico-btn:hover{
  border-color:rgba(0,0,0,.22);
  background:rgba(0,0,0,.03);
}
.pecs-ico-btn:active{
  transform:translateY(1px);
}
.pecs-ico-btn.small{
  padding:4px 8px;
  transform:none;
}
.pecs-ico-btn.small svg{
  width:14px;
  height:14px;
}

/* Que el swap destaque un poco */
.pecs-ico-btn[data-pecs-swap-food]{
  color:#0ea5e9;
  background:rgba(14,165,233,.10);
  border-color:rgba(14,165,233,.25);
}
.pecs-ico-btn[data-pecs-swap-food]:hover{
  background:rgba(14,165,233,.16);
  border-color:rgba(14,165,233,.35);
}

/* ====== EMOJI ICONS (SVG fallback) ====== */
.pecs-ico .pecs-emoji{
  display:block;
  font-size:16px;
  line-height:1;
}

/* ====== DETAILS / ACCORDION (Guías opcionales) ====== */
.pecs-details{
  padding:0;
}
.pecs-details > summary{
  list-style:none;
}
.pecs-details > summary::-webkit-details-marker{
  display:none;
}
.pecs-details-summary{
  cursor:pointer;
  padding:14px 16px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.pecs-details[open] .pecs-details-summary{
  border-bottom:1px solid rgba(0,0,0,.08);
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.pecs-details-title{
  font-weight:800;
}
.pecs-details-sub{
  font-size:13px;
}
.pecs-details-body{
  padding:14px 16px 16px;
}


/* Hotfix: tabs activos en azul claro (por encima del tema) */
.pecs-tabs .pecs-tab.is-active,
.pecs-tabs a.is-active,
.pecs-tabs button.is-active,
.pecs-tabs .active {
  background: #4aa3ff !important;
  border-color: #4aa3ff !important;
  color: #ffffff !important;
}

/* ====== AI NOTICE (Entrenamiento) ====== */
.pecs-ai-banner{
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(74,163,255,.10);
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.pecs-ai-banner strong{ font-weight:800; }
.pecs-ai-banner.pecs-flash{
  animation: pecsAIPulse 1.2s ease-in-out 2;
  border-color: rgba(74,163,255,.55);
}
@keyframes pecsAIPulse{
  0%{ transform: translateY(0); filter: brightness(1); }
  50%{ transform: translateY(-2px); filter: brightness(1.12); }
  100%{ transform: translateY(0); filter: brightness(1); }
}

/* ====== Semáforo de dolor (v1.8.8) ====== */
.pecs-pain-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pecs-pain-row .pecs-btn{padding:8px 12px;border-radius:999px}
.pecs-pain-row .pecs-btn.is-active{background:#4aa3ff;color:#fff;border-color:#4aa3ff}
.pecs-pain-help{font-size:12px;color:#555;margin-top:6px}

/* ====== Agrupacion de ejercicios por grupo muscular (v1.8.0) ====== */
.pecs-groups-summary{margin-top:8px}
.pecs-group-row td{background:#f8fafc;border-top:1px solid #eee;font-weight:700;padding:10px 12px}
.pecs-group-title{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:#111}
.pecs-group-sub{font-weight:400;font-size:12px;color:#666;margin-left:8px}

/* ====== Dashboard welcome (contexto) ====== */
.pecs-welcome{margin:0 0 12px}
.pecs-welcome-steps{margin:0 0 0 18px;padding:0}
.pecs-welcome-steps li{margin:6px 0;line-height:1.35}

/* ====== GIF Watermark (siempre visible en el modal) ====== */
.pecs-gif-wrap{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
}
.pecs-gif-wrap img{
  display:block;
  width:100%;
  height:auto;
}
.pecs-gif-watermark{
  position:absolute;
  inset:-20% -20%;
  pointer-events:none;
  user-select:none;
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  justify-content:flex-start;
  transform: rotate(-18deg);
  opacity: .22;
}
.pecs-gif-watermark span{
  margin: 18px 24px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 16px;
  white-space: nowrap;
  color: rgba(255,255,255,.85);
  text-shadow:
    0 1px 2px rgba(0,0,0,.65),
    0 0 0.5px rgba(0,0,0,.9);
}

/* ====== Card heredada oculta (Dashboard) ====== */
.pecs-pro-card{
  border:1px solid rgba(52,140,255,.22);
  background: linear-gradient(135deg, rgba(52,140,255,.12), rgba(0,0,0,0));
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}


/* ====== PeC UX Preview real: Coach Fitness abierto ====== */
:root{
  --pecs-text:#1c1c1c;
  --pecs-muted:#4f4f4f;
  --pecs-blue:#eaf7ff;
  --pecs-blue-border:rgba(66,153,225,0.35);
  --pecs-yellow:#fff3a6;
  --pecs-yellow-border:rgba(220,180,30,0.35);
  --pecs-yellow-strong:#d9b100;
}
.pecs-wrap{
  max-width:1180px !important;
  margin:18px auto !important;
  padding:18px 14px 30px !important;
  color:var(--pecs-text);
}
.pecs-coach-hero{
  background:var(--pecs-yellow);
  border:1px solid var(--pecs-yellow-border);
  border-left:7px solid var(--pecs-yellow-strong);
  border-radius:18px;
  padding:21px 22px;
  margin-bottom:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.pecs-hero-copy{min-width:260px;flex:1 1 620px}
.pecs-hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pecs-hero-pills span,
.pecs-mini-pill{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900;
  background:#fff;border:1px solid rgba(0,0,0,.10);color:var(--pecs-text);
}
.pecs-hero-pills span:nth-child(2){background:var(--pecs-blue);border-color:var(--pecs-blue-border)}
.pecs-coach-hero h1{margin:0 0 7px;font-size:31px;line-height:1.08;letter-spacing:-.02em;font-weight:900;color:var(--pecs-text)}
.pecs-coach-hero p{margin:0;color:var(--pecs-muted);font-size:14px;line-height:1.5;max-width:850px}
.pecs-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.pecs-card{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:16px !important;
  box-shadow:0 6px 15px rgba(0,0,0,.04) !important;
}
.pecs-universe{
  background:var(--pecs-blue) !important;
  border-color:var(--pecs-blue-border) !important;
  padding:15px !important;
  margin-bottom:14px !important;
}
.pecs-universe-head h2{margin:0 0 6px;font-size:23px;line-height:1.1;color:var(--pecs-text)}
.pecs-universe-head p{margin:0 0 12px;color:var(--pecs-muted);font-size:14px;line-height:1.5}
.pecs-universe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.pecs-universe-card{
  background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:14px 15px;
  box-shadow:0 6px 15px rgba(0,0,0,.04)
}
.pecs-universe-card.is-current{background:var(--pecs-yellow);border-color:var(--pecs-yellow-border)}
.pecs-universe-card strong{display:block;font-size:17px;margin-bottom:5px;color:var(--pecs-text)}
.pecs-universe-card p{margin:0 0 12px;color:var(--pecs-muted);font-size:14px;line-height:1.5}
.pecs-coach-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}
.pecs-coach-stats .pecs-card{padding:14px 15px !important}
.pecs-coach-stats strong{display:block;color:var(--pecs-text)}
.pecs-coach-stats div{font-size:26px;font-weight:900;margin-top:6px;color:var(--pecs-text)}
.pecs-coach-stats p{margin:0;color:var(--pecs-muted);font-size:14px;line-height:1.5}
.pecs-coach-shell{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}
.pecs-coach-side{
  background:var(--pecs-blue);border:1px solid var(--pecs-blue-border);border-radius:18px;
  box-shadow:0 8px 20px rgba(0,0,0,.05);padding:15px;
}
.pecs-coach-side h2{margin:0 0 10px;font-size:22px;line-height:1.1;color:var(--pecs-text)}
.pecs-tabs{display:grid !important;grid-template-columns:1fr;gap:8px !important;margin:0 !important}
.pecs-tab,
.pecs-tabs .pecs-tab-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border-radius:999px !important;padding:9px 14px !important;font-size:14px !important;font-weight:900 !important;
  text-decoration:none !important;color:var(--pecs-text) !important;-webkit-text-fill-color:var(--pecs-text) !important;
  border:1px solid rgba(0,0,0,.12) !important;background:#fff !important;box-shadow:none !important;margin-left:0 !important;
}
.pecs-tab.is-active,
.pecs-tabs .pecs-tab.is-active{
  background:var(--pecs-yellow) !important;border-color:rgba(220,180,30,.45) !important;
  color:var(--pecs-text) !important;-webkit-text-fill-color:var(--pecs-text) !important;
}
.pecs-side-rule{
  background:var(--pecs-yellow);border:1px solid var(--pecs-yellow-border);border-radius:16px;padding:12px;margin-top:12px;
}
.pecs-side-rule p{margin:5px 0 0;color:var(--pecs-muted);font-size:14px;line-height:1.5}
.pecs-main-card{padding:16px !important}
.pecs-access-model{background:var(--pecs-blue) !important;border-color:var(--pecs-blue-border) !important;padding:16px !important;margin-top:14px}
.pecs-access-model h2{margin:0 0 10px;font-size:24px;line-height:1.1;color:var(--pecs-text)}
.pecs-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.pecs-access-grid div{background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:14px 15px;box-shadow:0 6px 15px rgba(0,0,0,.04)}
.pecs-access-grid p{margin:5px 0 0;color:var(--pecs-muted);font-size:14px;line-height:1.5}
.pecs-btn,
.pecs-btn:visited,
.pecs-btn:hover,
.pecs-btn:focus,
.pecs-btn:active,
.pecs-btn:disabled,
.pecs-btn[disabled]{
  display:inline-flex !important;align-items:center;justify-content:center;gap:7px;
  border-radius:999px !important;padding:9px 14px !important;font-size:14px !important;font-weight:900 !important;
  color:var(--pecs-text) !important;-webkit-text-fill-color:var(--pecs-text) !important;text-decoration:none !important;
  border:1px solid rgba(220,180,30,.45) !important;background:var(--pecs-yellow) !important;box-shadow:none !important;
}
.pecs-btn.ghost,
.pecs-btn.ghost:visited,
.pecs-btn.ghost:hover,
.pecs-btn.ghost:focus,
.pecs-btn.ghost:active{
  background:#fff !important;border:1px solid rgba(0,0,0,.12) !important;color:var(--pecs-text) !important;-webkit-text-fill-color:var(--pecs-text) !important;
}
.pecs-btn.pecs-btn-cta,
.pecs-btn.pecs-btn-cta:visited,
.pecs-btn.pecs-btn-cta:hover,
.pecs-btn.pecs-btn-cta:focus,
.pecs-btn.pecs-btn-cta:active{
  background:var(--pecs-blue) !important;border:1px solid var(--pecs-blue-border) !important;color:var(--pecs-text) !important;-webkit-text-fill-color:var(--pecs-text) !important;
}
.pecs-badge{background:#fff;border:1px solid rgba(0,0,0,.10);color:var(--pecs-text);font-weight:800}
.pecs-muted,.pecs-note,.pecs-mini{color:var(--pecs-muted) !important}
.pecs-ai-banner{background:var(--pecs-blue);border-color:var(--pecs-blue-border);border-radius:14px;color:var(--pecs-text)}
.pecs-pro-card{display:none !important}
@media(max-width:860px){.pecs-coach-shell{grid-template-columns:1fr}.pecs-tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.pecs-coach-hero h1{font-size:26px}}
