/* The existing palette and template typography remain authoritative. */
.bm-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bm-contentpage .ashade-intro{max-width:1000px;margin-left:auto;margin-right:auto}
.bm-contentpage p,.bm-contentpage li{overflow-wrap:anywhere}
.bm-contentpage img{max-width:100%;height:auto}
.bm-contentpage .ashade-service-card-grid{align-items:start}
.bm-contentpage .ashade-service-card__label h3{font-size:28px;line-height:1.2;margin:0}
.bm-contentpage .ashade-service-card__image img{object-fit:cover}
.bm-price{font-size:40px;font-weight:700;line-height:1.2;margin:20px 0}
.bm-price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.bm-price-grid .ashade-service-card__head{min-height:90px}
.bm-video{position:relative;max-width:100%;margin:20px 0 28px}
.bm-video-open{width:100%;padding:0;border:0;background:transparent;position:relative;display:block;cursor:pointer;color:inherit;text-align:left;aspect-ratio:16/9;overflow:hidden}
.bm-video-open img{width:100%;height:100%;object-fit:cover;display:block;opacity:.75}
.bm-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:34px;text-shadow:0 2px 8px #000}
.bm-video-label{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(transparent,#111);color:#fff;font-size:14px;line-height:1.5}
.bm-video-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border:1px solid #bdbdbd;font-size:22px}
.bm-video-hint{font-size:11px;line-height:1.6;margin:8px 0 0}
.bm-video-player{width:100%;aspect-ratio:16/9;display:block;border:0}
.bm-film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.bm-film-grid .ashade-grid-item{width:auto!important;margin:0!important}.bm-film-card h3{font-size:20px;line-height:1.4}.bm-film-card .bm-video-label{display:none}
.bm-photo-banner{position:relative;min-height:420px;display:flex;align-items:center;overflow:hidden}.bm-photo-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}.bm-photo-banner>div{position:relative;padding:40px;max-width:700px}.bm-photo-banner--quiet>img{opacity:1}.bm-photo-banner--quiet{min-height:340px}
.bm-photo-banner>div>p{color:#fff;text-shadow:0 1px 4px #000}
.bm-photobox-section .container{padding:0;max-width:none}.bm-photobox-section img{display:block;margin:24px auto}.bm-photobox-section h2{margin-top:36px}
.bm-photobox-section .bm-service-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.bm-subnav{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:40px}.bm-subnav a{text-decoration:underline;text-underline-offset:5px}
.bm-location-group{grid-column:1/-1}.bm-location-group h2{font-size:28px}
.bm-legal{max-width:900px}.bm-legal a,.bm-blog-story a{word-break:break-word}.bm-legal p{margin-bottom:22px}
.bm-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 30px}.bm-blog-card img{aspect-ratio:3/2;object-fit:cover;width:100%}.bm-blog-card h2{font-size:25px;line-height:1.3;margin-top:24px}.bm-blog-card p{font-size:14px}
.bm-blog-story{max-width:950px;margin:auto}.bm-blog-story img{display:block;margin:25px auto;width:auto;max-height:none}.bm-blog-story figure{margin:30px 0}.bm-blog-story figcaption{font-size:12px}.bm-blog-story h2{font-size:30px;line-height:1.3}.bm-blog-story blockquote{border-left:2px solid currentColor;padding-left:25px;margin:25px 0}
.bm-article-heading{max-width:950px;margin:0 auto 55px}.bm-article-heading h1{font-size:clamp(30px,4vw,50px);line-height:1.15;overflow-wrap:anywhere}.bm-article-heading>p{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.bm-form{max-width:900px;margin:auto}.bm-form fieldset{border:1px solid #bdbdbd;padding:30px;margin:30px 0}.bm-form legend{font-size:22px;font-weight:700;padding:0 10px}.bm-form label{display:block;font-size:14px;line-height:1.6;margin:20px 0 10px}.bm-form input:not([type=checkbox]):not([type=hidden]),.bm-form textarea,.bm-form select{width:100%;box-sizing:border-box}.bm-form input[type=checkbox]{width:20px;height:20px;margin:0 12px 0 0;vertical-align:middle}.bm-form .bm-consent{font-size:13px}.bm-form button{cursor:pointer}.bm-form .bm-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.bm-form .bm-form-result{padding:24px;border:1px solid currentColor;margin:25px 0}.bm-form .bm-form-error{border-width:2px}.bm-form small{font-size:12px;line-height:1.6;display:block}.bm-form [type=submit]:disabled{opacity:.5;cursor:wait}
.bm-noscript-gallery{position:relative;z-index:9;overflow:auto;max-height:100vh}.bm-noscript-gallery img{width:auto;max-width:100%;height:auto}
.bm-parallax-gallery .ashade-album-item__image img{object-fit:contain;width:100%;height:100%;display:block}.bm-parallax-gallery .ashade-album-item__image{overflow:hidden}
.bm-contentpage #ashade-footer{position:relative}
@media(min-width:768px){.bm-contentpage.ashade-albums-template--carousel #ashade-footer{position:fixed}}
@media(max-width:1100px){.bm-price-grid,.bm-blog-grid,.bm-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.bm-price-grid,.bm-blog-grid,.bm-film-grid,.bm-photobox-section .bm-service-overview{grid-template-columns:1fr}.bm-form fieldset{padding:18px}.bm-photo-banner>div{padding:24px}.bm-photo-banner{min-height:360px}.bm-subnav{gap:14px}.bm-price{font-size:34px}.bm-contentpage .ashade-service-card__label h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.bm-photo-banner{background-attachment:scroll}}

/* Calm introduction and consistently aligned animated counters. */
.bm-about .bm-about-intro p { text-align:left; }
.bm-about .bm-about-intro p.ashade-intro { margin-left:0; margin-right:0; }
.bm-about-counters > .ashade-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 28px; margin:0; }
.bm-about-counters > .ashade-row > .ashade-col { width:auto; padding:0; }
.bm-about-counters .ashade-counter-item { padding-top:0; }
.bm-about-counters .ashade-counter-label { display:flex; align-items:flex-end; justify-content:center; min-height:60px; height:60px; margin:0 0 22px; line-height:20px; }
.bm-about-counters .ashade-counter-value { height:100px; line-height:100px; margin:0; }
.bm-about-counters .bm-counter-caption { margin:26px 0 0; text-align:center; }
@media(max-width:1024px) { .bm-about-counters > .ashade-row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .bm-about-counters > .ashade-row { grid-template-columns:1fr; } }
/* A quiet photographic background across inner pages, below the content. */
body.has-spotlight:not(.bm-home)::before { width:100%; height:100%; pointer-events:none; background-image:linear-gradient(110deg,rgba(0,0,0,.87),rgba(0,0,0,.93)),var(--bm-page-background, none); background-size:cover; background-position:center; }
body.bm-gallery .ashade-album-item__image { background:transparent; }

/* Use actual wedding photos in the original circular testimonial frames. */
.bm-about-quotes .ashade-testimonials-item__author--image img { display:block; width:50px; height:50px; max-width:none; object-fit:cover; object-position:50% 35%; border-radius:50%; }

/* Gallery photographs are opaque; only the letterbox areas show the page backdrop.
   Override the template's 0.75 container opacity and its inline loading tween. */
body.bm-gallery .ashade-albums-slider .ashade-album-item__image,
body.bm-gallery .ashade-albums-slider .ashade-album-item__image img {
 opacity:1 !important;
 mix-blend-mode:normal;
}

/* Gallery information belongs to the footer, away from the photograph's centre. */
body.bm-gallery .ashade-footer-inner { display:grid; grid-template-columns:200px minmax(220px,1fr) minmax(280px,1fr); align-items:end; gap:20px; padding:16px 40px 20px; }
body.bm-gallery .bm-gallery-caption { position:static; min-width:0; font-size:10px; font-weight:400; line-height:1.4; letter-spacing:0; text-align:center; color:rgba(255,255,255,.62); text-shadow:0 1px 3px #000; }
body.bm-gallery .bm-gallery-caption p { margin:0 0 3px; }
body.bm-gallery .bm-gallery-caption a { color:inherit; text-decoration:none; }
body.bm-gallery .bm-gallery-caption a:hover, body.bm-gallery .bm-gallery-caption a:focus-visible { color:#fff; text-decoration:underline; }
body.bm-gallery .ashade-footer__copyright { text-align:right; line-height:1.4; }
@media(max-width:1100px) {
 body.bm-gallery .ashade-footer-inner { grid-template-columns:1fr 2fr; gap:8px 20px; padding:12px 24px 16px; }
 body.bm-gallery .bm-gallery-caption { grid-column:1 / -1; grid-row:2; }
 body.bm-gallery .ashade-footer__copyright { grid-column:2; grid-row:1; }
 body.bm-gallery .ashade-footer__socials { margin:0; }
}
@media(max-width:767px) {
 body.bm-gallery .ashade-footer-inner { grid-template-columns:1fr; gap:7px; padding:10px 16px 12px; }
 body.bm-gallery .bm-gallery-caption { grid-column:1; grid-row:1; }
 body.bm-gallery .ashade-footer__socials { grid-column:1; grid-row:2; text-align:center; }
 body.bm-gallery .ashade-footer__copyright { grid-column:1; grid-row:3; text-align:center; font-size:9px; }
 body.bm-gallery .bm-region { font-size:9px; }
}

/* A centred single-line caption; enlargement does not move neighbouring elements. */
body.bm-gallery .ashade-footer-inner { grid-template-columns:1fr 2fr; gap:8px 20px; }
body.bm-gallery .bm-gallery-caption { grid-column:1 / -1; grid-row:1; display:flex; align-items:baseline; justify-content:center; gap:8px; width:100%; min-width:0; white-space:nowrap; font-size:10px; line-height:1.4; transform-origin:center bottom; transition:transform .18s ease,color .18s ease; }
body.bm-gallery .bm-gallery-caption p { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:0; }
body.bm-gallery .bm-gallery-caption > div { flex:0 0 auto; white-space:nowrap; }
body.bm-gallery .bm-gallery-caption:hover, body.bm-gallery .bm-gallery-caption:focus-within { transform:scale(1.08); color:rgba(255,255,255,.9); }
body.bm-gallery .ashade-footer__socials { grid-column:1; grid-row:2; margin:0; }
body.bm-gallery .ashade-footer__copyright { grid-column:2; grid-row:2; }
@media(max-width:767px) {
 body.bm-gallery .ashade-footer-inner { grid-template-columns:1fr; }
 body.bm-gallery .bm-gallery-caption { grid-column:1; grid-row:1; gap:6px; font-size:9px; }
 body.bm-gallery .ashade-footer__socials { grid-column:1; grid-row:2; }
 body.bm-gallery .ashade-footer__copyright { grid-column:1; grid-row:3; }
 body.bm-gallery .bm-gallery-caption:hover,body.bm-gallery .bm-gallery-caption:focus-within { transform:scale(1.04); }
}
@media(prefers-reduced-motion:reduce) { body.bm-gallery .bm-gallery-caption { transition:none; } }

/* Category overviews adapt the template Bricks pattern to three/four columns. */
.bm-overview .ashade-gallery-bricks.bm-bricks-3x4 { gap:18px; margin:0; align-items:flex-start; }
.bm-overview .bm-bricks-3x4 .ashade-gallery-item { margin:0; width:calc((100% - 54px)/4); }
.bm-overview .bm-bricks-3x4 .ashade-gallery-item:nth-child(7n+1),.bm-overview .bm-bricks-3x4 .ashade-gallery-item:nth-child(7n+2),.bm-overview .bm-bricks-3x4 .ashade-gallery-item:nth-child(7n+3) { width:calc((100% - 36px)/3); }
.bm-overview .ashade-gallery-item a { display:block; }
.bm-overview .ashade-gallery-item a:focus-visible { outline:2px solid #c7b0ae; outline-offset:4px; }
.bm-overview .ashade-gallery-item img { display:block; width:100%; height:auto; opacity:1; }
.bm-overview figcaption { font-size:11px; line-height:1.4; margin-top:7px; color:#aaa; }
.bm-overview h1 { font-size:clamp(28px,4vw,48px); line-height:1.2; }
.bm-overview-links { font-size:12px; line-height:1.8; }
@media(max-width:1279px) { .bm-overview .bm-bricks-3x4 .ashade-gallery-item:nth-child(n) { width:calc((100% - 36px)/3); } }
@media(max-width:900px) { .bm-overview .bm-bricks-3x4 .ashade-gallery-item:nth-child(n) { width:calc((100% - 18px)/2); } }
@media(max-width:420px) { .bm-overview .bm-bricks-3x4 .ashade-gallery-item:nth-child(n) { width:100%; } }

/* Balanced 3-4-3-4-5 rows: image height is shared, width follows aspect ratio. */
.bm-overview .bm-bricks-3x4.bm-bricks-ready { display:block; }
.bm-overview .bm-brick-row { display:flex; flex-wrap:nowrap; align-items:flex-start; width:100%; margin-bottom:22px; }
.bm-overview .bm-brick-row .ashade-gallery-item { flex:0 0 auto; min-width:0; }
.bm-overview .bm-brick-row .ashade-gallery-item img { width:100%; object-fit:contain; }

/* Two distinct gallery destinations using the original ribbon button style. */
.bm-contentpage .ashade-albums-carousel-wrap .bm-gallery-actions { position:absolute; right:30px; bottom:30px; z-index:5; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; max-width:calc(100% - 80px); }
.bm-contentpage .ashade-albums-carousel-wrap .ashade-album-item .bm-gallery-actions .ashade-button { position:relative; right:auto; bottom:auto; width:auto; margin:0; padding:14px 18px; font-size:12px; line-height:1.3; white-space:nowrap; }
.bm-contentpage .ashade-albums-carousel-wrap .ashade-album-item .bm-gallery-actions .ashade-button:before { display:none; }
@media(max-width:767px) {
 .bm-contentpage .ashade-albums-carousel-wrap .bm-gallery-actions { right:18px; bottom:20px; gap:8px; max-width:calc(100% - 66px); }
 .bm-contentpage .ashade-albums-carousel-wrap .ashade-album-item .bm-gallery-actions .ashade-button { padding:11px 12px; font-size:10px; }
}

/* Equal circular location portraits; desktop diameter follows the former Jagdschloss image height. */
.bm-location-circles .ashade-service-card__image{flex:0 0 135px;width:135px;height:135px}
.bm-location-circles .ashade-service-card__image img{display:block;width:135px;height:135px;max-width:none;border-radius:50%;object-fit:cover;object-position:center}
@media(max-width:767px){.bm-location-circles .ashade-service-card__image{flex-basis:80px;width:80px;height:80px}.bm-location-circles .ashade-service-card__image img{width:80px;height:80px}}

/* Keep photo attribution separate and comfortably readable. */
.bm-image-credits{padding-top:24px}.bm-image-credits p{font-size:12px;line-height:1.4;margin-bottom:6px}
