
.cpic-page-intro{
  padding-bottom:2.25rem;
}

.cpic-shell{
  max-width:1180px;
  margin:0 auto;
}

.cpic-selection-card{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:2rem;
  padding:clamp(1.4rem,3vw,2.2rem);
  margin-bottom:1.5rem;
  align-items:end;
}

.cpic-selection-copy h2,
.cpic-pdf-card h2{
  margin:.35rem 0 .75rem;
}

.cpic-selection-copy p,
.cpic-pdf-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.cpic-mini-label{
  display:inline-block;
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cpic-selection-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.7rem .8rem;
  align-items:end;
}

.cpic-selection-controls>label{
  grid-column:1/-1;
  font-weight:800;
  color:var(--text);
}

.cpic-combo-wrap{
  position:relative;
}

.cpic-combo-wrap .input{
  padding-right:2.8rem;
}

.cpic-clear{
  position:absolute;
  right:.55rem;
  top:50%;
  transform:translateY(-50%);
  width:2rem;
  height:2rem;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--muted);
  font-size:1.35rem;
  cursor:pointer;
  display:none;
}

.cpic-clear:hover{
  background:rgba(0,0,0,.05);
}

.cpic-status{
  grid-column:1/-1;
  min-height:1.2rem;
  color:var(--muted);
  font-size:.83rem;
}

.cpic-content{
  display:grid;
  gap:1.35rem;
}

.cpic-port-head{
  padding:clamp(1.5rem,3vw,2.4rem);
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:2rem;
  align-items:start;
}

.cpic-port-head h2{
  margin:.3rem 0 .8rem;
  font-size:clamp(2.1rem,5vw,4rem);
  line-height:1.04;
}

.cpic-port-description{
  color:var(--muted);
  line-height:1.7;
  max-width:760px;
}

.cpic-summary-grid,
.cpic-data-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}

.cpic-summary-item,
.cpic-data-item{
  border:1px solid var(--line);
  border-radius:16px;
  padding:1rem;
  background:#fafafa;
  min-width:0;
}

.cpic-summary-item span,
.cpic-data-item dt{
  display:block;
  margin-bottom:.32rem;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.cpic-summary-item strong,
.cpic-data-item dd{
  display:block;
  margin:0;
  color:var(--text);
  line-height:1.45;
  overflow-wrap:anywhere;
}

.cpic-chapter{
  padding:clamp(1.35rem,3vw,2rem);
  scroll-margin-top:6rem;
}

.cpic-chapter-head{
  display:grid;
  grid-template-columns:3.2rem minmax(0,1fr);
  gap:1rem;
  align-items:start;
  padding-bottom:1.2rem;
  margin-bottom:1.3rem;
  border-bottom:1px solid var(--line);
}

.cpic-chapter-number{
  display:grid;
  place-items:center;
  width:3.2rem;
  height:3.2rem;
  border-radius:15px;
  background:var(--accent);
  color:#fff;
  font-weight:900;
  font-size:1.15rem;
}

.cpic-chapter-head h2{
  margin:0;
  font-size:clamp(1.55rem,3vw,2.15rem);
}

.cpic-chapter-head p{
  margin:.45rem 0 0;
  color:var(--muted);
  line-height:1.55;
}

.cpic-subsection+.cpic-subsection{
  margin-top:1.6rem;
}

.cpic-subsection h3{
  margin:0 0 .85rem;
  font-size:1.18rem;
}

.cpic-table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:16px;
}

.cpic-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.cpic-table th,
.cpic-table td{
  padding:.8rem .9rem;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--line);
}

.cpic-table th{
  background:#f6f6f6;
  color:var(--muted);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.cpic-table tr:last-child td{
  border-bottom:0;
}

.cpic-empty{
  color:var(--muted);
  font-style:italic;
}

.cpic-pdf-card{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);
  gap:2rem;
  margin-top:1.5rem;
  padding:clamp(1.4rem,3vw,2.2rem);
}

.cpic-pdf-form{
  display:grid;
  gap:.9rem;
}

.cpic-pdf-form label{
  display:grid;
  gap:.42rem;
  font-weight:800;
}

.cpic-pdf-result{
  grid-column:1/-1;
  min-height:1.4rem;
  color:var(--muted);
}

