/* adz.news — additions on top of the 2011 stylesheet (TYPO3 14 port, 2026) */

/* start-page slider source list, print logo etc. rely on .hidden */
.hidden { display: none; }

/* cookie notice (replaces the cookieconsent library EXT:cookie_data_privacy injected) */
#cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; padding: 12px 20px; background: #2f6db3; color: #fff; font-size: 14px; line-height: 1.4; box-shadow: 0 -2px 6px rgba(0,0,0,.3); }
#cookie-banner[hidden] { display: none; }
#cookie-banner .cc-header { font-weight: bold; }
#cookie-banner .cc-message { flex: 1 1 320px; }
#cookie-banner .cc-link { color: #fff; text-decoration: underline; }
#cookie-banner .cc-btn { background: #fff; color: #2f6db3; border: 0; padding: 8px 18px; cursor: pointer; font: inherit; }
#cookie-banner .cc-btn:hover { background: #eee; }
@media print { #cookie-banner { display: none !important; } }

/* mobile menu toggle: inline SVG instead of the Font Awesome glyph */
#mainmenu li.menu-icon a.icon { display: inline-block; line-height: 0; }
#mainmenu li.menu-icon svg.icon-bars { width: 30px; height: 30px; fill: #1f6899; display: block; }
@media all and (max-width: 480px) { #mainmenu li.menu-icon svg.icon-bars { width: 26px; height: 26px; } }

/* Google Programmable Search box: Google's current (v6) markup no longer fits the 2011 rules in
   google_search.css, which left a 57 px high empty frame and a hidden button. */
header #searchbox { height: auto; line-height: normal; width: 370px; }
#searchbox .gsc-control-searchbox-only { padding: 0; width: 100%; }
#searchbox form.gsc-search-box { margin: 0; width: 100%; }
#searchbox table.gsc-search-box, #searchbox table.gsc-input { height: auto; margin: 0; border-spacing: 0; }
#searchbox td.gsc-input { padding: 0 4px 0 0; }
#searchbox div.gsc-input-box { height: 24px; border: 1px solid #bfc5cc; border-radius: 2px; background: #fff; box-sizing: border-box; padding: 0; overflow: hidden; }
#searchbox table.gsc-input, #searchbox table.gsc-input tr, #searchbox table.gsc-input td { height: 22px !important; line-height: 22px !important; }
#searchbox .gsc-input .gsib_a { padding: 0 4px !important; }
#searchbox .gsc-input .gsib_b { padding: 0 2px 0 0 !important; }
#searchbox input.gsc-input { height: 22px !important; line-height: 22px; font-size: 13px; padding: 0 !important; background-size: auto 12px !important; background-position: 2px center !important; }
#searchbox div.gsst_b { height: 22px; line-height: 22px; padding: 0; }
#searchbox a.gsst_a { padding: 0 4px; display: inline-block; }
#searchbox td.gsc-search-button { display: table-cell !important; }
#searchbox button.gsc-search-button { display: inline-block !important; height: 24px; padding: 0 10px; margin: 0; border-radius: 2px; background: #1f6899; border: 1px solid #1f6899; cursor: pointer; vertical-align: top; }
#searchbox button.gsc-search-button:hover { background: #2f6db3; border-color: #2f6db3; }
#searchbox button.gsc-search-button svg { width: 13px; height: 13px; display: block; fill: #fff; }
/* inside the opened mobile menu (script.js moves #searchbox there below 1024 px) */
#mainmenu #searchbox { width: 80%; max-width: 370px; margin: 0 auto; padding: 8px 0; }
#mainmenu #searchbox form.gsc-search-box { width: 100%; }

/* Online-Abo form (EXT:form, replaces powermail) — look of the old form: grey fieldsets, blue legends,
   labels in a 200 px column. TYPO3 14 form markup: .form-element > .form-label + .form-control/.form-select,
   fieldset.form-element-fieldset > legend, .form-element-statictext > h2 + div, .form-check, .actions > nav > .btn */
.frame-type-form_formframework h1 { color: #fff; background: #1f6899; text-transform: uppercase; font-size: 100%; line-height: 22px; height: 22px; font-weight: bold; text-indent: 9px; margin: 0 0 11px; }
.frame-type-form_formframework form > h2 { font-size: 100%; color: #515151; margin: 0 0 6px; }
.frame-type-form_formframework fieldset.form-element-fieldset, .frame-type-form_formframework form > fieldset { border: 1px solid #ccc; background: #f0f0f0; padding: 10px 10px 2px; margin: 8px 0 12px; }
.frame-type-form_formframework fieldset.form-element-fieldset > legend, .frame-type-form_formframework form > fieldset > legend { display: block; float: none; width: auto; padding: 3px 5px; margin: 0 0 8px; color: #fff; background: #1f6899; font-weight: bold; font-size: 100%; }
.frame-type-form_formframework .form-element { margin: 0 0 8px; overflow: hidden; clear: both; }
.frame-type-form_formframework .form-element > .form-label { display: block; float: left; width: 200px; font-weight: bold; color: #515151; padding-top: 3px; margin: 0; }
.frame-type-form_formframework .form-label .required { color: #c00; margin-left: 2px; }
.frame-type-form_formframework .form-control, .frame-type-form_formframework .form-select { display: inline-block; border: 1px solid #ccc; background: #f8f8f8; box-shadow: 0 0 5px #eee inset; padding: 3px; width: 300px; max-width: 100%; font: inherit; color: #222; box-sizing: border-box; }
.frame-type-form_formframework textarea.form-control { width: calc(100% - 200px); max-width: 450px; min-height: 90px; vertical-align: top; }
.frame-type-form_formframework .form-element-statictext { margin-left: 200px; color: #333; }
.frame-type-form_formframework .form-element-statictext h2 { font-size: 100%; font-weight: bold; color: #515151; margin: 6px 0 2px; }
.frame-type-form_formframework .form-element-statictext div { white-space: pre-line; }
.frame-type-form_formframework fieldset.form-element-radio, .frame-type-form_formframework fieldset.form-element-checkbox { border: 0; background: none; padding: 0; margin: 0 0 8px; overflow: hidden; }
.frame-type-form_formframework fieldset.form-element-radio > legend.visually-hidden { position: static !important; width: 200px !important; height: auto !important; margin: 0 !important; padding: 3px 0 !important; overflow: visible !important; clip: auto !important; clip-path: none !important; white-space: normal !important; float: left; font-weight: bold; color: #515151; font-size: 100%; }
.frame-type-form_formframework fieldset.form-element-radio > div { margin-left: 200px; }
.frame-type-form_formframework .form-check { margin: 0 0 4px; }
.frame-type-form_formframework .form-check-wrapping-label { display: block; font-weight: normal; cursor: pointer; }
.frame-type-form_formframework .form-check-input { margin: 0 6px 0 0; vertical-align: middle; }
.frame-type-form_formframework .form-control.error, .frame-type-form_formframework .is-invalid, .frame-type-form_formframework .has-error .form-control { border-color: #c00; background: #fff4f4; }
.frame-type-form_formframework .help-block, .frame-type-form_formframework .invalid-feedback, .frame-type-form_formframework span.error { display: block; color: #c00; margin-left: 200px; }
.frame-type-form_formframework .actions { margin: 16px 0 8px 200px; }
.frame-type-form_formframework .btn { display: inline-block; background: #1f6899; color: #fff; border: 1px solid #1f6899; padding: 6px 18px; font: inherit; font-weight: bold; cursor: pointer; margin: 0 8px 0 0; }
.frame-type-form_formframework .btn:hover { background: #2f6db3; }
.frame-type-form_formframework .btn-secondary, .frame-type-form_formframework .btn-default { background: #f0f0f0; color: #333; border-color: #ccc; }
.frame-type-form_formframework table { width: 100%; border-collapse: collapse; margin: 8px 0; }
.frame-type-form_formframework table td, .frame-type-form_formframework table th { border-bottom: 1px solid #ddd; padding: 4px 6px; text-align: left; vertical-align: top; }
.frame-type-form_formframework table th, .frame-type-form_formframework table td:first-child { width: 200px; font-weight: bold; color: #515151; }
/* summary step (SummaryPage): section titles and label/value rows */
.frame-type-form_formframework .summary-list p { margin: 10px 0 4px; }
.frame-type-form_formframework .summary-list p b { display: block; padding: 3px 5px; color: #fff; background: #1f6899; }
.frame-type-form_formframework .summary-list dl.row { display: flex; margin: 0 0 4px; padding: 0 5px; }
.frame-type-form_formframework .summary-list dt.col { flex: none; width: 200px; font-weight: bold; color: #515151; }
.frame-type-form_formframework .summary-list dd.col { flex: 1; margin: 0; }
@media all and (max-width: 768px) {
  .frame-type-form_formframework .summary-list dl.row { display: block; }
  .frame-type-form_formframework .summary-list dt.col { width: auto; }
  .frame-type-form_formframework .form-element > .form-label, .frame-type-form_formframework fieldset.form-element-radio > legend.visually-hidden { float: none; width: auto !important; }
  .frame-type-form_formframework .form-control, .frame-type-form_formframework .form-select, .frame-type-form_formframework textarea.form-control { width: 100%; }
  .frame-type-form_formframework .form-element-statictext, .frame-type-form_formframework fieldset.form-element-radio > div, .frame-type-form_formframework .actions, .frame-type-form_formframework .help-block, .frame-type-form_formframework .invalid-feedback { margin-left: 0; }
}
