/* Self-contained. Remove the server hook to remove the entire feature. */
.plan-details-container > .pc-section { order: 3; }
.pc-section { --pc-ink:#18263c; --pc-muted:#526078; --pc-blue:#1746c4; --pc-line:#dfe5ef; color:var(--pc-ink); background:#fff; border:1px solid var(--pc-line); border-radius:24px; margin:24px 0; padding:clamp(20px,4vw,40px); box-shadow:0 12px 40px #142d5910; overflow:hidden; }
.pc-section [hidden] { display:none !important; }
.pc-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.pc-eyebrow { display:block; color:var(--pc-blue); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:800; margin-bottom:10px; }
.pc-header h2 { font-size:clamp(24px,3vw,34px); line-height:1.2; letter-spacing:-.035em; margin:0 0 12px; font-weight:750; }
.pc-header p,.pc-highlight p { color:var(--pc-muted); line-height:1.65; margin:0; max-width:68ch; font-size:15px; }
.pc-currencies { display:flex; padding:4px; border:1px solid var(--pc-line); border-radius:12px; background:#f5f7fb; flex-shrink:0; }
.pc-currencies button { min-height:44px; padding:10px 16px; border:0; border-radius:8px; background:transparent; font:inherit; font-size:13px; color:var(--pc-muted); font-weight:700; cursor:pointer; }
.pc-currencies button[aria-pressed="true"] { color:var(--pc-blue); background:#fff; box-shadow:0 2px 6px #18263c14; }
.pc-currency-note { margin:16px 0; font-size:13px; line-height:1.6; color:var(--pc-muted); }
.pc-highlight { background:linear-gradient(120deg,#edf3ff,#f1faf6); border:1px solid #d7e5fb; border-radius:16px; padding:24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.pc-highlight .pc-kicker { color:#26544b; font-size:13px; font-weight:700; margin:0 0 8px; }
.pc-highlight h3 { font-size:clamp(23px,2.8vw,32px); line-height:1.25; font-weight:750; letter-spacing:-.03em; margin:0 0 10px; }
.pc-saving-stamp { flex-shrink:0; text-align:center; border-left:1px solid #bfd2e0; padding-left:24px; min-width:110px; }
.pc-saving-stamp strong { font-size:44px; color:#145d48; display:block; line-height:1.15; letter-spacing:-.04em; }
.pc-saving-stamp span { display:block; font-size:12px; font-weight:650; color:#26544b; margin-top:6px; }
.pc-table-wrap { overflow-x:auto; border:1px solid var(--pc-line); border-radius:14px; margin-top:24px; -webkit-overflow-scrolling:touch; }
.pc-section table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; line-height:1.5; min-width:680px; }
.pc-section caption { text-align:left; padding:14px 18px; font-size:13px; color:var(--pc-muted); border-bottom:1px solid var(--pc-line); }
.pc-section thead { background:#f7f9fc; }
.pc-section th,.pc-section td { padding:18px; vertical-align:middle; border-bottom:1px solid var(--pc-line); }
.pc-section thead th { font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--pc-muted); }
.pc-section tbody tr:last-child > * { border-bottom:0; }
.pc-section tbody th { min-width:130px; font-weight:700; }
.pc-own { background:#f0f5ff; box-shadow:inset 3px 0 var(--pc-blue); }
.pc-own-name { display:block; color:var(--pc-blue); font-size:15px; font-weight:800; letter-spacing:-.01em; }
.pc-section small.pc-own-tag { display:inline-block; margin-top:6px; padding:2px 8px; border-radius:999px; background:var(--pc-blue); color:#fff; font-size:10px; font-weight:700; letter-spacing:.02em; }
.pc-section small,.pc-section time { display:block; font-size:12px; color:var(--pc-muted); margin-top:5px; font-weight:400; }
.pc-highlight time { display:inline; font-size:inherit; }
.pc-section .pc-price { font-size:17px; font-weight:750; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pc-saving { color:#145d48; font-weight:650; }
.pc-neutral { color:var(--pc-muted); }
.pc-section a { color:var(--pc-blue); text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.pc-section td a { display:inline-flex; align-items:center; min-height:32px; gap:4px; white-space:nowrap; }
.pc-scope { color:var(--pc-muted); font-size:12.5px; line-height:1.7; margin:16px 0; }
.pc-method { border-bottom:1px solid var(--pc-line); padding-bottom:20px; }
.pc-method summary { cursor:pointer; font-size:14px; font-weight:650; padding:10px 0; min-height:44px; }
.pc-method p { color:var(--pc-muted); font-size:13.5px; line-height:1.7; margin:8px 0; max-width:95ch; }
.pc-features { padding-top:24px; }
.pc-features h3 { font-size:16px; font-weight:700; margin:0 0 20px; }
.pc-features ul { list-style:none; padding:0; margin:0 0 20px; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }
.pc-features li { display:flex; align-items:flex-start; gap:10px; }
.pc-features svg { width:20px; height:20px; flex-shrink:0; color:#145d48; background:#edf7f2; border-radius:50%; padding:2px; }
.pc-features strong { display:block; font-size:14px; margin-bottom:5px; }
.pc-features li span span { font-size:13px; line-height:1.55; color:var(--pc-muted); display:block; }
.pc-features > a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:14px; }
.pc-section :focus-visible { outline:3px solid #1746c4; outline-offset:4px; }
@media(max-width:640px) { .pc-section { border-radius:18px; margin:16px 0; } .pc-header { flex-direction:column; gap:16px; } .pc-highlight { padding:20px; gap:16px; } .pc-saving-stamp { min-width:70px; padding-left:14px; } .pc-saving-stamp strong { font-size:32px; } .pc-highlight h3 { font-size:23px; } .pc-highlight p { font-size:13px; } .pc-features ul { grid-template-columns:1fr 1fr; gap:18px 12px; } }
@media(max-width:380px) { .pc-highlight { flex-direction:column; align-items:flex-start; } .pc-saving-stamp { border-left:0; border-top:1px solid #bfd2e0; padding:14px 0 0; text-align:left; } .pc-saving-stamp strong,.pc-saving-stamp span { display:inline; } .pc-saving-stamp span { margin-left:8px; } .pc-features ul { grid-template-columns:1fr; } }
/* Keep every price and source visible on phones, without sideways scrolling. */
@media(max-width:640px) {
  .pc-section table { min-width:0; display:block; }
  .pc-section caption { display:block; width:100%; line-height:1.6; }
  .pc-section thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .pc-section tbody { display:block; }
  .pc-section tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:18px; border-bottom:1px solid var(--pc-line); }
  .pc-section tbody tr:last-child { border-bottom:0; }
  .pc-section tbody th,.pc-section tbody td { padding:0; border:0; min-width:0; }
  .pc-section tbody th { grid-column:1; grid-row:1; }
  .pc-section tbody td:nth-child(2) { grid-column:1; grid-row:2; color:var(--pc-muted); font-size:12px; }
  .pc-section tbody td:nth-child(3) { grid-column:2; grid-row:1 / 3; align-self:center; }
  .pc-section tbody td:nth-child(4) { grid-column:1 / -1; font-size:12px; }
  .pc-section tbody td:nth-child(5) { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 10px; font-size:12px; }
  .pc-section td time { margin:0; font-size:12px; }
}
.pc-original { display:block; margin-top:2px; font-size:12px; font-weight:600; color:var(--pc-muted); }
.pc-currencies { flex-wrap:wrap; }
@media (max-width:640px) { .pc-currencies { width:100%; } .pc-currencies button { flex:1 1 auto; padding:10px 8px; } }
