/* Policy Cards - frontend (v1.0.4) */
.policy-cards { --pc-gap: 1rem; --pc-radius: 8px; --pc-border: 1px solid rgba(0,0,0,.08); --pc-shadow: 0 2px 10px rgba(0,0,0,.06); }
.policy-cards .pc-tabs { display:flex; gap:.5rem; margin-bottom:1rem; overflow:auto; justify-content:center; }
.policy-cards .pc-tab { border:1px solid #6DB440; color:#6DB440; background:#fff; padding:.5rem .75rem; border-radius:4px; cursor:pointer; white-space:nowrap; }
.policy-cards .pc-tab.is-active { background:#6DB440; color:#fff; }
.policy-cards .pc-tab:hover { color:#0D3D64; border-color:#0D3D64; }
.policy-cards .pc-tab.is-active:hover { color:#fff; border-color:#6DB440; }

/* keep cards compact even with few items */
.policy-cards .pc-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px, 320px)); gap: var(--pc-gap); justify-content:center; }

/* CARD */
.pc-card { display:flex; flex-direction:column; border:var(--pc-border); border-radius:4px; overflow:hidden; background:#fff; box-shadow:none; width:100%; }
.pc-card-media { position:relative; aspect-ratio: 3 / 2; background:#f2f2f2; overflow:hidden; cursor:pointer; }
.pc-card-media img { width:100%; height:100%; object-fit:cover; display:block; }
/* Card without image */
.pc-card > .pc-card-body:first-child { padding-top:1.5rem; }
.pc-card-body { padding:1rem; display:flex; flex-direction:column; gap:.5rem; }
.pc-card-title { margin:0; font-size:1.1rem; line-height:1.2; }
.pc-card-date { font-size:.85rem; color:#666; }
.pc-card-excerpt { color:#333; font-size:.95rem; overflow:hidden; }
.pc-card-excerpt p { margin:.4rem 0; }
/* keep formatted excerpt tidy via line clamp */
.pc-card-excerpt { display:-webkit-box; -webkit-line-clamp: 12; -webkit-box-orient: vertical; }
@supports not (-webkit-line-clamp: 12) {
  .pc-card-excerpt { max-height: 14.4em; line-height:1.2em; }
}
.pc-btn { align-self:flex-start; padding:.5rem .75rem; border:1px solid #6DB440 !important; color:#6DB440 !important; background:#fff !important; cursor:pointer; border-radius:3px; }
.pc-btn:hover, .pc-btn:focus { color:#0D3D64 !important; border-color:#0D3D64 !important; }
.pc-btn:visited { color:#6DB440 !important; }
.pc-btn:active { color:#6DB440 !important; border-color:#6DB440 !important; }
.pc-note { font-style:italic; color:#666; }

/* MODAL */
.pc-modal { position:fixed; inset:0; background:rgba(0,0,0,.5); display:none; align-items:center; justify-content:center; z-index:2147483646; padding:2rem 1rem; }
.pc-modal[aria-hidden="false"] { display:flex; }
.pc-modal__inner { background:#fff; width:min(1400px, 100%); height:90vh; border-radius:8px; overflow:hidden; position:relative; display:flex; flex-direction:column; }
.pc-modal__close { position:absolute; top:.8rem; right:.75rem; background:rgba(255,255,255,.9); border:1px solid rgba(0,0,0,.1); border-radius:4px; width:32px; height:32px; font-size:20px; line-height:1; cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; color:#666; transition:all .2s; }
.pc-modal__close:hover { background:#fff; color:#333; border-color:rgba(0,0,0,.2); }
.pc-modal__content { display:grid; grid-template-columns: 3fr 2fr; gap:0; flex:1; overflow:hidden; }
.pc-modal__pdf { border-right:1px solid rgba(0,0,0,.08); padding:1.5rem; background:#fafafa; position:relative; }
.pc-pdf-frame { position:absolute; top:1.5rem; left:1.5rem; right:1.5rem; bottom:1.5rem; width:calc(100% - 3rem); height:calc(100% - 3rem); border:0; background:#fff; border-radius:4px; box-shadow:0 1px 3px rgba(0,0,0,.1); }

.pc-modal__text { padding:2rem; overflow:auto; display:flex; flex-direction:column; }
.pc-modal__head { margin-bottom:1.5rem; }
.pc-modal__title { margin:0 0 .5rem 0; font-size:1.75rem; font-weight:700; line-height:1.2; color:#111; }
.pc-modal__date { font-size:.9rem; color:#888; margin:0; }
.pc-modal__excerpt { line-height:1.7; color:#333; font-size:1rem; flex:1; overflow:auto; min-height:0; }
.pc-modal__excerpt p { margin:0 0 1em 0; }
.pc-modal__excerpt p:last-child { margin-bottom:0; }

/* Download button styling */
.pc-download { margin-top:1.5rem; margin-bottom:0; flex-shrink:0; }
.pc-download .pc-download-link { display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1rem; border:1px solid #6DB440; color:#6DB440; border-radius:4px; text-decoration:none; background:#fff; font-weight:500; transition:all .2s; }
.pc-download .pc-download-link:hover { background:#6DB440; color:#fff; }

/* Optional: lower recaptcha when modal open */
.pc-modal-open .grecaptcha-badge{z-index:1 !important;}

/* TABLET: Stack vertically, PDF full width */
@media (max-width: 900px) {
  .pc-modal__inner { height:90vh; }
  .pc-modal__content { grid-template-columns: 1fr; }
  .pc-modal__pdf { border-right: none; border-bottom:1px solid rgba(0,0,0,.08); padding:1rem; min-height:40vh; }
  .pc-pdf-frame { position:static; top:auto; left:auto; right:auto; bottom:auto; width:100%; height:100%; }
  .pc-modal__text { padding:1.5rem; }
  .pc-modal__title { font-size:1.5rem; }
}

/* MOBILE: PDF on top, text below */
@media (max-width: 600px) {
  .pc-modal { padding:0; }
  .pc-modal__inner { border-radius:0; height:100vh; }
  .pc-modal__close { top:1rem; right:1rem; background:rgba(255,255,255,.95); }
  .pc-modal__content { display:flex; flex-direction:column; }
  .pc-modal__pdf { order:1; padding:0; border-bottom:1px solid rgba(0,0,0,.08); background:#fff; min-height:40vh; position:relative; }
  .pc-pdf-frame { position:static; top:auto; left:auto; right:auto; bottom:auto; width:100%; height:100%; border-radius:0; box-shadow:none; }
  .pc-modal__text { order:2; padding:1.5rem; }
  .pc-modal__title { font-size:1.35rem; }
  .pc-modal__excerpt { font-size:.95rem; line-height:1.6; }
  .pc-download { margin:.75rem 0 0; }
}
