/*
Theme Name: Enfold Pfarrei
Template: enfold
Description: Kindtheme für die Pfarreiengemeinschaft Edenstetten und Bernried: Optik, Newsticker, Livestream-Hinweis.
Version: 1.7
Text Domain: enfold-pfarrei
*/

:root {
  --pf-bg: #faf8f4; --pf-paper: #ffffff; --pf-ink: #26252d; --pf-muted: #5d5b68; --pf-line: #e4dfd3;
  --pf-primary: #3f4f93; --pf-primary-dark: #2f3b73; --pf-soft: #eceffa; --pf-gold: #a9812f; --pf-goldsoft: #f6efdd;
  --pf-serif: Georgia, "Times New Roman", serif;
}
html { color-scheme: light only; }
body, #top, #top .main_color, #top .main_color .container_wrap, #top .container_wrap { background-color: var(--pf-bg); color: var(--pf-ink); }
#top .alternate_color, #top .alternate_color .container_wrap { background-color: #fff; color: var(--pf-ink); }
body { font-size: 17px; line-height: 1.7; }
#top h1, #top h2, #top h3, #top h4, #top .av-special-heading-tag, #top .logo a, #top .main_menu a { font-family: var(--pf-serif); }
#top h1, #top h2, #top h3, #top h4 { color: var(--pf-ink); font-weight: 700; }
#top a { color: var(--pf-primary); }
#top a:hover { color: var(--pf-primary-dark); }

/* Kopf */
#header, #header_main, #header_main_alternate { background: #fff !important; border-bottom: 1px solid var(--pf-line); }
#top #header .logo img { max-height: 90px; width: auto; }
#top .main_menu .menu > li > a, #top #header .av-main-nav > li > a { font-family: var(--pf-serif); font-weight: 700; font-size: 15px; color: var(--pf-ink); }
#top .av-main-nav > li > a:hover, #top .av-main-nav .current-menu-item > a, #top .av-main-nav .current-menu-ancestor > a { color: var(--pf-primary); }
#top .av-main-nav .menu-item > a .avia-menu-text { white-space: nowrap; }
#top .av-main-nav ul { background: #fff; border: 1px solid var(--pf-line); border-radius: 12px; box-shadow: 0 12px 30px rgba(38,37,45,.12); overflow: hidden; }
#top .av-main-nav ul a { font-family: var(--pf-serif); color: var(--pf-ink); }
#top .av-main-nav ul a:hover { background: var(--pf-soft); }
#top .av-burger-overlay, #top #header .av-hamburger-box .av-hamburger-inner, #top .av-hamburger-inner:before, #top .av-hamburger-inner:after { background-color: var(--pf-primary); }

/* Buttons */
#top .avia-button, #top .avia-button.avia-color-theme-color { border-radius: 999px; background: var(--pf-primary); color: #fff; border: 2px solid var(--pf-primary); font-weight: 600; font-family: var(--pf-serif); }
#top .avia-button:hover { background: var(--pf-primary-dark); border-color: var(--pf-primary-dark); color: #fff; }
#top .avia-button.pf-ghost { background: transparent; color: var(--pf-primary); }
#top .avia-button.pf-ghost:hover { background: var(--pf-soft); color: var(--pf-primary-dark); }
#top .avia-button.pf-ghost .avia_iconbox_title, #top .avia-button.pf-ghost .avia_button_text { color: inherit; }
#top .avia-button.pf-live { background: #fff; color: var(--pf-ink); border: 1px solid var(--pf-line); }
#top .avia-button.pf-live:hover { border-color: var(--pf-primary); background: #fff; color: var(--pf-ink); }
#top .avia-button.pf-live .avia_button_text:before { content: ""; display: inline-block; width: 11px; height: 11px; border-radius: 50%; background: #c0392b; box-shadow: 0 0 0 4px rgba(192,57,43,.18); margin-right: 10px; }

