/* Panama Care Guide — Canadian edition. Extends Hop On Panama brand system. */
.care-wrap { max-width:1240px; margin:0 auto; padding:0 36px; }

/* Emergency bar */
.care-emergency {
  position:sticky; top:0; z-index:49;
  background:var(--ink); color:#fff; font-size:13px;
}
.care-emergency .care-wrap { display:flex; gap:18px; align-items:center; flex-wrap:wrap; padding:10px 36px; }
.care-emergency strong { color:#FF8A80; letter-spacing:.06em; text-transform:uppercase; font-size:11px; }
.care-emergency a { color:#fff; font-weight:600; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:1px; }
.care-emergency a:hover { border-color:#fff; }
.care-emergency .sep { opacity:.35; }

/* Hero */
.care-hero { padding-top:64px; padding-bottom:40px; }
.care-hero-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:start; }
.care-hero p.lead { font-size:17px; color:var(--ink-soft); line-height:1.55; margin:20px 0 0; max-width:560px; }
.care-flag { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--terracotta); margin-bottom:18px; }
.care-stamp {
  background:#fff; border:1px solid var(--border); border-radius:16px; padding:28px 30px;
}
.care-stamp h3 { font-family:'Fraunces',serif; font-size:18px; font-weight:500; margin-bottom:14px; }
.care-stamp ul { list-style:none; display:grid; gap:10px; }
.care-stamp li { position:relative; padding-left:24px; font-size:14px; color:var(--ink-soft); line-height:1.5; }
.care-stamp li::before { content:'✓'; color:var(--green); font-weight:700; position:absolute; left:0; }
.care-stamp .meta { margin-top:16px; font-size:12px; color:var(--muted); }

/* Section */
.care-section { padding:48px 0; border-top:1px solid var(--border-soft); }
.care-section h2 { font-size:clamp(28px,3.6vw,40px); margin:10px 0 12px; }
.care-section .sub { color:var(--muted); font-size:15px; max-width:640px; margin-bottom:28px; }

/* Five scripts */
.care-scripts { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.care-script { display:block; background:#fff; border:1px solid var(--border); border-radius:14px; padding:22px; }
.care-script .num { font-family:'Fraunces',serif; font-style:italic; color:var(--teal); font-size:22px; }
.care-script h4 { font-family:'Fraunces',serif; font-size:17px; font-weight:500; margin:6px 0 8px; }
.care-script p { font-size:14px; color:var(--ink-soft); line-height:1.55; }

/* Province table */
.care-table { width:100%; border-collapse:collapse; font-size:14px; background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden; }
.care-table th, .care-table td { text-align:left; padding:12px 14px; border-bottom:1px solid var(--border-soft); vertical-align:top; }
.care-table th { background:var(--paper-warm); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.care-table tr:last-child td { border-bottom:none; }
.care-table .warn { color:var(--terracotta-dark); font-weight:600; }

/* Directory controls */
.care-controls { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; align-items:center; }
.care-chip {
  border:1.5px solid var(--border); background:#fff; border-radius:999px; padding:8px 14px;
  font:600 13px 'DM Sans',sans-serif; color:var(--ink-soft); cursor:pointer; transition:all .15s;
}
.care-chip:hover { border-color:var(--ink); }
.care-chip.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.care-controls select {
  border:1.5px solid var(--border); border-radius:999px; padding:9px 14px; background:#fff;
  font:600 13px 'DM Sans',sans-serif; color:var(--ink);
}
.care-count { font-size:13px; color:var(--muted); margin-left:auto; }

/* Region block */
.care-region { margin-bottom:36px; }
.care-region h3 { font-family:'Fraunces',serif; font-size:22px; font-weight:500; margin-bottom:6px; letter-spacing:-.01em; }
.care-region .rnote { font-size:13px; color:var(--muted); margin-bottom:16px; }
.care-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }

/* Facility card */
.care-card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:18px 18px 16px; display:flex; flex-direction:column; gap:10px; position:relative; }
.care-card.tier-1 { border-color:var(--teal); box-shadow:0 0 0 1px var(--teal-tint); }
.care-card .type { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.care-card .type .pill { background:var(--paper-warm); border-radius:999px; padding:3px 9px; letter-spacing:.04em; text-transform:none; font-weight:600; color:var(--ink-soft); }
.care-card .type .pill.en { background:var(--green-tint); color:var(--green-dark); }
.care-card .type .pill.er { background:#FDEBEA; color:#9B2C22; }
.care-card h4 { font-family:'Fraunces',serif; font-size:17px; font-weight:500; line-height:1.2; letter-spacing:-.01em; }
.care-card .addr { font-size:13px; color:var(--muted); line-height:1.45; }
.care-card .acc { font-size:12px; color:var(--ink-soft); }
.care-card .acc b { font-weight:600; }
.care-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.care-btn {
  display:inline-flex; align-items:center; gap:6px; padding:9px 13px; border-radius:999px;
  font-size:13px; font-weight:600; border:1.5px solid var(--ink); color:var(--ink) !important; background:#fff;
  transition:all .15s;
}
.care-btn:hover { background:var(--ink); color:#fff !important; }
.care-btn.er { border-color:#B3261E; color:#B3261E !important; }
.care-btn.er:hover { background:#B3261E; color:#fff !important; }
.care-btn.wa { border-color:#128C7E; color:#128C7E !important; }
.care-btn.wa:hover { background:#128C7E; color:#fff !important; }
.care-pending { font-size:12px; color:var(--terracotta-dark); background:var(--terracotta-tint); border-radius:8px; padding:8px 10px; line-height:1.45; }
.care-verified { margin-left:auto; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-dark); background:var(--green-tint); border-radius:999px; padding:4px 8px; }
.care-verified.person { color:#fff; background:var(--green); }
.care-card .intl { font-size:13px; color:var(--ink-soft); background:var(--teal-tint); border-radius:8px; padding:8px 10px; line-height:1.45; }
.care-card .intl a { color:var(--teal-deep); font-weight:600; text-decoration:underline; }
.care-card details { font-size:13px; color:var(--ink-soft); }
.care-card summary { cursor:pointer; color:var(--teal); font-weight:600; font-size:13px; }
.care-card details p { margin-top:6px; line-height:1.5; }

/* Dental economics */
.care-econ { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.care-econ .care-table td:nth-child(2), .care-econ .care-table td:nth-child(3) { white-space:nowrap; }
.care-tscroll { width:100%; min-width:0; max-width:100%; }
.care-econ > * { min-width:0; }
.care-callout { background:var(--teal-deep); color:#fff; border-radius:16px; padding:28px; }
.care-callout h3 { font-family:'Fraunces',serif; font-size:22px; font-weight:400; margin-bottom:10px; }
.care-callout h3 em { font-style:italic; color:#9ED8E3; }
.care-callout p { font-size:14px; line-height:1.6; opacity:.92; }

/* Assistant */
.care-assist { background:#fff; border:1px solid var(--border); border-radius:18px; overflow:hidden; display:grid; grid-template-columns:1fr 1.4fr; }
.care-assist-intro { padding:32px; background:var(--paper-warm); }
.care-assist-intro h3 { font-family:'Fraunces',serif; font-size:24px; font-weight:400; margin-bottom:10px; }
.care-assist-intro p { font-size:14px; color:var(--ink-soft); line-height:1.6; }
.care-assist-intro ul { list-style:none; margin-top:16px; display:grid; gap:8px; }
.care-assist-intro li button { background:#fff; border:1px solid var(--border); border-radius:10px; padding:10px 12px; width:100%; text-align:left; font:14px 'DM Sans',sans-serif; color:var(--ink); cursor:pointer; }
.care-assist-intro li button:hover { border-color:var(--teal); }
.care-chat { display:flex; flex-direction:column; min-height:440px; }
.care-log { flex:1; padding:22px; overflow-y:auto; display:flex; flex-direction:column; gap:12px; font-size:14px; }
.care-msg { max-width:88%; padding:12px 14px; border-radius:14px; line-height:1.55; white-space:pre-wrap; }
.care-msg.u { align-self:flex-end; background:var(--ink); color:#fff; border-bottom-right-radius:4px; }
.care-msg.a { align-self:flex-start; background:var(--paper-warm); border-bottom-left-radius:4px; }
.care-msg.a a { color:var(--teal-deep); text-decoration:underline; }
.care-msg.sys { align-self:center; font-size:12px; color:var(--muted); }
.care-input { display:flex; gap:8px; padding:14px; border-top:1px solid var(--border-soft); }
.care-input input { flex:1; border:1.5px solid var(--border); border-radius:999px; padding:12px 16px; font:14px 'DM Sans',sans-serif; }
.care-input input:focus { outline:none; border-color:var(--teal); }
.care-input button { border:none; background:var(--ink); color:#fff; border-radius:999px; padding:0 20px; font:600 14px 'DM Sans',sans-serif; cursor:pointer; }
.care-input button:disabled { opacity:.5; cursor:default; }
.care-handoff { padding:0 14px 14px; font-size:12px; color:var(--muted); }
.care-handoff a { color:#128C7E; font-weight:600; }

/* Form */
.care-form { background:#fff; border:1px solid var(--border); border-radius:16px; padding:28px; max-width:640px; }
.care-form .row { display:grid; gap:6px; margin-bottom:14px; min-width:0; }
.care-form label { font-size:13px; font-weight:600; color:var(--ink-soft); }
.care-form input, .care-form select, .care-form textarea { width:100%; min-width:0; border:1.5px solid var(--border); border-radius:10px; padding:11px 12px; font:14px 'DM Sans',sans-serif; background:#fff; }
.care-form input:focus, .care-form select:focus, .care-form textarea:focus { outline:none; border-color:var(--teal); }
.care-form .two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.care-form .fine { font-size:12px; color:var(--muted); margin-top:10px; }
.care-form .ok { display:none; background:var(--green-tint); color:var(--green-dark); border-radius:10px; padding:14px; font-weight:600; }

/* Disclaimer */
.care-disclaimer { font-size:12px; color:var(--muted); line-height:1.6; border-top:1px solid var(--border-soft); padding:24px 0 8px; }

@media (max-width:1024px) {
  .care-hero-grid, .care-econ, .care-assist { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:600px) {
  .care-wrap, .care-emergency .care-wrap { padding-left:16px; padding-right:16px; }
  .care-hero { padding-top:36px; padding-bottom:24px; }
  .care-section { padding:32px 0; }
  .care-form .two { grid-template-columns:1fr; }
  .care-emergency { font-size:12px; }
  .care-emergency .care-wrap { gap:10px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; padding-top:9px; padding-bottom:9px; scrollbar-width:none; }
  .care-emergency .care-wrap::-webkit-scrollbar { display:none; }
  .care-emergency strong { flex:0 0 auto; }
  .care-emergency a { flex:0 0 auto; }
  .care-log { padding:14px; }
  .care-msg { max-width:95%; }
  .care-tscroll { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -16px; padding:0 16px; }
  .care-table { min-width:560px; }
}

a.care-script { transition:border-color .15s, transform .15s; }
a.care-script:hover { border-color:var(--teal); transform:translateY(-2px); }
a.care-script h4 { color:var(--teal-deep); }

.care-consent label { display:flex; gap:10px; align-items:flex-start; font-size:13px; font-weight:400; color:var(--ink-soft); line-height:1.5; }
.care-consent input { width:auto; min-width:0; margin-top:3px; flex:0 0 auto; }
.care-consent a { color:var(--teal-deep); text-decoration:underline; }
