:root{--text:#4e3525;--muted:#7a5a45;--accent-dark:#7d5226;--white:#fffdf8;--shadow:0 20px 45px rgba(78,53,37,.12);--container:min(1160px, calc(100% - 40px))}
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth}
body.site{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:linear-gradient(180deg,#f5ead8 0%,#efe3cf 100%);line-height:1.6}
a{color:var(--accent-dark);text-decoration:none} a:hover{text-decoration:underline}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:100000;background:#000;color:#fff;padding:10px 14px;border-radius:10px}
.container{width:var(--container);margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);background:rgba(244,232,215,.86);border-bottom:1px solid rgba(125,82,38,.12)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.site-kicker{margin:0 0 4px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.site-title{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;font-weight:800;color:var(--accent-dark)}
.site-subtitle{margin:6px 0 0;color:var(--muted);font-size:1rem}
.site-nav ul,.fallback-menu{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.site-nav a,.fallback-menu a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:999px;background:rgba(255,253,248,.55);border:1px solid rgba(125,82,38,.12);color:var(--text);font-weight:700}
.site-nav a:hover,.fallback-menu a:hover{background:var(--white);text-decoration:none}
.nav-toggle{display:none;width:48px;height:48px;border:0;border-radius:14px;background:#efe4d3;box-shadow:var(--shadow);cursor:pointer}
.nav-toggle-bar{display:block;width:22px;height:2px;margin:4px auto;background:var(--text)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-slider{position:relative;width:var(--container);margin:24px auto 0;height:min(42vw,420px);min-height:260px;overflow:hidden;border-radius:34px;box-shadow:var(--shadow);border:1px solid rgba(125,82,38,.16);background:#d9c1a1}
.slider-track,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1s ease;background-size:cover;background-position:center;transform:scale(1.02)}.slide.is-active{opacity:1}
.slider-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,30,15,.08),rgba(50,30,15,.2));pointer-events:none}
.slider-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:10px;z-index:2}
.dot{width:11px;height:11px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.08)}.dot.is-active{background:var(--white)}
.site-main{padding:26px 0 40px}
.content-card{background:linear-gradient(180deg,rgba(255,252,246,.78),rgba(240,227,207,.92));border:1px solid rgba(125,82,38,.12);border-radius:30px;box-shadow:var(--shadow);padding:28px}
.content-card h1,.content-card h2,.content-card h3{color:var(--accent-dark);line-height:1.2}
.content-card .com-content-article img{max-width:100%;height:auto;border-radius:22px;box-shadow:0 14px 28px rgba(0,0,0,.08)}
.intro-grid,.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:22px}
.intro-grid > *,.info-grid > *{background:rgba(255,253,248,.62);border:1px solid rgba(125,82,38,.12);border-radius:24px;padding:18px}
.site-footer{padding:20px 0 40px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:.95rem}
.footer-modules ul,.footer-links{list-style:none;display:flex;gap:14px;margin:0;padding:0}.footer-links a{color:var(--muted);font-weight:700}
@media (max-width:980px){.site-header .container{align-items:flex-start;flex-direction:column}.nav-toggle{display:block;position:absolute;right:20px;top:20px}.site-nav{width:100%;display:none}.site-nav.is-open{display:block}.site-nav ul,.fallback-menu{flex-direction:column;align-items:stretch;margin-top:8px}.site-nav a,.fallback-menu a{width:100%;justify-content:flex-start}.hero-slider{height:340px}}
@media (max-width:700px){:root{--container:min(100% - 24px, 100%)}.site-header .container{padding:16px 0}.site-title{font-size:2.2rem;padding-right:60px}.content-card{padding:18px;border-radius:22px}.hero-slider{border-radius:22px;height:260px;margin-top:16px}.footer-inner,.footer-links{flex-direction:column;align-items:flex-start}}
/* Phoca Gallery aufräumen */
.ph-cv-name,
.pg-cv-name,
.pg-box-title,
.ph-box-title,
.ph-desc,
.pg-desc,
.ph-image-pagination-box,
.pg-pagination-box,
.ph-category-pagination,
.ph-image-order-box,
.pg-order-box,
.ph-image-title,
.pg-image-title,
.ph-catid-name {
  display: none !important;
}
/* Phoca Thumbnails als sauberes Grid */
.phocagallery-box-file,
.pg-box,
.ph-box,
.phocagallery-box-image {
  float: none !important;
  display: inline-block !important;
  vertical-align: top;
  margin: 0 16px 16px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.phocagallery-box-file img,
.pg-box img,
.ph-box img,
.phocagallery-box-image img {
  display: block;
  width: 110px !important;
  height: 110px !important;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(125,82,38,.14);
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
  background: #fff;
}

#phocagallery,
.phocagallery,
.pg-categories-view,
.ph-categories-view {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
}
/* Phoca Formularelemente hübscher machen */
#phocagallery select,
#phocagallery button,
#phocagallery input[type="text"],
#phocagallery input[type="search"],
.phocagallery select,
.phocagallery button,
.phocagallery input[type="text"],
.phocagallery input[type="search"] {
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(125,82,38,.18);
  background: rgba(255,253,248,.9);
  color: #4e3525;
  font: inherit;
}

#phocagallery button,
.phocagallery button {
  cursor: pointer;
}

/* Pagination */
#phocagallery ul.pagination,
.phocagallery ul.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
}

#phocagallery ul.pagination li,
.phocagallery ul.pagination li {
  margin: 0;
}

#phocagallery ul.pagination a,
#phocagallery ul.pagination span,
.phocagallery ul.pagination a,
.phocagallery ul.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,253,248,.75);
  border: 1px solid rgba(125,82,38,.14);
  color: #4e3525;
}
