/* Phase 4 styles (prefix classes with p4-) — Fishing guides */
.p4-avatar{width:52px;height:52px;border-radius:26px;background:#DCE3D0;color:#24404F;font-family:var(--display);font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid #fff;box-shadow:0 0 0 1px var(--line-2)}
.p4-avatar.big{width:64px;height:64px;border-radius:32px;font-size:24px}
.p4-cover{min-height:96px}
.p4-rating{gap:4px}
.p4-star{color:var(--orange);display:inline-flex}
.p4-star svg{fill:currentColor}
.p4-stars{display:inline-flex;gap:1px}
.p4-stars .on{color:var(--orange)}
.p4-stars .on svg{fill:currentColor}
.p4-stars .off{color:#9AA7AF}
.p4-opening .h3{line-height:1.3}

/* trip includes */
.p4-incl,.p4-checklist,.p4-offer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.p4-incl li{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2)}
.p4-incl li span{color:var(--good)}
.p4-incl li.no span{color:var(--warn)}
.p4-incl li.no{color:#6B3410}
.p4-checklist{gap:12px}
.p4-checklist li,.p4-offer li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45}
.p4-checklist li > span:first-child{color:var(--lake);margin-top:1px}
.p4-checklist a{display:inline-block;padding:4px 0;font-weight:600}
.p4-offer li > span:first-child{color:var(--orange-soft);margin-top:1px}

/* availability calendar */
.p4-calcard{padding:14px 12px}
.p4-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.p4-day{min-height:50px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-decoration:none;font-weight:700}
.p4-day.open{background:var(--lake-tint);color:var(--navy);border:1px solid #C9D6C3}
.p4-day.open:hover{border-color:var(--lake)}
.p4-day.open.hot{background:var(--orange-tint);border-color:var(--orange);color:#6B3410}
.p4-day.booked{background:var(--ground);color:#5E6B74;text-decoration:line-through}
.p4-cal-w{font-size:11px;font-weight:600}
.p4-cal-d{font-size:16px}
.p4-key{display:inline-block;width:12px;height:12px;border-radius:3px}
.p4-key.open{background:var(--lake-tint);border:1px solid #C9D6C3}
.p4-key.hot{background:var(--orange-tint);border:1px solid var(--orange)}
.p4-key.booked{background:var(--ground);border:1px solid var(--line-2)}

/* booking */
.p4-radio{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--radius-sm);cursor:pointer;font-size:14px}
.p4-radio input{width:22px;height:22px;accent-color:var(--lake);flex-shrink:0;margin:0}
.p4-radio:has(input:checked){border-color:var(--lake);background:var(--lake-tint)}

/* dashboard */
.p4-oprow{padding:6px 0;border-top:1px solid var(--line)}
.p4-oprow:first-child{border-top:none}
.p4-bars{gap:10px}
.p4-bar-row{display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:4px 8px}
.p4-bar-m{font-weight:700;font-size:13px}
.p4-bar-wrap{height:12px;background:var(--ground);border-radius:6px;overflow:hidden}
.p4-bar{height:100%;background:var(--lake);border-radius:6px}
.p4-bar-n{font-weight:700;font-size:13px;text-align:right}
.p4-bar-note{grid-column:2 / 4}
.p4-num{font-size:36px}

/* recap */
.p4-recap{gap:12px}
.p4-recap-head{background:var(--navy);color:#fff;margin:-14px -16px 0;padding:14px 16px;border-radius:15px 15px 0 0;display:flex;flex-direction:column;gap:4px}
.p4-eyebrow{letter-spacing:1px;font-weight:700;color:var(--orange-soft)}
.p4-ph{min-height:84px}
.p4-guidebox{background:var(--ground);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.p4-guidebox a{display:inline-block;padding:6px 0}

/* gift certificate */
.p4-cert{background:#fff;border:2px solid var(--navy);outline:1px solid var(--orange);outline-offset:-8px;border-radius:var(--radius);padding:24px 22px;display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center}
.p4-cert .p4-eyebrow{color:var(--orange)}
.p4-cert-title{font-family:var(--display);font-size:24px;font-weight:700;line-height:1.15;color:var(--navy)}
.p4-cert-to{font-size:18px}
.p4-cert-msg{margin:0;font-style:italic;color:var(--ink-2);font-size:15px}
.p4-cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;text-align:left;border-top:1px solid var(--line);padding-top:10px}
.p4-cert-void{color:var(--danger);font-weight:700}

@media print{
  body.p4-printing{background:#fff}
  body.p4-printing .app{height:auto;box-shadow:none;background:#fff;max-width:none}
  body.p4-printing .view{overflow:visible;padding:0}
  body.p4-printing #topbar,body.p4-printing #tabbar,body.p4-printing #toast{display:none}
  body.p4-printing #view > *:not(.stack){display:none}
  body.p4-printing #view > .stack > *:not(.p4-cert){display:none}
  body.p4-printing .p4-cert{max-width:640px;margin:24px auto;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
