/* Celtic Sense - Custom Styles v13 */
:root {
  --cs-black: #000000;
  --cs-dark: #1a1a1a;
  --cs-dark-mid: #2c2c2c;
  --cs-mid: #444444;
  --cs-light-grey: #cccccc;
  --cs-green: #36A937;
  --cs-green-dark: #2a8a2b;
  --cs-yellow: #fbea24;
}

/* Hintergrund & Schrift */
html, body { background-color: #000 !important; color: #36A937 !important; }
.outer-wrapper, #main-container, #portal-column-content { background-color: #000 !important; }
h1,h2,h3,h4,h5,h6 { color: #36A937 !important; }
p, li, td, th, span { color: #36A937 !important; }
a { color: #fbea24 !important; }
a:hover { color: #fff !important; }

/* Buttons */
.btn-primary { background-color: #36A937 !important; border-color: #36A937 !important; color: #fff !important; }
.btn-primary:hover { background-color: #2a8a2b !important; border-color: #2a8a2b !important; }

/* Header */
#portal-top, #portal-header { background-color: #000 !important; }
#portal-logo { border: none !important; outline: none !important; box-shadow: none !important; }
#portal-logo a, #portal-logo a:focus, #portal-logo a:hover { border: none !important; outline: none !important; background: transparent !important; }
#portal-logo img { width: 480px !important; height: auto !important; display: block !important; }

/* Navigation */
#mainnavigation-wrapper, #mainnavigation, #portal-globalnav-wrapper, .navbar-barceloneta { background-color: #1a1a1a !important; }
ul#portal-globalnav > li > a { color: #36A937 !important; background-color: #1a1a1a !important; }
ul#portal-globalnav > li > a:hover, ul#portal-globalnav > li.active > a { color: #fff !important; background-color: #444 !important; }
ul#portal-globalnav > li.active > a { border-bottom: 2px solid #fbea24 !important; }
#portal-globalnav-wrapper .dropdown-menu { background-color: #2c2c2c !important; border: 1px solid #444 !important; }
#portal-globalnav-wrapper .dropdown-item { color: #36A937 !important; }
#portal-globalnav-wrapper .dropdown-item:hover { background-color: #444 !important; color: #fff !important; }
#offcanvasNavbar { background-color: #1a1a1a !important; }

/* Suche */
#portal-searchbox input[type="text"] { background-color: #2c2c2c !important; color: #36A937 !important; border: 1px solid #444 !important; }
#portal-searchbox button, #portal-searchbox [type="submit"] { background-color: #36A937 !important; color: #fff !important; border: none !important; }

/* Live-Suche Dropdown */
.pat-livesearch, .pat-livesearch *,
.livesearch-results, .livesearch-results *,
[class*="livesearch"], [class*="livesearch"] * { background-color: #1a1a1a !important; color: #36A937 !important; }
.pat-livesearch .livesearch-result { border-bottom: 1px solid #2c2c2c !important; }
.pat-livesearch .livesearch-result:hover { background-color: #2c2c2c !important; }
.pat-livesearch .badge { background-color: #fbea24 !important; color: #000 !important; }

/* Breadcrumb */
#above-content-wrapper,
#above-content-wrapper *,
#above-content-wrapper .container,
#above-content-wrapper .row,
nav#portal-breadcrumbs,
nav#portal-breadcrumbs * { background-color: #000 !important; color: #36A937 !important; }
#above-content-wrapper #portal-column-one,
#above-content-wrapper #portal-column-two,
#above-content-wrapper aside { display: none !important; }
#above-content { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
.breadcrumb-item + .breadcrumb-item::before { color: #36A937 !important; }

/* Hero ausblenden */
#hero { display: none !important; }

/* Suchergebnisse */
.searchResults, .search-results, #search-results,
.searchPage, .searchPage *, ol.searchResults li,
ol.searchResults li *, .listingBar { background-color: #000 !important; color: #36A937 !important; }
.searchResults li { border-color: #2c2c2c !important; }

/* Karten & Portlets */
.card, .portlet { background-color: #1a1a1a !important; border-color: #2c2c2c !important; }
.card-body, .portletContent { background-color: #1a1a1a !important; color: #36A937 !important; }
.card *, .portlet * { color: #36A937 !important; }

/* Formulare & Eingabefelder */
input, input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="url"], input[type="tel"],
input[type="number"], input[type="date"], input[type="time"],
textarea, select, .form-control, .form-select {
  background-color: #1a1a1a !important;
  color: #36A937 !important;
  border: 1px solid #444 !important;
}
input::placeholder, textarea::placeholder { color: #888 !important; }
input:focus, textarea:focus, select:focus, .form-control:focus {
  background-color: #2c2c2c !important;
  color: #36A937 !important;
  border-color: #fbea24 !important;
  box-shadow: 0 0 0 2px rgba(251,234,36,0.25) !important;
}
label { color: #36A937 !important; }
.form-text, .help-block, .formHelp { color: #aaa !important; }

/* TinyMCE */
.tox, .tox * { background-color: #1a1a1a !important; color: #36A937 !important; }
.tox-toolbar, .tox-toolbar * { background-color: #2c2c2c !important; color: #36A937 !important; }
.tox-toolbar__primary { background-color: #2c2c2c !important; border-bottom: 1px solid #444 !important; }
.tox-tbtn { color: #36A937 !important; }
.tox-tbtn:hover { background-color: #444 !important; }
.tox-tbtn svg { fill: #36A937 !important; }
.tox-edit-area, .tox-edit-area__iframe { background-color: #1a1a1a !important; }
.tox-statusbar { background-color: #2c2c2c !important; color: #888 !important; border-top: 1px solid #444 !important; }
.tox-menubar { background-color: #2c2c2c !important; }
.tox-menu, .tox-collection__item { background-color: #1a1a1a !important; color: #36A937 !important; }
.tox-collection__item--active { background-color: #fbea24 !important; color: #000 !important; }
[contenteditable="true"] { background-color: #1a1a1a !important; color: #36A937 !important; }

/* Select2 */
.select2-container .select2-selection,
.select2-container .select2-dropdown,
.select2-results__option { background-color: #1a1a1a !important; color: #36A937 !important; }
.select2-results__option--highlighted { background-color: #fbea24 !important; color: #000 !important; }

/* Inhaltstabelle */
.pat-structure, .pat-structure *,
#content .pat-structure table,
#content .pat-structure tbody,
#content .pat-structure thead,
#content .pat-structure tr,
#content .pat-structure td,
#content .pat-structure th { background-color: #000 !important; color: #36A937 !important; border-color: #2c2c2c !important; }
#content .pat-structure tr:nth-child(even),
#content .pat-structure tr:nth-child(odd),
.table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-of-type(even) { background-color: #000 !important; }
#content .pat-structure tr:hover,
.table-hover tbody tr:hover { background-color: #1a1a1a !important; }
#content .pat-structure table { border: 1px solid #2c2c2c !important; }
#content .pat-structure td, #content .pat-structure th { border-bottom: 1px solid #2c2c2c !important; }
.pat-structure .toolbar, .pat-structure .toolbar * { background-color: #1a1a1a !important; color: #36A937 !important; border-color: #444 !important; }
.pat-structure .toolbar button { background-color: #1a1a1a !important; color: #36A937 !important; border: 1px solid #444 !important; }
.pat-structure .toolbar button:hover { background-color: #2c2c2c !important; }
.pat-structure .toolbar button.btn-danger { background-color: #5a1a1a !important; border-color: #7a2a2a !important; color: #fff !important; }
.pat-structure .pagination .page-link { background-color: #1a1a1a !important; border-color: #444 !important; color: #36A937 !important; }
.pat-structure .pagination .page-item.active .page-link { background-color: #fbea24 !important; border-color: #fbea24 !important; color: #000 !important; }
.pat-structure input[type="checkbox"] { accent-color: #fbea24 !important; }

/* Content-Tabellen */
#content-core table,
#parent-fieldname-text table,
.documentContent table {
  border-collapse: collapse !important;
  width: 100% !important;
  border: 1px solid #36A937 !important;
}
#content-core table th,
#parent-fieldname-text table th,
.documentContent table th {
  background-color: #1a1a1a !important;
  color: #fbea24 !important;
  border: 1px solid #36A937 !important;
  padding: 0.5rem 0.75rem !important;
  text-align: left !important;
}
#content-core table td,
#parent-fieldname-text table td,
.documentContent table td {
  border: 1px solid #2c2c2c !important;
  padding: 0.5rem 0.75rem !important;
  color: #36A937 !important;
  background-color: #000 !important;
}
#content-core table tr:hover td,
#parent-fieldname-text table tr:hover td {
  background-color: #1a1a1a !important;
}

/* Collection – einspaltig */
.template-album_view #content .row,
.template-album_view #content .card-group,
.template-album_view #content .card-deck,
.template-album_view #content .card-columns {
  display: flex !important;
  flex-direction: column !important;
  column-count: 1 !important;
}
.template-album_view #content .card,
.template-album_view #content [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin-bottom: 2rem !important;
}

/* Zeitzone ausblenden */
.timezone, .cal-events-listing .timezone,
.event .timezone, .vevent .timezone,
span.timezone { display: none !important; }

/* Footer */
#portal-footer-wrapper { background-color: #000 !important; color: #36A937 !important; padding: 1rem 0 !important; border-top: 1px solid #2c2c2c !important; }
#portal-footer { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 1.5rem !important; }
#portal-footer-wrapper a { color: #36A937 !important; text-decoration: none !important; }
#portal-footer-wrapper ul { display: flex !important; flex-direction: row !important; list-style: none !important; gap: 1rem !important; padding: 0 !important; margin: 0 !important; }
#portal-footer-wrapper li { display: inline-flex !important; }
#portal-footer-wrapper li::before { content: none !important; }

/* ================================================
   DRUCK-OPTIMIERUNG (@media print)
   ================================================ */
@media print {
  /* Grundfarben für Druck */
  html, body {
    background-color: #fff !important;
    color: #000 !important;
    font-size: 11pt !important;
  }

  /* Nur Inhalt drucken – alles andere ausblenden */
  #portal-top,
  #portal-header,
  #portal-logo,
  #mainnavigation-wrapper,
  #portal-globalnav-wrapper,
  #above-content-wrapper,
  #portal-searchbox,
  #portal-anontools,
  #portal-personaltools,
  #portal-footer-wrapper,
  #portal-column-one,
  #portal-column-two,
  aside,
  .portlet,
  .pat-toolbar,
  .plone-toolbar-container,
  nav#portal-breadcrumbs,
  .documentActions,
  .comment-form,
  #hero { display: none !important; }

  /* Hauptinhalt volle Breite */
  #portal-column-content,
  #main-container,
  .outer-wrapper,
  #content,
  #content-core { 
    width: 100% !important;
    max-width: 100% !important;
    background-color: #fff !important;
    color: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Überschriften */
  h1, h2, h3, h4, h5, h6 {
    color: #000 !important;
    page-break-after: avoid !important;
  }

  /* Fließtext */
  p, li, td, th, span {
    color: #000 !important;
    background-color: #fff !important;
  }

  /* Links: URL anzeigen */
  a { color: #000 !important; text-decoration: underline !important; }
  a[href]:after { content: " (" attr(href) ")"; font-size: 8pt; color: #555; }
  a[href^="#"]:after,
  a[href^="javascript"]:after { content: ""; }

  /* Tabellen */
  table { 
    border-collapse: collapse !important;
    width: 100% !important;
    page-break-inside: avoid !important;
  }
  th {
    background-color: #e0e0e0 !important;
    color: #000 !important;
    border: 1px solid #333 !important;
    padding: 4pt 6pt !important;
  }
  td {
    background-color: #fff !important;
    color: #000 !important;
    border: 1px solid #ccc !important;
    padding: 4pt 6pt !important;
  }
  tr:nth-child(even) td { background-color: #f5f5f5 !important; }

  /* Seitenränder */
  @page {
    margin: 2cm;
    size: A4;
  }

  /* Bilder */
  img { max-width: 100% !important; }

  /* Seitenumbrüche vermeiden */
  p, li { page-break-inside: avoid !important; }
  h2, h3 { page-break-before: auto !important; }
}