.gplp { border:1px solid #c8d3ce; border-radius:12px; padding:clamp(1rem,3vw,2rem); margin:2rem 0; background:#f5f8f5; color:#183b34; }
.gplp small { font-size:.65em; font-weight:normal; }
.gplp [hidden] { display:none!important; }
.gplp button,.gplp input[type=text] { font:inherit; padding:.7rem; margin:.5rem .5rem .5rem 0; max-width:100%; box-sizing:border-box; }
.gplp button { cursor:pointer; border:1px solid #31594c; border-radius:6px; background:#fff; color:#183b34; }
.gplp button:disabled { cursor:not-allowed; opacity:.65; }
.gplp :focus-visible { outline:3px solid #b16b19; outline-offset:3px; }
.gplp progress { width:100%; height:1rem; accent-color:#31594c; }
.gplp summary { cursor:pointer; padding:1rem 0; font-weight:700; }
.gplp li { margin:.5rem 0; padding:.35rem; overflow-wrap:anywhere; }
.gplp input[type=checkbox] { width:1.25rem; height:1.25rem; vertical-align:middle; }
.gplp-certificate-controls { border-top:1px solid #c8d3ce; margin-top:1rem; padding-top:1rem; }
.gplp-certificate-controls label { display:block; }
#gplp-print-certificate { display:none; }
@media print {
  .gplp { display:none!important; }
  body.gplp-printing > * { display:none!important; }
  body.gplp-printing > #gplp-print-certificate { display:block!important; box-sizing:border-box; width:100%; margin:0; padding:1.2cm; border:3px double #31594c; text-align:center; color:#183b34; background:#fff; font:14pt/1.5 Georgia,serif; break-inside:avoid; }
  #gplp-print-certificate h1 { font-size:30pt; margin:.6cm 0; }
  #gplp-print-certificate h2 { font-size:24pt; overflow-wrap:anywhere; margin:.5cm 0; }
  #gplp-print-certificate .gplp-brand { font-size:22pt; font-weight:bold; }
  #gplp-print-certificate .gplp-disclaimer { margin-top:1cm; font-size:10pt; }
}
