/**
 * Cure Commerce Engine — Doctor Card styles
 * Ported from the approved Platinum / Gold / Silver / Free designs.
 * All classes are namespaced .ccd-* and self-contained so they don't leak
 * into the theme and the theme can't easily override them.
 */

.ccd-card{
  /* tokens */
  --ccd-primary:#005A2E;--ccd-primary-dark:#00361B;--ccd-emerald:#00C853;--ccd-glow:#00E676;
  --ccd-white:#FFFFFF;
  --ccd-t1:#0F1714;--ccd-t2:#566159;--ccd-t3:#8A968E;
  --ccd-on-dark:#EAF7EF;--ccd-on-dark-2:#A7C9B5;--ccd-on-dark-3:#7C9E8A;
  --ccd-star:#E8A100;
  --ccd-wa:#25D366;
  --ccd-r-xl:32px;--ccd-r-lg:22px;--ccd-r-md:16px;--ccd-r-pill:999px;
  --ccd-bd-soft:1px solid rgba(0,77,38,.08);
  --ccd-base:.4s;--ccd-ease:cubic-bezier(.22,.61,.36,1);

  position:relative;
  border-radius:var(--ccd-r-xl);
  overflow:hidden;
  max-width:920px;
  margin:0 auto 18px;
  background:var(--ccd-white);
  border:var(--ccd-bd-soft);
  box-shadow:0 4px 14px rgba(8,40,24,.04),0 16px 34px rgba(8,40,24,.05);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ccd-t1);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  transition:transform var(--ccd-base) var(--ccd-ease),box-shadow var(--ccd-base) var(--ccd-ease);
}
.ccd-card *,.ccd-card *::before,.ccd-card *::after{box-sizing:border-box;margin:0;padding:0}
.ccd-card a{text-decoration:none;color:inherit}
.ccd-card button{font-family:inherit;cursor:pointer;background:none;border:none;-webkit-tap-highlight-color:transparent}
.ccd-card svg{display:block}
.ccd-card ul{list-style:none}
.ccd-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.ccd-card a:focus-visible,.ccd-card button:focus-visible{outline:2px solid var(--ccd-emerald);outline-offset:3px;border-radius:12px}
.ccd-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(8,40,24,.07),0 30px 64px rgba(8,40,24,.10)}

.ccd-inner{position:relative;z-index:2;padding:28px 30px}