/* Abschnitte, Seitenkopf */
.pf-eyebrow { display: block; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--pf-gold); font-weight: 700; margin-bottom: .5em; font-family: var(--pf-serif); }
#top .pf-hero, #top .pf-hero .container_wrap, #top .pf-pagehead { color: #fff; }
#top .pf-hero h1, #top .pf-hero h2, #top .pf-hero p, #top .pf-hero a:not(.avia-button), #top .pf-hero .pf-eyebrow,
#top .pf-pagehead h1, #top .pf-pagehead p, #top .pf-pagehead .pf-eyebrow { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
#top .pf-hero .pf-eyebrow, #top .pf-pagehead .pf-eyebrow { color: #f0d9a0; }
#top .pf-hero p.pf-lead { font-size: 1.25em; max-width: 34em; }
#top .pf-pagehead .avia-section-inner, #top .pf-pagehead .container { padding-top: 0; padding-bottom: 0; }
#top .pf-quote { border-left: 3px solid var(--pf-gold); padding-left: 1em; font-family: var(--pf-serif); font-style: italic; font-size: 1.15em; }
.pf-hero .avia-button { margin-right: 8px; }

/* Karten und Kacheln */
.pf-card { background: #fff; border: 1px solid var(--pf-line); border-radius: 14px; padding: 24px; height: 100%; }
.pf-card h3 { margin-top: 0; }
.pf-card .pf-sub { color: var(--pf-muted); }
.pf-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pf-tile { display: block; padding: 20px 22px; background: #fff; border: 1px solid var(--pf-line); border-radius: 14px; text-decoration: none; color: var(--pf-ink) !important; }
.pf-tile:hover { border-color: var(--pf-primary); background: var(--pf-soft); }
.pf-tile strong { display: block; font-family: var(--pf-serif); font-size: 1.2em; margin-bottom: .2em; }
.pf-tile span { color: var(--pf-muted); font-size: .95em; }
@media (max-width: 900px) { .pf-tiles { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pf-tiles { grid-template-columns: 1fr; } }
.pf-person { text-align: center; }
.pf-person strong { display: block; font-family: var(--pf-serif); font-size: 1.15em; }
.pf-person .pf-role { color: var(--pf-gold); font-weight: 700; font-size: .85em; letter-spacing: .06em; text-transform: uppercase; }
.pf-person p { margin: .3em 0; }
.pf-platzhalter { background: var(--pf-goldsoft); border: 1px dashed var(--pf-gold); border-radius: 12px; padding: 16px 20px; }

/* Gottesdienste-Tabelle */
table.pf-tabelle { width: 100%; border: 0; border-collapse: collapse; background: #fff; border-radius: 14px; overflow: hidden; }
table.pf-tabelle th { background: var(--pf-primary); color: #fff; text-align: left; padding: 10px 14px; border: 0; }
table.pf-tabelle td { padding: 10px 14px; border: 0; border-top: 1px solid var(--pf-line); vertical-align: top; }
table.pf-tabelle td:first-child { white-space: nowrap; font-weight: 700; color: var(--pf-primary-dark); }
.pf-ort { display: inline-block; font-size: .75em; font-weight: 700; padding: .15em .7em; border-radius: 999px; background: var(--pf-soft); color: var(--pf-primary-dark); }
@media (max-width: 600px) { table.pf-tabelle td, table.pf-tabelle th { padding: 8px 8px; font-size: 15px; } }

/* Livestream-Karte */
.pf-stream { display: flex; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--pf-line); border-radius: 14px; padding: 20px 24px; }
.pf-stream:before { content: ""; flex: none; width: 14px; height: 14px; border-radius: 50%; background: #c0392b; box-shadow: 0 0 0 5px rgba(192,57,43,.18); }
.pf-stream h3 { margin: 0 0 .2em; }
.pf-stream p { margin: 0; color: var(--pf-muted); }

/* Newsticker */
.pf-ticker { display: flex; align-items: center; gap: 14px; background: #23283f; color: #fff; font-size: 15px; padding: 8px 16px; position: relative; z-index: 300; }
.pf-ticker-label { flex: none; background: var(--pf-gold); color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; padding: .25em .8em; border-radius: 999px; }
.pf-ticker-track { flex: 1; min-width: 0; overflow: hidden; }
.pf-ticker-move { display: flex; width: max-content; animation: pf-ticker var(--pf-dauer, 60s) linear infinite; }
.pf-ticker-move.paused, .pf-ticker-track:hover .pf-ticker-move, .pf-ticker-track:focus-within .pf-ticker-move { animation-play-state: paused; }
.pf-ticker ul { display: flex; flex: none; list-style: none; margin: 0; padding: 0; }
.pf-ticker li { flex: none; padding-right: 3.5rem; white-space: nowrap; margin: 0; }
.pf-ticker li:before { content: "\2022"; color: var(--pf-gold); margin-right: .8rem; }
#top .pf-ticker a { color: #fff; text-decoration: none; }
#top .pf-ticker a:hover { text-decoration: underline; color: #fff; }
.pf-ticker-pause { flex: none; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; padding: .2em .9em; font: inherit; font-size: 13px; cursor: pointer; line-height: 1.5; }
.pf-ticker-pause:hover { background: rgba(255,255,255,.12); }
@keyframes pf-ticker { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .pf-ticker-move { animation: none; width: auto; flex-wrap: wrap; }
  .pf-ticker ul[aria-hidden="true"], .pf-ticker-pause { display: none; }
  .pf-ticker li { white-space: normal; }
}
@media (max-width: 720px) { .pf-ticker-pause { display: none; } .pf-ticker-label { font-size: 11px; } }

/* Fuß */
#footer, #socket { background: #23283f !important; color: #d9dcec; }
#socket .copyright, #socket a, #footer a { color: #fff; }

/* Feinschliff Überschriften */
#top h1, #top h2, #top h3, #top h4, #top .av-special-heading-tag { text-transform: none; letter-spacing: 0; }
#top h1 { font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.15; }
#top h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
#top .pf-pagehead h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
#top .main_color .pf-tile, #top .main_color .pf-tile strong { color: var(--pf-ink); }
.pf-person img { aspect-ratio: 1; object-fit: cover; border-radius: 14px; width: 100%; }
#top .avia-image-container img, #top .av-masonry-image-container img { border-radius: 12px; }
#top .avia-gallery img { border-radius: 10px; }
#top #header_main .logo a img { border-radius: 4px; }

/* Einheitliche Bildformate */
#top .pf-fit img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
#top .pf-person img { aspect-ratio: 1; object-fit: cover; width: 100%; height: auto; }
.pf-person .pf-role { display: block; }

/* Tabellen: Enfold färbt jede zweite Zeile grau, das lesen wir nicht gut */
#top table.pf-tabelle { font-size: 16px; }
#top table.pf-tabelle tr td, #top table.pf-tabelle tr:nth-child(even) td, #top table.pf-tabelle tr:nth-child(odd) td { color: var(--pf-ink); background: #fff; }
#top table.pf-tabelle tr td:first-child { color: var(--pf-primary-dark); }
#top table.pf-tabelle .pf-ort { font-size: 12px; }

/* Ablauf-Listen auf den Sakramente-Seiten */
#top .pf-lead-dark { font-size: 1.15em; color: var(--pf-ink); }
#top ol.pf-schritte { list-style: none; counter-reset: schritt; margin: 0; padding: 0; }
#top ol.pf-schritte li { counter-increment: schritt; position: relative; margin: 0 0 14px; padding: 4px 0 4px 54px; min-height: 40px; }
#top ol.pf-schritte li:before { content: counter(schritt); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--pf-primary); color: #fff; font-family: var(--pf-serif); font-weight: 700; display: grid; place-items: center; }
#top .pf-card ul { margin-left: 1.2em; }

#top .pf-caption { font-size: .9em; color: var(--pf-muted); margin: 6px 0 0; }
#top mark { background: var(--pf-goldsoft); padding: 0 4px; }

/* Fußbereich mit Links */
.pf-foot { background: #23283f; color: #d9dcec; padding: 40px 16px 30px; }
.pf-foot .pf-foot-in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.pf-foot h3 { color: #fff; font-size: 1.05em; margin: 0 0 .6em; }
.pf-foot ul { list-style: none; margin: 0; padding: 0; }
.pf-foot li { margin: 0 0 .4em; }
#top .pf-foot a { color: #fff; }
.pf-foot .pf-leit { font-family: var(--pf-serif); font-style: italic; color: #f0d9a0; font-size: 1.15em; margin-top: .8em; }
@media (max-width: 800px) { .pf-foot .pf-foot-in { grid-template-columns: 1fr; } }

/* Hero und Seitenkopf sofort sichtbar (Enfold blendet sonst erst per Skript ein) */
#top .pf-pagehead .container, #top .pf-hero .container, #top .pf-pagehead .av-section-cont-open, #top .pf-hero .av-section-cont-open { opacity: 1 !important; }

/* Tabellen auf dem Handy als gestapelte Zeilen */
@media (max-width: 640px) {
  #top table.pf-tabelle, #top table.pf-tabelle tbody, #top table.pf-tabelle tr, #top table.pf-tabelle td { display: block; width: 100%; }
  #top table.pf-tabelle thead { display: none; }
  #top table.pf-tabelle tr { padding: 10px 14px; border-top: 1px solid var(--pf-line); background: #fff; }
  #top table.pf-tabelle tr td, #top table.pf-tabelle tr:nth-child(even) td { padding: 1px 0; border: 0; white-space: normal; }
  #top table.pf-tabelle tr td:nth-child(2) { display: inline-block; width: auto; margin-right: 10px; color: var(--pf-muted); }
  #top table.pf-tabelle tr td:nth-child(4) { display: inline-block; width: auto; }
  #top table.pf-tabelle tr td:first-child { font-size: 1em; }
}

/* Ticker auf dem Handy: Pause bleibt sichtbar */
@media (max-width: 720px) { .pf-ticker-pause { display: inline-block !important; } .pf-ticker { gap: 8px; padding: 8px 10px; } }

/* News: ohne Seitenleiste, lesbare Meta-Zeile */
.blog-meta, .post-meta-infos, .post-meta-infos a, .blog-categories, .blog-categories a { color: #5d5b68 !important; }
.post-meta-infos .comment-container, .post-meta-infos .text-sep-comment, .blog-author, .text-sep-author, .minor-meta .blog-author { display: none !important; }
body.blog .sidebar, body.blog #sidebar, .template-blog .sidebar { display: none !important; }
body.blog .content, body.blog main.template-blog { width: 100% !important; float: none !important; border: 0 !important; }

/* Kopfzeile am Desktop: Logo links, Menü rechts daneben, nie übereinander */
@media (min-width: 990px) {
  #top #header .logo img { height: auto; max-height: 70px; width: auto; }
  #top #header .main_menu { padding-left: 130px; box-sizing: border-box; }
  #top #header .av-main-nav { display: flex; flex-wrap: nowrap; justify-content: flex-end; float: none; width: 100%; }
  #top #header .av-main-nav > li { float: none; flex: none; }
}
@media (min-width: 1280px) {
  #top .av-main-nav > li > a { padding-left: 7px !important; padding-right: 7px !important; }
  #top .av-main-nav > li > a .avia-menu-text { font-size: 13.5px; letter-spacing: 0; }
}
@media (min-width: 1100px) and (max-width: 1279px) {
  #top .av-main-nav > li > a { padding-left: 5px !important; padding-right: 5px !important; }
  #top .av-main-nav > li > a .avia-menu-text { font-size: 13px; letter-spacing: 0; }
}
@media (min-width: 990px) and (max-width: 1099px) {
  /* Tablet quer: Logo oben, Menü darunter in einer Zeile */
  #top #header_main > .container { height: auto !important; display: flex; flex-direction: column; align-items: center; padding-left: 20px; padding-right: 20px; }
  #top #header .logo { position: static !important; float: none; height: 62px !important; width: auto !important; margin: 6px 0 0; display: flex; align-items: center; }
  #top #header .logo img { max-height: 54px; }
  #top #header .main_menu { position: static !important; padding-left: 0; height: auto !important; width: 100%; }
  #top #header .av-main-nav-wrap { height: auto !important; }
  #top #header .av-main-nav { justify-content: center; flex-wrap: wrap; }
  #top #header .av-main-nav > li > a { height: 42px !important; line-height: 42px !important; padding-left: 7px !important; padding-right: 7px !important; }
  #top .av-main-nav > li > a .avia-menu-text { font-size: 13px; letter-spacing: 0; }
}
