:root{
    --ink:        #000000;  /* w3-black */
    --paper:      #f1f1f1;  /* w3-light-gray */
    --panel:      #ffffff;
    --line:       #e3dbcf;
    --accent:     #000000;  /* w3-black */
    --accent-ink: #ffffff;
    --teal:       #000000;  /* w3-black */
    --muted:      #000000;  /* w3-black */
    --radius:     10px;
    --font-body:  "Segoe UI", Arial, sans-serif;
    --font-ui:    Verdana, sans-serif;
  }
  .cpc-wrap *{ box-sizing:border-box; }
  .cpc-wrap{
    font-family:var(--font-ui);
    color:var(--ink);
    background:var(--paper);
    max-width:640px;
    margin:0 auto;
    padding:28px;
    border-radius:var(--radius);
  }
  .cpc-wrap h2{
    font-family:var(--font-body);
    font-weight:400;
    font-size:1.6rem;
    margin:0 0 4px;
  }
  .cpc-sub{ color:var(--muted); font-size:0.92rem; margin:0 0 24px; }
  .cpc-field{ margin-bottom:18px; }
  .cpc-field label{
    display:block; font-size:0.82rem; font-weight:600;
    color:var(--muted); margin-bottom:6px;
  }
  .cpc-field select, .cpc-field .cpc-static{
    width:100%; padding:11px 12px; font-size:0.98rem;
    font-family:var(--font-ui); color:var(--ink);
    background:var(--panel); border:1px solid var(--line);
    border-radius:8px; appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' stroke='%236b6259' stroke-width='1.6' fill='none' fill-rule='evenodd'/></svg>");
    background-repeat:no-repeat; background-position:right 12px center;
  }
  .cpc-field select.cpc-select-inert{ pointer-events:none; background-color:var(--panel); }
  .cpc-field select:focus{ outline:2px solid var(--teal); outline-offset:1px; }
  .cpc-static{
    display:flex; justify-content:space-between; align-items:center;
    background:#f2efe9; color:var(--muted);
  }
  .cpc-checkbox{
    display:flex; align-items:flex-start; gap:10px;
    background:#f2efe9; border:1px solid var(--line);
    border-radius:8px; padding:12px; margin-top:-4px;
  }
  .cpc-checkbox input{ margin-top:3px; width:16px; height:16px; flex:none; }
  .cpc-checkbox label{ font-size:0.88rem; color:var(--ink); font-weight:400; margin:0; }
  .cpc-checkbox .cpc-diet-price{ color:var(--muted); font-size:0.82rem; display:block; margin-top:2px; }
  /* Pay Full Amount Now: same gap above the box as below it (matches .cpc-note's 6px) */
  .cpc-live .cpc-checkbox{ margin-top:6px; }
  .cpc-hidden{ display:none !important; }

  .cpc-breakdown{ border-top:1px solid var(--line); margin-top:22px; padding-top:16px; }
  .cpc-line{
    display:flex; justify-content:space-between; gap:12px;
    font-size:0.92rem; padding:5px 0; color:var(--ink);
  }
  .cpc-line span:first-child{ color:var(--muted); }
  .cpc-total{
    display:flex; justify-content:space-between; align-items:baseline;
    margin-top:14px; padding-top:14px; border-top:1px solid var(--line);
  }
  .cpc-total .cpc-total-label{ font-family:var(--font-body); font-size:1.05rem; }
  .cpc-total .cpc-total-value{ font-family:var(--font-body); font-size:2rem; color:var(--teal); }
  .cpc-total-due{ margin-top:8px; padding-top:8px; border-top:none; }
  .cpc-total-due .cpc-total-label{ font-size:1.05rem; color:var(--muted); }
  .cpc-total-due .cpc-total-value{ font-size:1.3rem; color:var(--accent); }
  .cpc-note{ font-size:0.85rem; color:var(--muted); margin-top:6px; }
  .cpc-unavailable{ font-size:0.82rem; color:var(--accent); margin-top:6px; }