/* ---- Rails (gold / silver) ---- */
.ccd-rail{position:absolute;left:0;top:0;bottom:0;width:5px;z-index:3}
.ccd-gold .ccd-rail{background:linear-gradient(180deg,#E6BE54,#A87A14)}
.ccd-silver .ccd-rail{background:linear-gradient(180deg,#C2CCC6,#8A988F)}

/* ---- Grid ---- */
.ccd-grid{display:grid;grid-template-columns:1fr 256px;grid-template-areas:"id act" "detail act";gap:18px 30px;align-items:start}
.ccd-id{grid-area:id;display:flex;gap:22px;min-width:0}
.ccd-detail{grid-area:detail;display:flex;flex-direction:column;gap:9px}
.ccd-act{grid-area:act;display:flex;flex-direction:column;gap:11px;align-self:stretch;justify-content:center;padding-left:30px;border-left:var(--ccd-bd-soft)}

/* ---- Flags ---- */
.ccd-flags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ccd-flag{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 13px;border-radius:var(--ccd-r-pill);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1}
.ccd-flag svg{width:13px;height:13px;position:relative;z-index:2}
.ccd-flag-spon{background:rgba(15,23,20,.06);color:var(--ccd-t2);border:1px solid rgba(15,23,20,.1)}
.ccd-badge-platinum{position:relative;overflow:hidden;background:linear-gradient(135deg,#F4FFF8,#BFE9CF);color:#013A20;border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 14px rgba(0,230,118,.3)}
.ccd-badge-platinum svg{color:#0A6E3D}
.ccd-badge-gold{position:relative;overflow:hidden;background:linear-gradient(135deg,#F6E5B6,#E0BC63);color:#6B4E0C;border:1px solid rgba(180,140,40,.3)}
.ccd-badge-gold svg{color:#A87A14}
.ccd-badge-silver{background:#EEF1EF;color:#5C6B62;border:1px solid #D2DAD5}
.ccd-badge-silver svg{color:#7E8C84}
.ccd-badge-platinum>:not(.ccd-shimmer),.ccd-badge-gold>:not(.ccd-shimmer){position:relative;z-index:2}
.ccd-shimmer{position:absolute;top:0;left:-120%;width:60%;height:100%;z-index:1;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.82) 50%,transparent 100%);animation:ccd-glimmer 3.4s ease-in-out infinite;pointer-events:none}
@keyframes ccd-glimmer{0%{left:-120%}55%{left:160%}100%{left:160%}}

/* ---- Identity ---- */
.ccd-photo{width:104px;height:104px;border-radius:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;background:linear-gradient(150deg,#0E8A4D,#02502B);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 12px 26px rgba(0,71,42,.16)}
.ccd-gold .ccd-photo{background:linear-gradient(150deg,#1B6E42,#0A4A2B)}
.ccd-silver .ccd-photo{background:linear-gradient(150deg,#5E7B6B,#3E5849)}
.ccd-photo-muted{background:linear-gradient(150deg,#7E8C84,#5C685F)!important}
.ccd-initials{font-family:'Fraunces',Georgia,serif;font-size:38px;font-weight:600;color:#EAF7EF}
.ccd-idtext{min-width:0;padding-top:2px}
.ccd-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.ccd-name{font-family:'Fraunces',Georgia,serif;font-size:21px;font-weight:600;letter-spacing:-0.01em;color:var(--ccd-t1);line-height:1.1}
.ccd-verified{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;background:rgba(0,200,83,.1);border:1px solid rgba(0,200,83,.24);border-radius:var(--ccd-r-pill);font-size:10.5px;font-weight:700;color:var(--ccd-primary)}
.ccd-verified svg{width:12px;height:12px}
.ccd-cred{font-size:13.5px;font-weight:600;color:var(--ccd-primary);margin-bottom:2px}
.ccd-meta{font-size:13.5px;color:var(--ccd-t2);margin-bottom:14px}

/* ---- Stat row ---- */
.ccd-stats{display:flex;gap:0;align-items:stretch}
.ccd-stat{display:flex;flex-direction:column;gap:3px;padding:0 18px;position:relative;justify-content:center}
.ccd-stat:first-child{padding-left:0}
.ccd-stat:not(:last-child)::after{content:"";position:absolute;right:0;top:5px;bottom:5px;width:1px;background:rgba(0,77,38,.1)}
.ccd-stat-val{font-family:'Fraunces',Georgia,serif;font-size:21px;font-weight:600;color:var(--ccd-t1);line-height:1;display:inline-flex;align-items:baseline;gap:3px}
.ccd-stat-unit{font-size:12px;font-weight:500;color:var(--ccd-t3)}
.ccd-stat-muted{color:var(--ccd-t3)}
.ccd-stat-star{align-items:center;gap:4px}
.ccd-stat-star svg{width:15px;height:15px;color:var(--ccd-star);transform:translateY(-1px)}
.ccd-stat-key{font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--ccd-t3);text-transform:uppercase}
.ccd-stat-btn{padding-top:0;padding-bottom:0}
.ccd-reviews-trigger{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:6px 10px;margin:-6px -10px;border-radius:12px;transition:background var(--ccd-base) var(--ccd-ease),transform var(--ccd-base) var(--ccd-ease)}
.ccd-reviews-trigger:hover{background:rgba(0,77,38,.05);transform:translateY(-1px)}
.ccd-stat-key-link{color:var(--ccd-primary);text-decoration:underline;text-decoration-color:rgba(0,90,46,.3);text-underline-offset:3px}
.ccd-stat-link a{display:flex;flex-direction:column;gap:3px;padding:6px 10px;margin:-6px -10px;border-radius:12px;transition:background var(--ccd-base) var(--ccd-ease),transform var(--ccd-base) var(--ccd-ease)}
.ccd-stat-link .ccd-stat-val{color:var(--ccd-primary);align-items:center;gap:5px}
.ccd-stat-link .ccd-stat-key{color:var(--ccd-primary);text-decoration:underline;text-decoration-color:rgba(0,90,46,.3);text-underline-offset:3px}
.ccd-stat-ext{width:13px;height:13px;color:var(--ccd-emerald)}
.ccd-stat-link a:hover{background:rgba(0,77,38,.05);transform:translateY(-1px)}

/* ---- Detail ---- */
.ccd-line{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ccd-t2)}
.ccd-line svg{width:15px;height:15px;color:var(--ccd-t3);flex-shrink:0}

/* Imported rating tag */
.ccd-imported{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--ccd-t3);max-width:100%}
.ccd-imported svg{width:11px!important;height:11px!important;flex-shrink:0;color:var(--ccd-primary)}
/* Safety: no icon inside a stat may ever balloon, regardless of theme */
.ccd-stats svg{flex-shrink:0;max-width:20px;max-height:20px}
.ccd-stat-star svg{width:15px;height:15px}
.ccd-stat-ext{width:13px;height:13px}

/* Recently joined badge */
.ccd-newbadge{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 13px;background:rgba(0,200,83,.1);border:1px solid rgba(0,200,83,.26);border-radius:var(--ccd-r-pill);font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--ccd-primary)}
.ccd-newbadge svg{width:13px;height:13px;color:var(--ccd-primary)}

/* Maps-linked address — always clearly visible */
.ccd-map{display:flex;align-items:center;gap:9px;padding:7px 12px;margin:-3px -12px;border-radius:12px;border:1px solid transparent;transition:background var(--ccd-base) var(--ccd-ease),border-color var(--ccd-base) var(--ccd-ease)}
.ccd-addr{font-size:13.5px;font-weight:500;color:var(--ccd-t2);border-bottom:1px dashed rgba(0,90,46,.3);padding-bottom:1px}
.ccd-map:hover{background:rgba(0,90,46,.05);border-color:rgba(0,200,83,.22)}
.ccd-map:hover .ccd-addr{color:var(--ccd-t1);border-bottom-color:rgba(0,90,46,.6)}
.ccd-dir{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(0,200,83,.12);flex-shrink:0;margin-left:auto}
.ccd-dir svg{width:13px;height:13px;color:var(--ccd-primary)}

/* ---- Action column ---- */
.ccd-price{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;margin-bottom:2px}
.ccd-price-amt{font-family:'Fraunces',Georgia,serif;font-size:34px;font-weight:700;color:var(--ccd-t1);line-height:1;letter-spacing:-0.02em}
.ccd-price-lbl{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ccd-t3)}
.ccd-book{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;padding:0 20px;border-radius:var(--ccd-r-pill);background:var(--ccd-primary);color:#FFFFFF;font-size:14.5px;font-weight:700;box-shadow:0 10px 22px rgba(0,90,46,.24);transition:transform var(--ccd-base) var(--ccd-ease),box-shadow var(--ccd-base) var(--ccd-ease),background var(--ccd-base) var(--ccd-ease)}
.ccd-book span{color:#FFFFFF}
.ccd-book:hover{background:var(--ccd-primary-dark);transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,90,46,.3)}
.ccd-arrow{width:16px;height:16px;transition:transform var(--ccd-base) var(--ccd-ease)}
.ccd-book:hover .ccd-arrow,.ccd-ghost:hover .ccd-arrow{transform:translateX(3px)}
.ccd-wa{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;padding:0 18px;border-radius:var(--ccd-r-pill);background:linear-gradient(135deg,#25D366,#1EBE5A);color:#053D24;font-size:14px;font-weight:700;box-shadow:0 8px 20px rgba(37,211,102,.28),inset 0 1px 0 rgba(255,255,255,.35);transition:transform var(--ccd-base) var(--ccd-ease),box-shadow var(--ccd-base) var(--ccd-ease),filter var(--ccd-base) var(--ccd-ease)}
.ccd-wa span{color:#053D24}
.ccd-wa:hover{transform:translateY(-2px);filter:brightness(1.05)}
.ccd-wa svg{width:17px;height:17px;color:#053D24}
.ccd-ghost{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:0 20px;border-radius:var(--ccd-r-pill);background:rgba(0,90,46,.06);border:1px solid rgba(0,90,46,.13);color:var(--ccd-primary);font-size:14px;font-weight:600;transition:background var(--ccd-base) var(--ccd-ease),transform var(--ccd-base) var(--ccd-ease)}
.ccd-ghost span{color:var(--ccd-primary)}
.ccd-ghost:hover{background:rgba(0,200,83,.1);transform:translateY(-2px)}
.ccd-mode{font-size:11.5px;color:var(--ccd-t3);letter-spacing:.02em;text-align:center}

/* ════════ PLATINUM — dark emerald + glow ════════ */
.ccd-platinum{
  border:1px solid rgba(0,200,83,.22);
  background:
    radial-gradient(120% 90% at 84% -10%,#02562E 0%,transparent 56%),
    linear-gradient(162deg,#024226 0%,#012A18 60%,#011E12 100%);
  box-shadow:0 10px 30px rgba(0,60,32,.25),0 40px 90px rgba(0,38,21,.36);
}
.ccd-platinum:hover{box-shadow:0 16px 42px rgba(0,60,32,.32),0 50px 110px rgba(0,38,21,.44)}
.ccd-glow{position:absolute;z-index:1;width:360px;height:360px;border-radius:50%;top:-160px;right:-100px;background:radial-gradient(circle,rgba(0,230,118,.32),transparent 66%);filter:blur(44px);pointer-events:none}
.ccd-platinum .ccd-flag-spon{background:rgba(255,255,255,.1);color:#CFEBD9;border:1px solid rgba(255,255,255,.16)}
.ccd-platinum .ccd-photo{background:linear-gradient(150deg,#0E8A4D,#02502B);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 12px 26px rgba(0,0,0,.32)}
.ccd-platinum .ccd-name{color:#FFFFFF}
.ccd-platinum .ccd-cred{color:#7FE3A6}
.ccd-platinum .ccd-meta,.ccd-platinum .ccd-line{color:var(--ccd-on-dark-2)}
.ccd-platinum .ccd-line svg{color:#5FBF86}
/* Platinum: imported tag, recently-joined, maps address */
.ccd-platinum .ccd-imported{color:var(--ccd-on-dark-3)}
.ccd-platinum .ccd-imported svg{color:#9CF0BF}
.ccd-platinum .ccd-newbadge{background:rgba(0,230,118,.14);border-color:rgba(0,230,118,.3);color:#9CF0BF}
.ccd-platinum .ccd-newbadge svg{color:#7FE3A6}
.ccd-platinum .ccd-addr{color:#DCEFE3;border-bottom-color:rgba(220,239,227,.4)}
.ccd-platinum .ccd-map:hover{background:rgba(255,255,255,.08);border-color:rgba(0,230,118,.25)}
.ccd-platinum .ccd-map:hover .ccd-addr{color:#fff;border-bottom-color:rgba(255,255,255,.7)}
.ccd-platinum .ccd-dir{background:rgba(0,230,118,.16)}
.ccd-platinum .ccd-dir svg{color:#9CF0BF}
.ccd-platinum .ccd-verified{background:rgba(0,230,118,.16);border-color:rgba(0,230,118,.34);color:#9CF0BF}
.ccd-platinum .ccd-stat-val{color:#FFFFFF}
.ccd-platinum .ccd-stat-unit,.ccd-platinum .ccd-stat-key{color:var(--ccd-on-dark-3)}
.ccd-platinum .ccd-stat:not(:last-child)::after{background:rgba(255,255,255,.14)}
.ccd-platinum .ccd-stat-muted{color:var(--ccd-on-dark-3)}
.ccd-platinum .ccd-stat-key-link,.ccd-platinum .ccd-stat-link .ccd-stat-key{color:#7FE3A6;text-decoration-color:rgba(127,227,166,.4)}
.ccd-platinum .ccd-stat-link .ccd-stat-val{color:#9CF0BF}
.ccd-platinum .ccd-stat-ext{color:#6FE3A0}
.ccd-platinum .ccd-reviews-trigger:hover,.ccd-platinum .ccd-stat-link a:hover{background:rgba(255,255,255,.07)}
.ccd-platinum .ccd-act{border-left:1px solid rgba(255,255,255,.12)}
.ccd-platinum .ccd-price-amt{color:#FFFFFF}
.ccd-platinum .ccd-price-lbl{color:var(--ccd-on-dark-3)}
.ccd-platinum .ccd-book{background:linear-gradient(135deg,#00E676,#00C853);color:#012A18;box-shadow:0 14px 30px rgba(0,200,83,.4),inset 0 1px 0 rgba(255,255,255,.4)}
.ccd-platinum .ccd-book span{color:#012A18}
.ccd-platinum .ccd-book:hover{filter:brightness(1.05)}
.ccd-platinum .ccd-mode{color:#6E9080}

/* ---- Free tightens action column ---- */
.ccd-free .ccd-act{justify-content:center}

/* ════════ RESPONSIVE ════════ */
@media (max-width:760px){
  .ccd-inner{padding:28px 22px}
  .ccd-flags{justify-content:center}
  .ccd-grid{grid-template-columns:1fr;grid-template-areas:"id" "detail" "act";gap:20px;text-align:center}
  .ccd-id{flex-direction:column;align-items:center;gap:16px}
  .ccd-idtext{padding-top:0}
  .ccd-name-row{justify-content:center}
  /* centered equal-column stat row */
  .ccd-stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;max-width:360px;margin:0 auto}
  .ccd-stat{align-items:center;justify-content:flex-start;text-align:center;padding:0 12px}
  .ccd-stat:first-child{padding-left:12px}
  .ccd-stat-val,.ccd-stat-star{justify-content:center}
  .ccd-stat-key{line-height:1.3}
  .ccd-reviews-trigger,.ccd-stat-link a{align-items:center;text-align:center;width:100%;margin:0;padding:6px 4px}
  .ccd-reviews-trigger:hover,.ccd-stat-link a:hover{transform:none;background:transparent}
  .ccd-detail{align-items:center}
  .ccd-line{justify-content:center}
  .ccd-map{justify-content:center;margin:0;width:100%}
  .ccd-dir{margin-left:8px}
  .ccd-act{padding-left:0;border-left:none!important;padding-top:22px;border-top:var(--ccd-bd-soft)}
  .ccd-platinum .ccd-act{border-top:1px solid rgba(255,255,255,.12)}
  .ccd-price{width:100%}
  .ccd-glow{width:240px;height:240px;top:-120px;right:-70px}
  .ccd-photo{width:108px;height:108px;border-radius:28px}
  .ccd-initials{font-size:40px}
  .ccd-name{font-size:21px}
}
@media (max-width:420px){
  .ccd-stat{padding:0 10px}
  .ccd-stat-val{font-size:18px}
  .ccd-stat-key{font-size:10px}
  .ccd-price-amt{font-size:30px}
}
@media (prefers-reduced-motion:reduce){
  .ccd-card,.ccd-card *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .ccd-card:hover{transform:none}
  .ccd-shimmer{display:none}
}

/* ════════ RESULTS PAGE WRAPPER ════════ */
.ccr{max-width:980px;margin:0 auto;padding:0 20px;font-family:'Inter',-apple-system,sans-serif;color:#0F1714}
.ccr-head{text-align:center;margin:0 0 32px}
.ccr-title{font-family:'Fraunces',Georgia,serif;font-size:clamp(28px,4vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:700;color:#0F1714;margin:0 0 8px}
.ccr-count{font-size:14px;font-weight:600;color:#566159}
.ccr-list{display:flex;flex-direction:column;gap:18px}
.ccr-disclose{max-width:920px;margin:28px auto 0;padding:16px 20px;background:rgba(0,90,46,.04);border:1px solid rgba(0,77,38,.08);border-radius:16px;font-size:13px;line-height:1.6;color:#566159;text-align:center}

/* Empty state */
.ccr-empty{max-width:560px;margin:0 auto;text-align:center;padding:48px 28px;background:#fff;border:1px solid rgba(0,77,38,.08);border-radius:28px;box-shadow:0 16px 40px rgba(8,40,24,.06)}
.ccr-empty-ic{width:64px;height:64px;margin:0 auto 20px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#E9F6EE,#D6EFE0);color:#005A2E}
.ccr-empty-ic svg{width:30px;height:30px}
.ccr-empty-title{font-family:'Fraunces',Georgia,serif;font-size:26px;font-weight:600;letter-spacing:-.02em;color:#0F1714;margin:0 0 10px}
.ccr-empty-text{font-size:15px;line-height:1.7;color:#566159;margin:0 0 26px}
.ccr-empty-actions{display:flex;flex-direction:column;gap:12px;max-width:340px;margin:0 auto}
.ccr-empty-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-size:14.5px;font-weight:600;transition:transform .3s,background .3s}
.ccr-empty-primary{background:#005A2E;color:#fff!important;box-shadow:0 10px 24px rgba(0,90,46,.24)}
.ccr-empty-primary:hover{background:#00361B;transform:translateY(-2px)}
.ccr-empty-ghost{background:rgba(0,90,46,.06);border:1px solid rgba(0,90,46,.14);color:#005A2E!important}
.ccr-empty-ghost:hover{background:rgba(0,200,83,.1);transform:translateY(-2px)}
@media (max-width:760px){.ccr-empty{padding:36px 22px}}
