/*
Theme Name: Bad Füssing – OceanWP Child
Theme URI: https://badfuessing.online/
Description: Header, Footer, mobile Navigation und Magazin-Grundgestaltung für Bad Füssing aktuell. Für OceanWP und Elementor Free.
Author: Bad Füssing Online
Template: oceanwp
Version: 1.0.2
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: badfuessing-child
*/
:root{--bf-ink:#17373c;--bf-deep:#0f4954;--bf-aqua:#58aeb5;--bf-water:#dff2f1;--bf-sand:#f4eee4;--bf-accent:#d49a45;--bf-width:1240px}
body.bfem-site{font-family:Arial,Helvetica,sans-serif;color:var(--bf-ink);font-size:17px;line-height:1.65;background:#fff}
.bfem-site h1,.bfem-site h2,.bfem-site h3{font-family:Georgia,'Times New Roman',serif;color:var(--bf-ink);font-weight:400;line-height:1.15}
.bfem-site h1{font-size:clamp(36px,5vw,66px)}.bfem-site h2{font-size:clamp(28px,3.5vw,44px)}.bfem-site h3{font-size:26px}
.bfem-site .container{max-width:var(--bf-width)}
.bf-shell{width:calc(100% - 60px);max-width:var(--bf-width);margin-inline:auto;box-sizing:border-box}
.bfem-site :where(a,button,input,select,textarea):focus-visible{outline:3px solid #246a75;outline-offset:4px}
.bf-header a,.bf-footer a{text-decoration:none}.bf-header a:hover{text-decoration:underline;text-underline-offset:5px}
.bf-skip{position:fixed;top:10px;left:10px;transform:translateY(-200%);z-index:100000;background:#fff;color:#17373c;padding:12px 18px}.bf-skip:focus{transform:none}
.bf-header{background:#fff;border-bottom:1px solid #dbe5e3;position:relative;z-index:1000;color:var(--bf-ink)}
.bf-header.bf-sticky{position:sticky;top:0}.admin-bar .bf-header.bf-sticky{top:32px}
.bf-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.bf-brand{color:var(--bf-ink);display:block;flex-shrink:0;font:30px/1.15 Georgia,serif;padding-block:12px}
.bf-brand:hover{color:var(--bf-deep);text-decoration:none!important}
.bf-brand small{display:block;font:700 11px/1.6 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--bf-deep);margin-top:5px}
.bf-logo{display:block;width:auto;max-width:250px;max-height:64px;object-fit:contain}
.bf-navigation ul{list-style:none;padding:0;margin:0}.bf-navigation>.bf-menu{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 20px}
.bf-navigation li{position:relative;margin:0}.bf-navigation a{color:var(--bf-ink);display:inline-block;font:600 12px/1.5 Arial,sans-serif;letter-spacing:.05em;padding:17px 0;text-transform:uppercase}
.bf-navigation .current-menu-item>a,.bf-navigation .current-menu-ancestor>a{box-shadow:inset 0 -2px var(--bf-deep)}
.bf-navigation .sub-menu{position:absolute;right:0;top:100%;min-width:240px;max-width:calc(100vw - 40px);background:#fff;border:1px solid #dbe5e3;box-shadow:0 12px 30px #17373c14;padding:10px;z-index:10;display:none}
.bf-navigation .sub-menu a{padding:11px 12px;font-size:13px;text-transform:none;letter-spacing:0;max-width:calc(100% - 40px)}
.bf-navigation .sub-menu .sub-menu{position:static;box-shadow:none;border:0;border-left:2px solid var(--bf-water);min-width:0;margin-left:12px}
.bf-header:not(.bf-enhanced) li:hover>.sub-menu,.bf-header:not(.bf-enhanced) li:focus-within>.sub-menu,.bf-navigation li.bf-submenu-open>.sub-menu{display:block}
.bf-header .bf-submenu-toggle{background:transparent;color:var(--bf-ink);border:0;min-width:36px;min-height:44px;padding:4px;cursor:pointer;font:20px Arial,sans-serif;letter-spacing:0}
.bf-header .bf-menu-toggle{display:none;background:var(--bf-deep);color:white;border:0;padding:12px 15px;font:600 14px Arial,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer;min-height:44px}
.bf-footer{background:var(--bf-deep);color:#fff;padding:58px 0 0;margin:0}
.bf-footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:65px;padding-bottom:44px}
.bf-footer-brand{font:32px/1.2 Georgia,serif;color:#fff!important}.bf-footer-brand small{display:block;font:700 11px/1.6 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-top:6px;color:#dff2f1}
.bf-footer-about p{max-width:390px;margin:22px 0 0;font-size:15px;color:#e0edec}
.bf-footer h2{font:700 12px/1.5 Arial,sans-serif;color:#fff;letter-spacing:.13em;text-transform:uppercase;margin:5px 0 18px}
.bf-footer ul{list-style:none;margin:0;padding:0}.bf-footer li{margin:0 0 8px}.bf-footer a{color:#e0edec;font-size:15px}.bf-footer .bf-footer-brand{font-size:32px}.bf-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.bf-footer-bottom{border-top:1px solid #ffffff30;padding-block:22px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:13px;color:#e0edec}
.bf-footer .bf-legal-menu{display:flex;flex-wrap:wrap;gap:22px}.bf-footer .bf-legal-menu li{margin:0}.bf-footer .bf-legal-menu a{font-size:13px}.bf-footer :where(a,button):focus-visible{outline-color:#fff}
.bf-category-hero{background:linear-gradient(120deg,var(--bf-water),var(--bf-sand));padding:64px 0}.bf-category-hero h1{margin:8px 0 18px}.bf-category-description{max-width:800px;font-size:20px}
.bf-eyebrow{font:700 12px/1.5 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--bf-deep);margin:0 0 12px}
.bf-category-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);gap:44px;padding-block:58px}
.bf-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bf-post-card{border:1px solid #dbe5e3;background:#fff;min-width:0;overflow-wrap:anywhere}
.bf-post-image{display:block;aspect-ratio:3/2;overflow:hidden}.bf-post-image img{display:block;width:100%;height:100%;object-fit:cover}.bf-post-body{padding:25px}.bf-post-body h2{font-size:27px;margin:0 0 15px}.bf-post-body p{font-size:16px;margin:0 0 20px}.bf-post-body a{color:var(--bf-deep)}.bf-more{font-weight:700;font-size:14px}
.bf-sidebar{align-self:start;padding:26px;border:1px solid #dbe5e3}.bf-sidebar h2{font-size:24px}.bf-sidebar ul{list-style:none;margin:0 0 20px;padding:0}.bf-sidebar a:not(.bf-button){display:block;padding:10px 0;border-bottom:1px solid #dbe5e3;color:var(--bf-ink);font-size:15px}.bf-sidebar [aria-current]{font-weight:700}
.bf-empty{padding:36px;background:var(--bf-sand)}.bf-empty h2{font-size:28px}.bf-page{margin:0}.bf-page>.elementor{width:100%}
.bf-button,.bfem-site a.bf-button{display:inline-block;background:var(--bf-accent);color:#17373c;padding:14px 22px;font:700 13px/1.5 Arial,sans-serif;text-decoration:none;letter-spacing:.025em;min-height:44px}.bf-button:hover{filter:brightness(.94);text-decoration:underline!important}
.bf-magazine{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:center;gap:58px;padding:36px 0}.bf-magazine.bf-no-cover{grid-template-columns:1fr}.bf-cover-link img{width:100%;max-width:360px;height:auto;box-shadow:0 18px 40px #17373c24}.bf-magazine h2{margin:8px 0 16px}.bf-issue{display:inline-block;background:var(--bf-water);padding:5px 13px;font-weight:700;font-size:14px}.bf-magazine p:not(.bf-eyebrow):not(.bf-issue){font-size:19px;max-width:620px}
.bf-feeds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.bf-feed{border:1px solid #dbe5e3;padding:25px;background:white}.bf-feed h3{font-size:26px}.bf-feed ul{padding:0;list-style:none;margin:0}.bf-feed li{padding:15px 0;border-bottom:1px solid #dbe5e3}.bf-feed li:last-child{border:0}.bf-feed a{color:var(--bf-ink);font-size:16px}.bf-feed time{display:block;font-size:12px;color:#536865;margin-top:6px}
@media(max-width:1100px){
.bf-header-inner{flex-wrap:wrap;gap:0 15px}.bf-header .bf-menu-toggle{display:block}.bf-header:not(.bf-enhanced) .bf-menu-toggle{display:none}.bf-navigation{width:100%;padding:8px 0 18px}.bf-header.bf-enhanced .bf-navigation{display:none}.bf-header.bf-menu-open .bf-navigation{display:block;max-height:calc(100dvh - 135px);overflow:auto}.bf-navigation>.bf-menu{display:block}.bf-navigation a{padding:13px 0;font-size:14px;max-width:calc(100% - 44px)}.bf-navigation li{border-top:1px solid #e1e9e7}.bf-navigation .sub-menu{position:static;box-shadow:none;border:0;border-left:2px solid var(--bf-water);min-width:0;margin:0 0 8px 12px;padding:0 0 0 12px}.bf-navigation .sub-menu a{padding:12px 0}.bf-navigation .bf-submenu-toggle{float:right;min-width:44px}.bf-header:not(.bf-enhanced) .sub-menu{display:block}.bf-header-inner{min-height:80px}.bf-footer-grid{gap:35px}.bf-category-layout{gap:24px}
}
@media(max-width:782px){.admin-bar .bf-header.bf-sticky{top:46px}.bf-category-layout{grid-template-columns:1fr}.bf-footer-grid{grid-template-columns:1fr 1fr}.bf-footer-about{grid-column:1/-1}.bf-magazine{gap:28px}.bf-feeds{grid-template-columns:1fr}}
@media(max-width:600px){.bf-shell{width:calc(100% - 40px)}.bf-brand{font-size:26px}.bf-brand small{font-size:10px}.bf-logo{max-width:190px;max-height:58px}.admin-bar .bf-header.bf-sticky{top:0}.bf-header-inner{min-height:80px}.bf-footer{padding-top:40px}.bf-footer-grid{grid-template-columns:1fr;gap:32px}.bf-footer-about{grid-column:auto}.bf-post-grid{grid-template-columns:1fr}.bf-category-hero{padding:42px 0}.bf-magazine{grid-template-columns:1fr}.bf-cover-link{max-width:280px}.bf-category-layout{padding-block:36px}.bf-footer-bottom{display:block}.bf-footer .bf-legal-menu{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* 1.0.1 – explicit typography from the supplied HTML/CSS reference. */
body.bfem-site .bf-header-inner{min-height:78px}
body.bfem-site .bf-header .bf-brand,
body.bfem-site .bf-footer .bf-footer-brand{
 display:block;font-family:Georgia,"Times New Roman",serif;font-size:29px;
 font-weight:400;font-style:normal;line-height:1.55;letter-spacing:normal;text-transform:none;
}
body.bfem-site .bf-header .bf-brand{padding:0}
body.bfem-site .bf-header .bf-brand small,
body.bfem-site .bf-footer .bf-footer-brand small{
 display:block;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:13px;
 font-weight:700;line-height:1.55;letter-spacing:.18em;text-transform:uppercase;color:var(--bf-aqua);
}
body.bfem-site .bf-header .bf-navigation a{
 font-family:Arial,Helvetica,sans-serif;font-size:12px;font-style:normal;font-weight:400;
 line-height:1.55;letter-spacing:.06em;text-transform:uppercase;
}
body.bfem-site .bf-header .bf-navigation .sub-menu a{
 font-size:13px;letter-spacing:normal;text-transform:none;
}
body.bfem-site .bf-navigation>.bf-menu{column-gap:24px}
body.bfem-site .bf-footer{
 font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:1.55;padding-top:45px;
}
body.bfem-site .bf-footer-grid{grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:25px}
body.bfem-site .bf-footer h2{
 font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:700;
 line-height:1.55;letter-spacing:normal;margin:0 0 13px;text-transform:uppercase;
}
body.bfem-site .bf-footer p,
body.bfem-site .bf-footer li,
body.bfem-site .bf-footer li a{
 font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:400;
 line-height:1.55;letter-spacing:normal;text-transform:none;
}
body.bfem-site .bf-footer-about p{margin:13px 0;color:#c8dad8}
body.bfem-site .bf-footer li{margin:0;padding:0}
body.bfem-site .bf-footer li a{display:inline-block;padding:0;color:#d8efed}
body.bfem-site .bf-footer-bottom{padding-block:18px;font-size:13px;line-height:1.55}
@media(max-width:1100px){
 body.bfem-site .bf-header .bf-navigation a{font-size:14px}
}
@media(max-width:782px){
 body.bfem-site .bf-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:600px){
 body.bfem-site .bf-footer-grid{grid-template-columns:1fr;gap:28px}
 body.bfem-site .bf-header .bf-brand{font-size:26px}
 body.bfem-site .bf-header .bf-brand small{font-size:11px}
}

/* 1.0.2 – magazine section matching the supplied index.html. */
body.bfem-site .bf-magazine{
 display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
 gap:58px;align-items:center;padding:36px 0;color:var(--bf-ink);
}
body.bfem-site .bf-magazine.bf-no-cover{grid-template-columns:1fr}
body.bfem-site .bf-magazine .bf-cover-link{display:block;max-width:390px}
body.bfem-site .bf-magazine .bf-cover-link img{
 display:block;width:100%;max-width:390px;height:auto;border:1px solid #ddd;
 box-shadow:0 24px 55px rgba(25,60,62,.22);
}
body.bfem-site .bf-magazine .bf-eyebrow{
 margin:0;font:800 11px/1.55 Arial,Helvetica,sans-serif;
 letter-spacing:.17em;text-transform:uppercase;color:#9ee0df;
}
body.bfem-site .bf-magazine h2{
 font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:400;
 line-height:1.04;letter-spacing:normal;margin:8px 0 18px;color:var(--bf-ink);
}
body.bfem-site .bf-magazine .bf-magazine-features{
 display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:15px 0;padding:0;
}
body.bfem-site .bf-magazine .bf-magazine-features li{
 list-style:none;margin:0;padding:7px 10px;border-radius:20px;background:var(--bf-water);
 color:var(--bf-deep);font:700 11px/1.55 Arial,Helvetica,sans-serif;letter-spacing:normal;
}
body.bfem-site .bf-magazine p.bf-magazine-description{
 font:400 20px/1.55 Georgia,"Times New Roman",serif;letter-spacing:normal;
 margin:20px 0;max-width:none;color:var(--bf-ink);
}
body.bfem-site .bf-magazine-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;padding-top:13px}
body.bfem-site .bf-magazine .bf-button{
 display:inline-block;margin:0;padding:13px 18px;border:0;border-radius:0;
 background:var(--bf-accent);color:#fff;font:400 12px/1.55 Arial,Helvetica,sans-serif;
 letter-spacing:.08em;text-transform:uppercase;text-decoration:none;min-height:44px;
}
body.bfem-site .bf-magazine p.bf-magazine-admin{font:400 13px/1.5 Arial,sans-serif;margin-top:20px;max-width:none}
@media(max-width:900px){
 body.bfem-site .bf-magazine{grid-template-columns:1fr;gap:32px}
}
@media(max-width:600px){
 body.bfem-site .bf-magazine h2{font-size:32px;line-height:1.15}
 body.bfem-site .bf-magazine p.bf-magazine-description{font-size:18px}
 body.bfem-site .bf-magazine .bf-cover-link{max-width:300px}
 body.bfem-site .bf-magazine-actions{flex-direction:column;align-items:stretch}
 body.bfem-site .bf-magazine .bf-button{text-align:center}
}