.cpic-pdf-result .btn{
  margin-top:.8rem;
}

.cpic-pdf-loading{
  display:flex;align-items:center;gap:1rem;
  width:min(100%,560px);padding:1rem 1.15rem;
  border:1px solid var(--line);border-radius:16px;background:#fafafa;
  color:var(--text)
}
.cpic-pdf-loading>div{display:grid;gap:.25rem}
.cpic-pdf-loading span:not(.cpic-pdf-spinner){color:var(--muted);font-size:.92rem}
.cpic-pdf-spinner{
  width:46px;height:46px;flex:0 0 46px;border-radius:50%;
  background:conic-gradient(from 0deg,#1f2937 0 68%,#e5e7eb 68% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 0);
  animation:cpic-pdf-spin .9s linear infinite
}
@keyframes cpic-pdf-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.cpic-pdf-spinner{animation-duration:2.2s}}

@media(max-width:850px){
  .cpic-selection-card,
  .cpic-port-head,
  .cpic-pdf-card{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .cpic-selection-controls,
  .cpic-summary-grid,
  .cpic-data-grid{
    grid-template-columns:1fr;
  }

  .cpic-selection-controls>label{
    grid-column:auto;
  }

  .cpic-status{
    grid-column:auto;
  }

  .cpic-chapter-head{
    grid-template-columns:1fr;
  }
}

.cpic-map-section{margin:1.15rem 0 1.4rem}
.cpic-map-title{margin:0 0 .65rem;font-size:1rem;font-weight:800}
.cpic-map{width:100%;height:clamp(340px,48vw,590px);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#eaf1f3}
.cpic-map-small{height:clamp(300px,40vw,500px)}
.cpic-map-note{margin:.65rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}
.cpic-map-legend{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.8rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.cpic-map-legend-item{display:inline-flex;align-items:center;gap:.42rem;font-size:.8rem}
.cpic-map-dot{width:.78rem;height:.78rem;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.22)}
.cpic-harbor-marker{display:grid;place-items:center;width:38px;height:38px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#dc2626;color:#fff;font-size:17px;font-weight:900;box-shadow:0 4px 13px rgba(0,0,0,.28);transform:rotate(-45deg)}
.cpic-harbor-marker span{transform:rotate(45deg)}
.cpic-poi-marker{width:22px;height:22px;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.leaflet-container{font-family:inherit}
@media(max-width:620px){.cpic-map{height:390px;border-radius:14px}}


/* V1.14 – PDF-treue Struktur und einheitliche Tabellen */
.cpic-chapter-copy{margin:0 0 1rem;color:var(--muted);line-height:1.65}
.cpic-map-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:.55rem 0 .65rem}
.cpic-label-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.cpic-label-toggle input{margin:0}
.cpic-poi-label{padding:2px 6px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.12);color:#222;font-size:11px;font-weight:700;white-space:nowrap}
.cpic-poi-label.hidden{display:none}
.cpic-table{table-layout:fixed}
.cpic-table th:nth-child(1),.cpic-table td:nth-child(1){width:28%}
.cpic-table th:nth-child(2),.cpic-table td:nth-child(2){width:54%}
.cpic-table th:nth-child(3),.cpic-table td:nth-child(3){width:18%;text-align:right;white-space:nowrap}
.cpic-table th,.cpic-table td{padding:.82rem .9rem;line-height:1.45}
.cpic-table-5 th:nth-child(1),.cpic-table-5 td:nth-child(1){width:30%}
.cpic-table-5 th:nth-child(2),.cpic-table-5 td:nth-child(2){width:13%;text-align:right;white-space:nowrap}
.cpic-table-5 th:nth-child(3),.cpic-table-5 td:nth-child(3){width:25%}
.cpic-table-5 th:nth-child(4),.cpic-table-5 td:nth-child(4),.cpic-table-5 th:nth-child(5),.cpic-table-5 td:nth-child(5){width:16%;text-align:center}
.cpic-phrases-table th,.cpic-phrases-table td{width:50%!important;text-align:left!important;white-space:normal!important}
.cpic-symbol-legend{display:grid;gap:.45rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:15px;background:#fafafa}
.cpic-symbol-row{display:grid;grid-template-columns:2rem 1fr;gap:.6rem;align-items:start}
.cpic-section-note{margin:.7rem 0 1rem;color:var(--muted);line-height:1.65}
@media(max-width:700px){
 .cpic-table{table-layout:auto}
 .cpic-table th,.cpic-table td{width:auto!important}
 .cpic-map-toolbar{justify-content:flex-start}
 .cpic-phrases-table thead{display:none}
 .cpic-phrases-table,.cpic-phrases-table tbody,.cpic-phrases-table tr,.cpic-phrases-table td{display:block;width:100%!important}
 .cpic-phrases-table tr{padding:.65rem .8rem;border-bottom:1px solid var(--line)}
 .cpic-phrases-table td{padding:.35rem 0!important;border:0!important}
 .cpic-phrases-table td:first-child{font-weight:700}
}


/* V1.15 – CPIC Browser- und Druckversion */
.cpic-selection-card{
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
  align-items:start;
}
.cpic-selection-controls{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
}
.cpic-field{display:grid;gap:.42rem;font-weight:800}
.cpic-field-port{grid-column:1/-1}
.cpic-show-button{grid-column:1/-1;justify-self:end;min-width:220px}
.cpic-port-head-simple{display:block;padding:clamp(1.5rem,3vw,2.4rem)}
.cpic-port-head-simple h2{margin:.35rem 0 1rem;font-size:clamp(2.5rem,6vw,4.5rem)}
.cpic-subsection-field{
  border:1px solid var(--line);
  border-radius:18px;
  padding:clamp(1rem,2.5vw,1.5rem);
  background:#fbfbfb;
}
.cpic-map-heading{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;margin-bottom:.75rem
}
.cpic-map-heading .cpic-map-title{margin:0}
.cpic-label-toggle{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.65rem .9rem;border:1px solid var(--line);border-radius:999px;
  background:#fff;font-weight:750;cursor:pointer
}
.cpic-poi-label{
  background:#fff;border:1px solid rgba(0,0,0,.18);border-radius:6px;
  box-shadow:0 2px 8px rgba(0,0,0,.15);color:#222;font-weight:700;
  padding:3px 6px
}
.cpic-table-complete{max-height:none!important;overflow-x:auto;overflow-y:visible}
.cpic-table-complete .cpic-table{max-height:none}
.cpic-symbol-guide{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;
  margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:15px;background:#fafafa
}
.cpic-symbol-guide div{display:flex;gap:.55rem;align-items:flex-start}
.cpic-col-category{width:27%}.cpic-col-distance{width:130px}
.cpic-distance{text-align:right;white-space:nowrap}
.cpic-loading-box{
  padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:#fafafa;
  color:var(--muted);line-height:1.65
}
.cpic-time-instructions{
  margin-bottom:1.25rem;padding:1.2rem;border:1px solid var(--line);
  border-radius:16px;background:#fafafa;line-height:1.65
}
.cpic-time-instructions h3{margin-top:0}
.cpic-time-wrap{overflow-x:auto}
.cpic-time-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}
.cpic-time-table th,.cpic-time-table td{
  border:1px solid #333;padding:.5rem .7rem;text-align:center
}
.cpic-time-table th{text-align:center!important;vertical-align:middle!important}
.cpic-time-table th span{font-size:.84rem}
.cpic-source-note{margin-top:1rem;font-size:.84rem;font-style:italic}
.cpic-live-hint{margin-top:1rem;padding:1rem;border-left:4px solid var(--accent);background:#f5f9fb}
.cpic-print-card{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  margin-top:1.5rem;padding:clamp(1.4rem,3vw,2.2rem)
}
.cpic-print-card h2{margin:.35rem 0 .7rem}
.cpic-print-card p{margin:0;color:var(--muted);line-height:1.6}
.cpic-phrases-table td{width:50%}

@media(max-width:800px){
  .cpic-selection-card{grid-template-columns:1fr}
  .cpic-selection-controls{grid-template-columns:1fr}
  .cpic-field-port,.cpic-show-button{grid-column:auto}
  .cpic-show-button{justify-self:stretch}
  .cpic-print-card{align-items:stretch;flex-direction:column}
  .cpic-symbol-guide{grid-template-columns:1fr}
}


/* Druckauswahl: klar gegliedert statt fortlaufender Checkbox-Zeile */
.cpic-print-card{
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(420px,1.65fr) minmax(210px,.7fr);
  align-items:start;
  gap:2rem;
}
.cpic-print-choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem 1rem;
  align-content:start;
  padding:.25rem 0;
}
.cpic-print-choice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  column-gap:.55rem;
  line-height:1.35;
}
.cpic-print-choice-text{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  column-gap:.38rem;
  min-width:0;
}
.cpic-print-choice-text-single{
  display:block;
}
.cpic-print-choice-number{
  white-space:nowrap;
}
.cpic-print-choice-title{
  min-width:0;
}
.cpic-print-mark{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  line-height:1.35;
}
.cpic-print-choice input,.cpic-print-mark input{
  flex:0 0 auto;
  margin-top:.15rem;
}
.cpic-print-actions{
  display:grid;
  gap:.65rem;
}
.cpic-print-actions .btn{width:100%}

/* Kategorie-Icons wie im CPIC Kartenexplorer */
.cpic-poi-marker{
  width:30px;height:30px;border:3px solid #fff;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);background:var(--marker-color,#64748b);
  box-shadow:0 2px 7px rgba(0,0,0,.35);
}
.cpic-poi-marker-icon{
  position:relative;display:grid;place-items:center;width:100%;height:100%;transform:rotate(45deg);
}
.cpic-poi-marker-icon img{display:block;width:20px;height:20px;object-fit:contain}
.cpic-poi-marker-fallback{display:none;color:#fff;font-size:10px;font-weight:900}
.cpic-poi-marker-icon.icon-missing .cpic-poi-marker-fallback{display:grid}

@media(max-width:1050px){
  .cpic-print-card{grid-template-columns:1fr 1.4fr}
  .cpic-print-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .cpic-print-card{grid-template-columns:1fr}
  .cpic-print-choices{grid-template-columns:1fr}
  .cpic-print-actions{grid-column:auto;grid-template-columns:1fr}
}
@media print{
  @page{size:A4 portrait;margin:14mm}
  body{background:#fff!important;color:#000}
  #siteHeader,#siteFooter,.page-intro,.cpic-selection-card,
  #cpicPrintSection,.cpic-label-toggle,
  .leaflet-control-container,.skip-link{display:none!important}
  .section-small,.cpic-shell{padding:0!important;margin:0!important;max-width:none!important}
  .cpic-content{display:block!important}
  .card,.cpic-chapter,.cpic-port-head{
    box-shadow:none!important;border:0!important;border-radius:0!important;
    padding:0!important;margin:0 0 12mm!important;background:#fff!important
  }
  .cpic-chapter{break-before:page}
  .cpic-chapter:first-of-type{break-before:auto}
  .cpic-subsection,.cpic-subsection-field{break-inside:avoid;border:0!important;padding:0!important}
  .cpic-map{height:115mm!important;border:1px solid #777!important;break-inside:avoid}
  .cpic-map-legend,.cpic-table-wrap,.cpic-time-wrap{break-inside:avoid}
  .cpic-table,.cpic-time-table{font-size:9pt}
  .cpic-table th,.cpic-table td,.cpic-time-table th,.cpic-time-table td{padding:4px 6px}
  a{color:#000!important;text-decoration:none!important}
}


/* V1.24 – saubere Karten-Steuerung und Download-Auswahl */
.cpic-map-heading-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.75rem;
  margin-left:auto;
}
.cpic-map-print-shortcut{
  display:inline-flex;
  align-items:center;
}
.cpic-print-mark-map{
  align-items:center;
  padding:.65rem .9rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:.8rem;
  font-weight:750;
  cursor:pointer;
  white-space:nowrap;
}
.cpic-print-mark-map input{
  margin:0;
}

.cpic-map-tools{
  margin-top:.85rem;
}
.cpic-map-options{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.cpic-map-options>summary{
  padding:.8rem 1rem;
  font-weight:800;
  cursor:pointer;
  background:#fafafa;
}
.cpic-map-options-body{
  display:grid;
  gap:.9rem;
  padding:1rem;
  border-top:1px solid var(--line);
}
.cpic-map-category-actions,
.cpic-map-downloads{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.55rem;
}
.cpic-map-category-actions button,
.cpic-map-downloads button{
  min-height:38px;
  padding:.48rem .78rem;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:.86rem;
  font-weight:750;
  cursor:pointer;
}
.cpic-map-category-actions button:hover,
.cpic-map-downloads button:hover{
  border-color:var(--accent);
  background:#f3f8fa;
}
.cpic-map-category-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:.55rem .9rem;
}
.cpic-map-category-list label{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
  padding:.5rem .65rem;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fafafa;
  line-height:1.3;
  cursor:pointer;
}
.cpic-map-category-list input{
  flex:0 0 auto;
  margin:0;
}
.cpic-map-category-list .cpic-map-dot{
  flex:0 0 auto;
}
.cpic-map-downloads strong{
  margin-right:.2rem;
}

@media(max-width:760px){
  .cpic-map-heading{
    align-items:flex-start;
  }
  .cpic-map-heading-actions{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
  .cpic-map-category-list{
    grid-template-columns:1fr;
  }
  .cpic-map-downloads strong{
    width:100%;
  }
}

/* CPIC 2.0 – Browseransicht ist die maßgebliche Ausgabe */
.cpic-data-source-note{font-size:.82rem;color:var(--muted)}
.cpic-weather-basis{display:inline-flex;align-items:center;gap:.45rem;margin:.15rem 0 .85rem;padding:.42rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fafafa;font-size:.82rem;font-weight:750}

@media print{
  .cpic-print-excluded{display:none!important}
  .cpic-map-tools,.cpic-map-heading-actions,.cpic-map-print-shortcut{display:none!important}
  .cpic-map-legend{display:flex!important}
  .cpic-print-selected [data-print-key]:not(.cpic-print-excluded){display:block}
}


/* CPIC 2.0.3 – PDF: echtes WYSIWYG mit eingefrorenem Leaflet-Browserbild */
.cpic-map-print-snapshot{display:none}

@media print{
  html,body,.cpic-shell,.cpic-content,.cpic-map-print-snapshot,.cpic-map-print-snapshot *{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  /* WYSIWYG: Tabellen nur drucken, wenn sie im Browser geöffnet sind. */
  .cpic-collapsible-table .cpic-table-toggle{display:none!important}
  .cpic-table-panel[hidden]{display:none!important}
  .cpic-table-panel:not([hidden]){display:block!important}

  /* WYSIWYG: Kategorien & Downloads bleiben offen/geschlossen wie im Browser.
     Downloadbuttons selbst haben im PDF keine Funktion und bleiben ausgeblendet. */
  .cpic-map-tools{display:block!important;margin-top:.55rem!important}
  .cpic-map-options{background:#fff!important}
  .cpic-map-options:not([open]) .cpic-map-options-body{display:none!important}
  .cpic-map-options[open] .cpic-map-options-body{display:grid!important}
  .cpic-map-downloads{display:none!important}

  /* Die Live-Leaflet-Karte wird im Druck NICHT neu gelayoutet. Das verhindert
     verschwundene Tiles und verschobene Marker. Gedruckt wird ihr eingefrorener Klon. */
  .cpic-map{display:none!important}
  .cpic-map-print-snapshot{
    display:block!important;
    position:relative!important;
    width:100%!important;
    overflow:hidden!important;
    border:1px solid #777!important;
    border-radius:18px!important;
    background:#eaf1f3!important;
    break-inside:avoid!important;
  }
  .cpic-map-print-clone{
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    margin:0!important;
    max-width:none!important;
    min-width:0!important;
    transform-origin:0 0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
  }
  .cpic-map-print-clone .leaflet-control-container{display:none!important}

  /* Marker- und Legendenfarben unverändert übernehmen. */
  .cpic-map-dot,
  .cpic-harbor-marker,.cpic-poi-marker,.cpic-poi-marker-icon,.cpic-poi-marker-icon img{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    forced-color-adjust:none!important;
  }
  .cpic-map-dot{
    border-color:#fff!important;
    box-shadow:0 0 0 1px rgba(0,0,0,.35)!important;
  }
  .cpic-map-legend{margin-top:.45rem!important;padding:.55rem .7rem!important}
}


/* CPIC 2.0.4 – FrozenMap-Höhenfix
   Der Druckklon darf niemals die allgemeine .cpic-map-Druckhöhe (115 mm) erben. */
@media print{
  .cpic-map-print-clone{
    height:var(--cpic-frozen-height,auto)!important;
    width:var(--cpic-frozen-width,auto)!important;
  }
}

/* CPIC 2.0.5 – Druckkarten & interaktive Kategoriensteuerung
   Im PDF zählt die bereits sichtbare Farblegende. Die aufklappbare Checkbox-/Download-
   Steuerung ist ein reines Browser-Bedienelement und wird deshalb nicht mitgedruckt. */
@media print{
  .cpic-map-tools{display:none!important}
  .cpic-map-options,
  .cpic-map-options>summary,
  .cpic-map-options-body,
  .cpic-map-category-actions,
  .cpic-map-category-list,
  .cpic-map-category-list input,
  .cpic-map-category-list label,
  .cpic-map-downloads{display:none!important}
}

/* CPIC 2.0.6 – robuste PDF-Landkarte
   Im Druckrahmen wird die tatsächlich gerenderte Leaflet-Karte verwendet, nicht mehr
   ein geklonter DOM. Dadurch bleiben OSM-Kacheln auch bei geöffnetem Kategorienbereich
   vollständig sichtbar. */
@media print{
  .cpic-map-print-live-snapshot{
    display:block!important;
    position:relative!important;
    width:100%!important;
    overflow:hidden!important;
    background:#eaf1f3!important;
    border:1px solid #777!important;
    border-radius:18px!important;
  }
  .cpic-map-print-live{
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:var(--cpic-frozen-width)!important;
    height:var(--cpic-frozen-height)!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    transform-origin:0 0!important;
  }
  .cpic-map-print-live .leaflet-tile{
    opacity:1!important;
    visibility:visible!important;
  }
  .cpic-map-print-live .leaflet-control-container{display:none!important}

  /* Browser-Bedienelemente nie mitdrucken – egal ob <details> offen oder geschlossen. */
  .cpic-map-tools,
  .cpic-map-options,
  .cpic-map-options>summary,
  .cpic-map-options-body,
  .cpic-map-category-actions,
  .cpic-map-category-list,
  .cpic-map-category-list input,
  .cpic-map-category-list label,
  .cpic-map-downloads{display:none!important}
}


/* CPIC 2.0.8 – Karten im PDF als echtes Foto der Webansicht
   Leaflet selbst bleibt während des Druckens unangetastet. */
.cpic-map-print-raster{display:none}

@media print{
  /* Wenn ein Rasterbild erfolgreich erzeugt wurde, wird ausschließlich dieses
     gedruckt. Bei einem Capture-Fehler bleibt die native Karte automatisch als Fallback. */
  .cpic-map.cpic-map-has-print-image{display:none!important}
  .cpic-map-print-raster{
    display:block!important;
    width:100%!important;
    height:auto!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #777!important;
    border-radius:18px!important;
    background:#eaf1f3!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .cpic-map-print-raster img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  /* Alte Snapshot-Techniken aus 2.0.3–2.0.6 werden nicht mehr verwendet. */
  .cpic-map-print-snapshot,
  .cpic-map-print-live-snapshot{display:none!important}

  /* Browser-Bedienelemente nicht drucken; die Farblegende reicht im PDF. */
  .cpic-map-tools,
  .cpic-map-options,
  .cpic-map-options>summary,
  .cpic-map-options-body,
  .cpic-map-category-actions,
  .cpic-map-category-list,
  .cpic-map-downloads{display:none!important}
}


/* CPIC 2.0.15 – großzügigere Cover-Kachel „Hafen im Überblick“ */
.cpic-cover-overview{
  margin-top:clamp(2rem,5vw,4rem);
  width:100%;
  max-width:none;
  min-height:clamp(250px,30vw,390px);
  padding:2rem 2.25rem 2.15rem;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fafafa;
  box-sizing:border-box;
}
.cpic-cover-overview-label{
  display:block;
  margin-bottom:.55rem;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--muted);
}
.cpic-cover-overview .cpic-port-description{
  display:block;
  overflow:visible;
  line-height:1.7;
  font-size:1.02rem;
}
.cpic-cover-footer{
  margin-top:clamp(2rem,7vw,5rem);
  display:flex;
  flex-direction:column;
  gap:.2rem;
  color:var(--muted);
}
.cpic-cover-footer strong{color:var(--text);font-size:1rem}
.cpic-cover-footer span{font-size:.92rem}
.cpic-usage-note{
  grid-column:1 / -1;
  margin-top:.25rem;
  padding-top:1.15rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  line-height:1.6;
  font-size:.92rem;
}
.cpic-usage-note strong{display:block;margin-bottom:.35rem;color:var(--text)}
.cpic-usage-note p{margin:.25rem 0!important}

@media print{
  .cpic-port-head-simple{
    min-height:245mm;
    display:flex!important;
    flex-direction:column;
  }
  .cpic-cover-overview{
    margin-top:24mm;
    width:100%;
    max-width:none;
    min-height:112mm;
    padding:13mm 14mm 14mm;
    border:1px solid #aaa!important;
    border-radius:7mm!important;
    background:#fafafa!important;
    box-sizing:border-box;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .cpic-cover-overview-label{
    margin-bottom:7mm;
    font-size:11pt;
  }
  .cpic-cover-overview .cpic-port-description{
    display:block;
    overflow:visible;
    font-size:12pt;
    line-height:1.72;
  }
  .cpic-cover-footer{margin-top:auto;margin-bottom:4mm}
}


/* V2.16 – CPIC 2.2 Währung & Wechselkurs */
.cpic-currency-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.cpic-currency-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid var(--line);
}
.cpic-currency-pair>div{display:grid;gap:.2rem;min-width:0}
.cpic-currency-pair span,
.cpic-currency-rate-head span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cpic-currency-pair strong{font-size:1.05rem;overflow-wrap:anywhere}
.cpic-currency-pair small{color:var(--muted);line-height:1.4}
.cpic-currency-rate-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  padding:1rem 1.1rem;
}
.cpic-currency-rate-head>div:first-child{display:grid;gap:.18rem}
.cpic-currency-rate-head strong{font-size:1.35rem;font-weight:700}
.cpic-currency-rate-head small{color:var(--muted)}
.cpic-currency-date{color:var(--muted);font-size:.78rem;white-space:nowrap;padding-top:.15rem}
.cpic-currency-table-wrap{overflow-x:auto}
.cpic-currency-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cpic-currency-table th,
.cpic-currency-table td{padding:.7rem .8rem;border-top:1px solid var(--line);text-align:right;white-space:nowrap}
.cpic-currency-table th{background:#f6f6f6;color:var(--muted);font-size:.72rem;text-transform:none;letter-spacing:0}
.cpic-currency-table th:nth-child(1),.cpic-currency-table td:nth-child(1),
.cpic-currency-table th:nth-child(3),.cpic-currency-table td:nth-child(3){text-align:left}
.cpic-currency-table th:nth-child(3),.cpic-currency-table td:nth-child(3){border-left:1px solid var(--line)}
.cpic-currency-note{
  margin:1rem;
  padding:.9rem 1rem;
  border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;
  background:#f1f6f9;
  color:var(--muted);
  line-height:1.55;
  font-size:.86rem;
}
.cpic-currency-same{display:grid;gap:.3rem;padding:1.15rem;color:var(--text)}
.cpic-currency-same span{color:var(--muted)}
@media(max-width:700px){
  .cpic-currency-pair{grid-template-columns:1fr}
  .cpic-currency-rate-head{display:grid}
  .cpic-currency-table{min-width:620px}
}
@media print{
  #cpicCurrencyContent,.cpic-currency-card,.cpic-currency-table-wrap{break-inside:avoid!important;page-break-inside:avoid!important}
  .cpic-currency-card{border:1px solid #bbb!important;border-radius:4mm!important}
  .cpic-currency-pair{padding:4mm 5mm;gap:5mm}
  .cpic-currency-rate-head{padding:4mm 5mm}
  .cpic-currency-rate-head strong{font-size:13pt}
  .cpic-currency-table{font-size:8.5pt}
  .cpic-currency-table th,.cpic-currency-table td{padding:2.5mm 2.8mm}
  .cpic-currency-note{margin:4mm 5mm;padding:3mm 3.5mm;font-size:8.5pt;background:#f1f6f9!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
