/*
Theme Name: Unser Massen Modern
Author: Gewerbeverein Massen
Description: Responsives Theme für den Gewerbeverein Massen.
Version: 1.0.0
Text Domain: unsermassen-modern
*/
:root{--ink:#172b37;--muted:#5b6b73;--accent:#ec8b1e;--warm:#fff9ef;--line:#e5e8e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f9f8;color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#ae5609;text-underline-offset:3px}a:hover{color:#733600}img{max-width:100%;height:auto}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;top:-100px;left:10px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:50;background:#fffffff2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}.brand img{width:142px;max-height:55px;object-fit:contain}.brand span{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;line-height:1.25;max-width:90px}.site-nav{display:flex;align-items:center;gap:24px}.site-nav ul{display:flex;list-style:none;gap:23px;margin:0;padding:0}.site-nav a{color:var(--ink);font-size:15px;font-weight:700;text-decoration:none}.site-nav a:hover,.site-nav .current-menu-item a,.site-nav .current_page_item a{color:#ae5609}.button,.site-nav .nav-button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--ink)!important;padding:12px 19px;border-radius:12px;font-weight:800;text-decoration:none;line-height:1.3;transition:transform .2s,background .2s}.button:hover,.site-nav .nav-button:hover{background:#ffab3e;transform:translateY(-2px)}.button.ghost{background:#fff;border:1px solid #b7c4c9}.menu-toggle{display:none;border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:#fff;font:inherit}.eyebrow{color:#ae5609;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:.15em}.hero{background:radial-gradient(circle at 80% 20%,#ffdfaa80,transparent 35%),linear-gradient(130deg,#fff9ee,#fff 60%,#f0f7f7);padding:86px 0;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:52px}.hero h1{font-size:clamp(43px,5.5vw,76px);line-height:1.05;letter-spacing:-.055em;margin:12px 0 22px}.hero h1 em{font-style:normal;color:#b75e0a}.hero p{color:var(--muted);font-size:20px;max-width:620px;margin:0 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{position:relative;min-height:400px;display:grid;place-items:center}.hero-art:before{content:"";position:absolute;width:350px;height:350px;border-radius:50%;background:linear-gradient(150deg,#ffe2ae,#f5a43a);box-shadow:0 25px 80px #dc852d33}.hero-art img{position:relative;width:95%;filter:drop-shadow(0 16px 25px #783c1933)}.hero-note{position:absolute;bottom:5px;left:0;background:#fff;padding:14px 19px;border-radius:15px;box-shadow:0 15px 40px #172b3720;font-weight:800}.hero-note small{display:block;color:var(--muted);font-weight:500}.section{padding:78px 0}.white{background:#fff}.warm{background:var(--warm)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.section-head h2,.page-hero h1{font-size:clamp(32px,3.4vw,48px);line-height:1.15;letter-spacing:-.04em;margin:4px 0}.section-head p,.page-hero p{color:var(--muted);max-width:640px;margin:10px 0 0}.more{font-weight:800;text-decoration:none;white-space:nowrap}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature,.post-card,.quote{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 25px #172b370a}.feature{padding:28px}.feature .icon{display:grid;place-items:center;background:#fff0d7;border-radius:13px;color:#ae5609;width:48px;height:48px;font-size:25px}.feature h3{font-size:21px;line-height:1.25;margin:18px 0 6px}.feature p{color:var(--muted);margin:0 0 12px}.feature a{font-weight:800;text-decoration:none}.news-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.spotlight{background:#172b37;color:#fff;border-radius:22px;padding:39px;display:grid;grid-template-columns:1fr .8fr;gap:20px;overflow:hidden;min-height:380px}.spotlight .eyebrow{color:#ffc477}.spotlight h3{font-size:clamp(27px,3vw,39px);line-height:1.13;letter-spacing:-.03em;margin:12px 0}.spotlight p{color:#d5e0e3}.spotlight .button{margin-top:12px}.spotlight img{align-self:center;width:100%;max-height:320px;object-fit:contain;filter:drop-shadow(0 16px 20px #0006)}.post-stack{display:grid;gap:16px}.post-card{display:grid;grid-template-columns:125px 1fr;min-height:170px}.post-card img,.post-placeholder{width:100%;height:100%;min-height:170px;object-fit:cover;background:#eee4d4}.post-placeholder{display:grid;place-items:center;font-size:40px;color:#ae5609}.post-copy{padding:18px}.post-copy time{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.post-copy h3{font-size:18px;line-height:1.3;margin:7px 0 9px}.post-copy h3 a{color:var(--ink);text-decoration:none}.post-copy>a{font-size:14px;font-weight:800;text-decoration:none}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.two-col h2{font-size:clamp(31px,3.3vw,45px);line-height:1.15;letter-spacing:-.04em;margin:5px 0 18px}.two-col p{color:var(--muted)}.quote{padding:38px}.quote strong{font-size:26px;line-height:1.25;letter-spacing:-.03em;display:block}.quote span{color:var(--muted);display:block;margin-top:20px}.cta{background:#172b37;color:#fff;border-radius:22px;padding:40px 45px;display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:clamp(28px,3vw,38px);line-height:1.2;margin:0 0 8px}.cta p{margin:0;color:#d5e0e3}.page-hero{background:linear-gradient(110deg,#fff9ee,#f4f8f8);padding:62px 0;border-bottom:1px solid var(--line)}.page-hero p{font-size:19px}.content-wrap{padding:65px 0 90px}.content{max-width:880px;font-size:18px}.content h2,.content h3,.content h4{line-height:1.25;letter-spacing:-.025em;margin:1.6em 0 .55em}.content h2{font-size:31px}.content h3{font-size:25px}.content p,.content ul{margin:0 0 1.2em}.content img{border-radius:14px}.content details{background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 18px;margin:9px 0}.content details summary{cursor:pointer;font-weight:800;padding:15px 2px;list-style:none}.content details summary:after{content:"+";float:right;color:#ae5609}.content details[open] summary:after{content:"−"}.content details ul{columns:2;padding:0 0 18px 23px}.content details li{break-inside:avoid;margin-bottom:7px}.content .wp-block-spacer{max-height:35px}.content .wp-block-image.aligncenter{text-align:center}.content blockquote{border-left:4px solid var(--accent);margin:25px 0;padding:5px 22px;color:var(--muted)}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.posts-grid .post-card{display:block}.posts-grid .post-card img,.posts-grid .post-placeholder{height:220px;min-height:220px}.pagination{margin:38px 0}.pagination .page-numbers{display:inline-block;padding:7px 13px;border:1px solid var(--line);border-radius:8px;margin-right:5px;background:#fff;text-decoration:none}.pagination .current{background:var(--ink);color:#fff}.single-meta{color:var(--muted);font-size:14px;margin-top:12px}.single-content img{max-height:750px;object-fit:contain}.site-footer{background:#10252f;color:#d4e0e3;padding:62px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px}.site-footer h3{color:#fff;margin:0 0 15px}.site-footer p{margin:0 0 10px}.site-footer a{color:#d4e0e3;text-decoration:none}.site-footer a:hover{color:#ffc477}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:6px 0}.footer-bottom{border-top:1px solid #ffffff2b;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:14px}.footer-logo{width:180px;margin-bottom:14px}.search-form{display:flex;gap:8px;max-width:550px}.search-form input{border:1px solid var(--line);border-radius:10px;padding:11px 14px;min-width:0;flex:1}.search-form button{border:0;border-radius:10px;background:var(--accent);font:inherit;font-weight:800;padding:10px 16px;cursor:pointer}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}@media(max-width:950px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 25px #172b3720;align-items:stretch;flex-direction:column}.site-nav.open{display:flex}.site-nav ul{display:block}.site-nav li a{display:block;padding:9px 0}.site-nav .nav-button{align-self:start}.hero-grid,.news-layout,.two-col{grid-template-columns:1fr}.hero-art{min-height:300px}.hero-art:before{width:270px;height:270px}.hero-art img{max-width:440px}.feature-grid{grid-template-columns:repeat(2,1fr)}.posts-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){body{font-size:16px}.wrap{width:calc(100% - 30px)}.header-inner{min-height:70px}.brand img{width:110px}.brand span{font-size:10px}.hero{padding:54px 0}.hero h1{font-size:clamp(42px,11vw,60px)}.hero p{font-size:18px}.hero-art{min-height:250px}.hero-art:before{width:220px;height:220px}.hero-art img{max-width:320px}.hero-note{font-size:13px}.section{padding:55px 0}.section-head{display:block}.section-head .more{display:inline-block;margin-top:15px}.feature-grid,.posts-grid,.footer-grid{grid-template-columns:1fr}.spotlight{display:block;padding:30px}.spotlight img{height:230px;margin-top:20px}.post-card{grid-template-columns:105px 1fr}.post-card img,.post-placeholder{min-height:150px}.post-copy{padding:14px}.post-copy h3{font-size:16px}.cta{display:block;padding:30px}.cta .button{margin-top:20px}.page-hero{padding:44px 0}.content-wrap{padding:42px 0 65px}.content{font-size:17px}.content details ul{columns:1}.footer-bottom{display:block}}
/* Keep the existing white association logo readable on the club page. */
.page-id-44 .content > .wp-block-image:first-child{background:#172b37;border-radius:18px;padding:24px 36px;margin:0 0 26px}.page-id-44 .content > .wp-block-image:first-child img{border-radius:0}.page-id-46 .content mark{color:#ae5609!important}.page-id-46 .content details a{color:#96500c}.page-id-23 .content .wp-block-image img{width:100%}
/* UnserMassen.de sign in the hero, alongside the association skyline. */
.hero-sign{position:absolute;z-index:2;left:-12px;bottom:-10px;width:190px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 42px #172b3726;transform:rotate(-4deg)}
.hero-art .hero-sign img{display:block;position:static;width:100%;height:auto;max-width:none;filter:none;border-radius:10px}
@media(max-width:650px){.hero-sign{left:0;bottom:-8px;width:145px;padding:6px;border-radius:12px}}
/* Business directory. */
.directory-page [hidden]{display:none!important}
.directory-hero{background:radial-gradient(circle at 88% 18%,#38515d,transparent 35%),linear-gradient(120deg,#112732,#1b3440);color:#fff;padding:78px 0 110px;overflow:hidden}
.directory-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;position:relative}
.directory-hero-inner>div:first-child{min-width:0}
.directory-brand-art{flex:0 0 290px;height:250px;display:grid;place-items:center}
.directory-brand-art img{display:block;width:220px;height:auto;filter:drop-shadow(0 13px 17px #0005)}
.directory-hero .eyebrow{color:#ffb957}
.directory-hero h1{font-size:clamp(42px,5vw,67px);line-height:1.07;letter-spacing:-.055em;margin:12px 0 22px;max-width:720px}
.directory-hero h1 em{font-style:normal;color:#ffb957}
.directory-hero p{font-size:19px;color:#d2dee2;max-width:650px;margin:0}
.directory-stats{display:flex;flex-wrap:wrap;gap:25px;margin-top:34px;color:#d2dee2;font-size:14px}
.directory-stats span{display:flex;align-items:center;gap:8px}.directory-stats strong{color:#fff;font-size:25px;line-height:1}
.directory-body{padding:0 0 90px;background:linear-gradient(#f7f9f8,#fff)}
.directory-tools{position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 55px #10252f1c;padding:25px 27px;margin-top:-53px}
.directory-tools>label{display:block;font-size:15px;font-weight:800;margin-bottom:9px}
.directory-search{border:1px solid #b8c5ca;border-radius:12px;display:flex;align-items:center;gap:11px;padding:0 14px;background:#fbfcfc;max-width:700px}
.directory-search:focus-within{border-color:#b65a09;box-shadow:0 0 0 3px #ec8b1e26}
.directory-search>span{font-size:27px;line-height:1;color:#a6530d}
.directory-search input{border:0;background:transparent;outline:0;flex:1;min-width:0;padding:14px 0;font:inherit;color:var(--ink)}
.directory-search kbd{border:1px solid var(--line);border-radius:5px;padding:0 7px;color:var(--muted);font:13px/1.7 system-ui}
.directory-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}
.directory-filters button{border:1px solid var(--line);background:#f9faf9;color:#394c56;border-radius:999px;padding:8px 13px;font:700 13px/1.25 system-ui;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.directory-filters button:hover{border-color:#b65a09;color:#9b4d09}
.directory-filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.directory-filters button span{opacity:.7;margin-left:4px}
.directory-results{color:var(--muted);font-size:14px;margin:29px 1px 8px}
.directory-results span{font-weight:800;color:var(--ink)}
.directory-group{padding:35px 0 25px;border-bottom:1px solid var(--line)}
.directory-group-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:21px}
.directory-overline{display:block;color:#b65a09;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.13em;margin-bottom:3px}
.directory-group h2{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.035em;line-height:1.2;margin:0}
.directory-group-count{font-size:13px;color:var(--muted);white-space:nowrap}
.directory-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.directory-card{background:#fff;border:1px solid var(--line);border-radius:17px;min-height:180px;padding:20px;display:flex;flex-direction:column;box-shadow:0 4px 18px #172b3708;transition:transform .2s,box-shadow .2s,border-color .2s}
.directory-card:hover{transform:translateY(-3px);border-color:#e5ba83;box-shadow:0 13px 30px #172b3715}
.directory-card-top{display:flex;align-items:start;justify-content:space-between}
.directory-monogram{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff1db;color:#a7540c;font-size:20px;font-weight:800}
.directory-arrow{color:#bb680f;font-size:22px;line-height:1}
.directory-card h3{font-size:18px;line-height:1.3;letter-spacing:-.015em;margin:17px 0 18px;overflow-wrap:anywhere}
.directory-card a{margin-top:auto;font-size:14px;font-weight:800;text-decoration:none}
.directory-empty{padding:30px;border-radius:14px;background:#fff7eb;border:1px solid #f0d4ad;color:#62350f}
.directory-end{margin-top:64px;background:#fff9ef;border:1px solid #f0e2ce;border-radius:22px;padding:34px 38px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.directory-end h2{font-size:32px;line-height:1.2;letter-spacing:-.035em;margin:5px 0 7px}.directory-end p{color:var(--muted);margin:0}
@media(max-width:900px){.directory-hero-inner{display:block}.directory-brand-art{width:260px;height:205px;margin:34px auto 0}.directory-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.directory-hero{padding:58px 0 94px}.directory-hero h1{font-size:clamp(40px,10vw,55px)}.directory-hero p{font-size:17px}.directory-stats{gap:12px 20px}.directory-stats strong{font-size:20px}.directory-brand-art{width:220px;height:175px}.directory-brand-art img{width:180px}.directory-tools{margin-top:-45px;padding:20px 16px;border-radius:16px}.directory-search kbd{display:none}.directory-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;margin-right:-16px;scrollbar-width:thin}.directory-filters button{flex:none}.directory-group{padding:28px 0 18px}.directory-group-head{display:block}.directory-group-count{display:block;margin-top:6px}.directory-cards{grid-template-columns:1fr}.directory-card{min-height:155px}.directory-end{margin-top:45px;display:block;padding:27px}.directory-end .button{margin-top:18px}}
