/* Pedra symptom finder. All selectors are scoped to the page or its dialogs. */
.pd-trps { --trps-bg:#f5f8fb; --trps-surface:#fff; --trps-text:#173548; --trps-muted:#647c89; --trps-line:#dbe7eb; --trps-accent:#087f83; --trps-soft:#e8f6f3; --trps-shadow:0 18px 48px rgba(17,58,75,.08); background:var(--trps-bg); color:var(--trps-text); min-height:70vh; padding:32px 0 80px; }
.pd-trps * { box-sizing:border-box; }
.pd-trps-shell { width:min(1200px,calc(100% - 36px)); margin:auto; }
.pd-trps-breadcrumb { display:flex; gap:12px; align-items:center; color:var(--trps-muted); font-size:.88rem; margin-bottom:25px; }
.pd-trps-breadcrumb a { color:inherit; text-decoration:none; }
.pd-trps-breadcrumb a:hover { color:var(--trps-accent); }
.pd-trps-hero { display:grid; grid-template-columns:1.25fr .75fr; min-height:370px; overflow:hidden; position:relative; border-radius:30px; background:linear-gradient(125deg,#113a51,#086c72); color:#fff; box-shadow:var(--trps-shadow); }
.pd-trps-hero-copy { position:relative; z-index:1; padding:clamp(30px,5vw,70px); align-self:center; }
.pd-trps-kicker,.pd-trps-overline { display:inline-flex; align-items:center; gap:9px; font-size:.85rem; font-weight:700; letter-spacing:.02em; }
.pd-trps-kicker { color:#b9e7dc; }
.pd-trps-kicker-dot { width:8px; height:8px; border-radius:50%; background:#e7b773; box-shadow:0 0 0 5px #e7b77330; }
.pd-trps h1 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.52; font-weight:900; margin:16px 0; }
.pd-trps h1 em { color:#f0c58d; font-style:normal; }
.pd-trps-hero-copy>p { max-width:580px; line-height:2; color:#d8e8eb; margin-bottom:24px; }
.pd-trps-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.pd-trps-primary,.pd-trps-secondary { border-radius:13px; padding:12px 19px; display:inline-flex; align-items:center; gap:10px; font-weight:800; text-decoration:none; cursor:pointer; transition:transform .18s,background .18s; }
.pd-trps-primary { border:1px solid #eabf83; color:#173548; background:#edc48e; }
.pd-trps-secondary { border:1px solid #a9d6d7; color:#fff; background:#ffffff10; }
.pd-trps-primary:hover,.pd-trps-secondary:hover { transform:translateY(-2px); }
.pd-trps-secondary:hover { background:#ffffff25; color:#fff; }
.pd-trps-hero-visual { position:relative; display:grid; place-items:center; isolation:isolate; }
.pd-trps-orbit { position:absolute; border:1px solid #ffffff23; border-radius:50%; width:320px; height:320px; }
.pd-trps-orbit-b { width:460px; height:460px; }
.pd-trps-visual-card { position:relative; width:180px; height:260px; display:grid; place-items:center; border:1px solid #ffffff50; border-radius:35px; background:linear-gradient(145deg,#ffffff30,#ffffff08); box-shadow:0 25px 60px #00272c66; backdrop-filter:blur(12px); }
.pd-trps-visual-card>i { font-size:175px; color:#d5f0e9; }
.pd-trps-visual-pin { position:absolute; width:18px; height:18px; background:#f1ad77; border:4px solid #fff; border-radius:50%; box-shadow:0 0 0 9px #f1ad7744; }
.pin-one { top:77px; left:47px; }.pin-two { top:137px; right:41px; }.pin-three { bottom:58px; left:65px; }
.pd-trps-visual-caption { position:absolute; bottom:30px; display:flex; gap:8px; align-items:center; border-radius:100px; padding:10px 17px; background:#ffffffde; color:#19515a; font-weight:800; font-size:.85rem; }
.pd-trps-guide,.pd-trps-library { margin-top:34px; background:var(--trps-surface); border:1px solid var(--trps-line); border-radius:24px; box-shadow:var(--trps-shadow); padding:clamp(22px,3vw,37px); }
.pd-trps-section-heading { display:flex; gap:15px; align-items:center; margin-bottom:16px; }
.pd-trps-section-icon,.pd-trps-muscle-icon { display:grid; place-items:center; flex:none; width:45px; height:45px; border-radius:14px; background:var(--trps-soft); color:var(--trps-accent); }
.pd-trps-overline { color:var(--trps-accent); }
.pd-trps h2 { font-size:clamp(1.35rem,2vw,1.9rem); margin:4px 0 0; font-weight:850; }
.pd-trps-guide-content { color:var(--trps-muted); line-height:2.1; overflow-wrap:anywhere; }
.pd-trps-guide-content img { max-width:100%; height:auto; }.pd-trps-guide-content a { color:var(--trps-accent); }
.pd-trps-library-top { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; }
.pd-trps-library-top p { color:var(--trps-muted); margin:9px 0 0; }
.pd-trps-count { white-space:nowrap; color:var(--trps-accent); background:var(--trps-soft); border-radius:100px; padding:9px 16px; font-weight:750; }
.pd-trps-search-wrap { display:flex; align-items:center; gap:10px; max-width:580px; border:1px solid var(--trps-line); border-radius:15px; padding:0 16px; color:var(--trps-accent); background:var(--trps-surface); }
.pd-trps-search-wrap:focus-within { outline:3px solid #0b888532; border-color:var(--trps-accent); }
.pd-trps-search-wrap input { width:100%; padding:15px 0; border:0; outline:0; background:transparent; color:var(--trps-text); }
.pd-trps-search-wrap input::placeholder { color:var(--trps-muted); }
.pd-trps-search-wrap button { border:0; background:transparent; color:var(--trps-muted); cursor:pointer; }
.pd-trps-admin-note { display:flex; gap:9px; align-items:center; margin:17px 0 0; padding:11px 15px; color:var(--trps-text); border-radius:12px; background:var(--trps-soft); font-size:.9rem; }
.pd-trps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-top:24px; }
.pd-trps-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--trps-line); border-radius:18px; padding:20px; background:var(--trps-surface); transition:box-shadow .18s,transform .18s; }
.pd-trps-card:hover { box-shadow:var(--trps-shadow); transform:translateY(-3px); }
.pd-trps-card[hidden],.pd-trps-empty[hidden] { display:none; }
.pd-trps-card-head { display:flex; justify-content:space-between; align-items:center; }
.pd-trps-card-label { font-size:.8rem; color:var(--trps-muted); }
.pd-trps-card h3 { font-size:1.07rem; margin:19px 0 23px; overflow-wrap:anywhere; }
.pd-trps-card-actions { margin-top:auto; display:flex; gap:8px; flex-wrap:wrap; }
.pd-trps-action { flex:1 1 auto; border:1px solid var(--trps-line); border-radius:10px; padding:10px; background:var(--trps-surface); color:var(--trps-text); cursor:pointer; font-size:.86rem; font-weight:750; }
.pd-trps-action:hover { border-color:var(--trps-accent); color:var(--trps-accent); }
.pd-trps-action-accent { background:var(--trps-soft); color:var(--trps-accent); border-color:transparent; }
.pd-trps-empty { display:grid; justify-items:center; gap:9px; padding:45px; color:var(--trps-muted); text-align:center; }
.pd-trps-empty i { font-size:2rem; color:var(--trps-accent); }.pd-trps-empty strong { color:var(--trps-text); }
.pd-trps-disclaimer { margin:25px 5px 0; color:var(--trps-muted); font-size:.87rem; line-height:1.8; }
.pd-trps button:focus-visible,.pd-trps a:focus-visible { outline:3px solid #e8a969; outline-offset:3px; }
.pd-trps-dialog { direction:rtl; border-radius:20px; background:var(--trps-surface,#fff); color:var(--trps-text,#173548); }
.pd-trps-dialog .swal2-title { color:inherit; }.pd-trps-dialog .swal2-html-container { color:inherit; }
.pd-trps-dialog .pd-trps-modal-text { margin:0 0 12px; line-height:1.8; }
.pd-trps-dialog .pd-trps-canvas-wrap { width:100%; max-height:62vh; overflow:auto; border:1px solid var(--trps-line,#dbe7eb); border-radius:12px; background:#f1f5f5; text-align:center; }
.pd-trps-dialog canvas { display:block; max-width:100%; height:auto; margin:auto; cursor:crosshair; touch-action:none; }
.pd-trps-dialog .pd-trps-tools { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin:14px 0; }
.pd-trps-dialog .pd-trps-tools input { width:min(200px,50vw); accent-color:#087f83; }
.pd-trps-dialog .pd-trps-tool-button { border:1px solid #cddde0; border-radius:9px; background:transparent; color:inherit; padding:7px 12px; cursor:pointer; }
.pd-trps-dialog .pd-trps-dialog-status { min-height:1.5em; color:#a33c34; }
.pd-trps-dialog .pd-trps-result-list { text-align:right; list-style:none; padding:0; margin:0; }
.pd-trps-dialog .pd-trps-result-list li { border-bottom:1px solid #dbe7eb; padding:10px 5px; }
.pd-trps-dialog .pd-trps-info { text-align:right; line-height:1.9; overflow-wrap:anywhere; }.pd-trps-dialog .pd-trps-info img { max-width:100%; height:auto; }
[data-bs-theme="dark"] .pd-trps,.dark .pd-trps,.pd-trps[data-theme="dark"] { --trps-bg:#0b1b25; --trps-surface:#142a36; --trps-text:#ecf5f5; --trps-muted:#b1c7cc; --trps-line:#2c4650; --trps-accent:#75d6ca; --trps-soft:#173e43; --trps-shadow:0 20px 48px #0004; }
[data-bs-theme="dark"] .pd-trps-dialog,.dark .pd-trps-dialog,html[data-bs-theme="dark"] .pd-trps-dialog { --trps-surface:#142a36; --trps-text:#ecf5f5; --trps-line:#2c4650; background:#142a36; color:#ecf5f5; }
[data-bs-theme="dark"] .pd-trps-dialog .pd-trps-tool-button { border-color:#42606a; }
@media(max-width:900px) { .pd-trps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pd-trps-hero { grid-template-columns:1.2fr .8fr; } }
@media(max-width:680px) { .pd-trps { padding:20px 0 55px; }.pd-trps-shell { width:min(100% - 24px,1200px); }.pd-trps-hero { grid-template-columns:1fr; }.pd-trps-hero-copy { padding:30px 23px 20px; }.pd-trps-hero-visual { min-height:190px; }.pd-trps-visual-card { transform:scale(.65); margin:-35px; }.pd-trps-visual-caption { bottom:10px; }.pd-trps-grid { grid-template-columns:1fr; }.pd-trps-library-top { align-items:flex-start; }.pd-trps-count { font-size:.8rem; }.pd-trps-hero-actions>* { justify-content:center; }.pd-trps-guide,.pd-trps-library { border-radius:19px; } }
@media(prefers-reduced-motion:reduce) { .pd-trps * { scroll-behavior:auto!important; transition:none!important; } }

/* The shared public stylesheet styles every section. Restore this page's own spacing. */
main.pd-trps section.pd-trps-hero { padding: 0; }
main.pd-trps section.pd-trps-guide,
main.pd-trps section.pd-trps-library { padding: clamp(22px, 3vw, 37px); }
main.pd-trps .pd-trps-hero-copy { padding: clamp(30px, 5vw, 70px); }
main.pd-trps .pd-trps-hero h1 { color: #fff; }
main.pd-trps .pd-trps-library h2,
main.pd-trps .pd-trps-guide h2,
main.pd-trps .pd-trps-card h3 { color: var(--trps-text); }
main.pd-trps article.pd-trps-card { padding: 20px; }
main.pd-trps .pd-trps-shell {
  width: min(1200px, calc(100% - 48px));
  max-width: 1200px;
  margin-inline: auto;
}
@media (max-width: 680px) {
  main.pd-trps section.pd-trps-guide,
  main.pd-trps section.pd-trps-library { padding: 22px; }
  main.pd-trps .pd-trps-hero-copy { padding: 30px 23px 20px; }
  main.pd-trps .pd-trps-shell { width: calc(100% - 24px); }
}
/* Links from symptom-finder results to the existing muscle cards. */
.pd-trps-dialog .pd-trps-result-link {
  display: block;
  padding: 10px 14px;
  color: inherit;
  font-family: inherit;
  text-decoration: underline;
  text-underline-offset: 5px;
  border-radius: 10px;
}
.pd-trps-dialog .pd-trps-result-link:hover,
.pd-trps-dialog .pd-trps-result-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.pd-trps .pd-trps-card-selected {
  outline: 3px solid #299f80;
  outline-offset: 4px;
  scroll-margin-block: 120px 32px;
}