/* Paddlers Cove - petitions (loads after auth.css) */
.page-petitions .icon, .page-petition .icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.pt-hero {
  background:
    linear-gradient(100deg, rgba(10, 32, 56, .95) 0%, rgba(12, 42, 72, .82) 50%, rgba(12, 42, 72, .55) 100%),
    image-set(url("../img/about-entrance.webp") type("image/webp"), url("../img/about-entrance.jpg") type("image/jpeg")) center 55% / cover no-repeat,
    var(--pc-navy, #123a63);
}
.pt-hero .eyebrow { display: inline-flex; align-items: center; gap: 8px; }
.pt-hero .eyebrow .icon { width: 17px; height: 17px; }
.pt-back { display: flex; width: fit-content; align-items: center; gap: 6px; margin-bottom: 14px; color: #cfdbe6; font-weight: 700; font-size: 14px; text-decoration: none; }
.pt-back:hover { color: #fff; }
.pt-adminbar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.pt-signin > .icon { width: 28px; height: 28px; color: var(--pc-teal, #1c6b8c); }

/* list */
.pt-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 20px; }
.pt-list .pc-card + .pc-card { margin-top: 0; }
.pt-card { display: flex; flex-direction: column; padding: 24px 26px; text-decoration: none; color: inherit; border-top: 5px solid var(--pc-gold, #c38d2c); transition: transform .18s, box-shadow .18s; }
.pt-card:hover { transform: translateY(-3px); box-shadow: 0 22px 50px rgba(10, 32, 56, .16); }
.pt-card.is-signed { border-top-color: var(--pc-green, #3f7a3a); }
.pt-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.pt-to { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-muted, #5d6873); }
.pt-card h2 { margin: 0 0 8px; font-family: var(--pc-serif, Georgia, serif); color: var(--pc-navy, #123a63); font-size: 24px; line-height: 1.2; }
.pt-card p { margin: 0 0 16px; color: #33404c; font-size: 15.5px; line-height: 1.55; }
.pt-card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 14px; font-size: 14px; color: var(--pc-muted, #5d6873); }
.pt-go { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--pc-teal, #1c6b8c); }
.pt-badge { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: #fbf0d8; color: #7d5a14; }
.pt-badge .icon { width: 13px; height: 13px; stroke-width: 2.6; }
.pt-badge.done { background: #e5f2e1; color: #2f5a2b; }
.pt-badge.draft { background: #eef0f2; color: #4a5561; }
.pt-badge.closed { background: #eef0f2; color: #4a5561; }
.pt-badge.delivered { background: #e3eef8; color: #184f6b; }
.pt-list.past .pt-card { border-top-color: #c9d0d8; opacity: .9; }
.pt-h2 { margin: 34px 0 14px; font-family: var(--pc-serif, Georgia, serif); color: var(--pc-navy, #123a63); font-size: 26px; }
.pt-empty { text-align: center; }

/* progress */
.pt-progress { margin: 4px 0 0; }
.pt-bar { height: 10px; border-radius: 999px; background: #ece8de; overflow: hidden; }
.pt-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--pc-gold, #c38d2c), var(--pc-gold-soft, #e3bb67)); transition: width .6s; }
.pt-count { margin-top: 8px; font-size: 14.5px; color: #33404c; }
.pt-count b { font-family: var(--pc-serif, Georgia, serif); font-size: 20px; color: var(--pc-navy, #123a63); }
.pt-count span { color: var(--pc-muted, #5d6873); }
.pt-progress.big .pt-bar { height: 14px; }
.pt-progress.big .pt-count b { font-size: 34px; }

/* how it works */
.pt-how { margin-top: 26px; }
.pt-how ol { list-style: none; margin: 8px 0 14px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pt-how li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: #33404c; line-height: 1.5; }
.pt-how li b { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--pc-gold, #c38d2c); color: #fff; }
.pt-how strong { color: var(--pc-navy, #123a63); }

/* single petition */
.pt-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.pt-main { min-width: 0; }
.pt-main > .pc-card + .pc-card { margin-top: 20px; }
.pt-side { position: sticky; top: calc(var(--header-h, 76px) + 18px); display: grid; gap: 18px; min-width: 0; }
.pt-side .pc-card + .pc-card { margin-top: 0; }
.pt-ask { border-left: 6px solid var(--pc-gold, #c38d2c); background: linear-gradient(90deg, #fffaf0, #fff) !important; }
.pt-ask p { margin: 8px 0 0; font-family: var(--pc-serif, Georgia, serif); font-size: 20px; line-height: 1.55; color: #1f2a35; }
.pt-prose p { margin: 0 0 14px; font-size: 16.5px; line-height: 1.7; color: #33404c; }
.pt-prose p:last-child { margin-bottom: 0; }
.pt-meta dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; }
.pt-meta dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-muted, #5d6873); }
.pt-meta dd { margin: 2px 0 0; color: #1f2a35; }
.pt-voices blockquote { margin: 0 0 12px; padding: 12px 16px; border-left: 4px solid var(--pc-gold-soft, #e3bb67); background: #fdfbf6; border-radius: 0 12px 12px 0; }
.pt-voices blockquote p { margin: 0 0 4px; color: #1f2a35; line-height: 1.55; }
.pt-voices cite { font-style: normal; font-size: 13px; font-weight: 700; color: var(--pc-muted, #5d6873); }
.pt-signers h2 { flex-wrap: wrap; }
.pt-small { font: 600 13px var(--pc-sans, sans-serif); color: var(--pc-muted, #5d6873); }
.pt-signers ul { list-style: none; margin: 10px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; }
.pt-signers li { padding: 9px 12px; border-radius: 10px; background: var(--pc-cream, #f7f5f0); }
.pt-signers li strong { display: block; color: var(--pc-navy, #123a63); font-size: 15px; }
.pt-signers li span { font-size: 13px; color: var(--pc-muted, #5d6873); }

.pt-sign { border: 2px solid var(--pc-gold-soft, #e3bb67); }
.pt-sign h3, .pt-share h3, .pt-adminbox h3 { margin: 16px 0 6px; font-family: var(--pc-serif, Georgia, serif); color: var(--pc-navy, #123a63); font-size: 22px; }
.pt-share h3, .pt-adminbox h3 { margin-top: 0; }
.pt-hh { margin: 4px 0 0; font-size: 13.5px; color: var(--pc-muted, #5d6873); }
.pt-who { padding: 12px 14px; border-radius: 12px; background: var(--pc-cream, #f7f5f0); margin: 6px 0 12px; }
.pt-who strong { display: block; color: var(--pc-navy, #123a63); font-size: 16px; }
.pt-who span { font-size: 14px; color: #3a4550; }
.pt-affirm, .pt-public { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.45; color: #33404c; cursor: pointer; margin: 0 0 12px; }
.pt-affirm input, .pt-public input, .pt-privacy input { width: 19px; height: 19px; flex: 0 0 19px; margin-top: 1px; accent-color: var(--pc-green, #3f7a3a); }
.pt-affirm.has-err span { color: var(--pc-red, #b4392a); }
.pt-form .field { margin-bottom: 12px; }
.pc-app .pt-sig { font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive; font-size: 24px; padding: 10px 14px; }
.pt-form .btn { margin-top: 4px; }
.btn-block { width: 100%; box-sizing: border-box; justify-content: center; }
.pt-done { display: flex; gap: 12px; align-items: center; margin: 16px 0 10px; padding: 14px; border-radius: 12px; background: #e5f2e1; color: #2f5a2b; }
.pt-done .icon { width: 28px; height: 28px; stroke-width: 2.6; }
.pt-done strong { display: block; font-size: 16px; }
.pt-done span { font-size: 13px; }
.pt-privacy label { display: flex; gap: 8px; align-items: center; font-size: 14px; margin: 0 0 8px; cursor: pointer; }
.pt-closed { margin: 14px 0 0; color: var(--pc-muted, #5d6873); }
.pt-share-row { display: flex; gap: 8px; margin-bottom: 8px; }
.pc-app .pt-share-row input { flex: 1; min-width: 0; font-size: 13.5px; background: #faf9f6; }
.pt-share .btn, .pt-adminbox .btn { display: flex; align-items: center; justify-content: center; gap: 7px; }
.pt-adminbox { display: grid; gap: 8px; }
.pt-status select { width: auto !important; min-width: 170px; padding: 7px 34px 7px 10px !important; font-size: 14px !important; }
.pc-table td small { display: block; }

@media (max-width: 1040px) {
  .pt-grid { grid-template-columns: minmax(0, 1fr); }
  .pt-side { position: static; order: -1; }
}
@media (max-width: 700px) {
  .pt-list { grid-template-columns: minmax(0, 1fr); }
  .pt-how ol { grid-template-columns: minmax(0, 1fr); }
  .pt-meta dl { grid-template-columns: minmax(0, 1fr); }
  .pt-ask p { font-size: 18px; }
}
