/* Bela Theme — Main CSS (async loaded, below the fold) */

/* ─── Sections ─── */
.bela-section{padding:48px 0}
.bela-section:nth-child(even){background:var(--bela-bg-alt)}
.bela-section__title{font-size:clamp(24px,3vw,32px);font-weight:700;margin-bottom:24px;color:var(--bela-primary)}
.bela-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.bela-section__more{font-size:14px;font-weight:600;color:var(--bela-secondary)}

/* ─── Modes ─── */
.bela-modes{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.bela-mode{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;background:var(--bela-surface);border-radius:var(--bela-radius);box-shadow:var(--bela-shadow);border:2px solid transparent;transition:all .2s;text-decoration:none;min-width:180px}
.bela-mode:hover{border-color:var(--mode-color);box-shadow:var(--bela-shadow-hover);transform:translateY(-2px);text-decoration:none}
.bela-mode__icon{font-size:32px}
.bela-mode__title{font-size:16px;font-weight:600;color:var(--bela-text)}

/* ─── Notice banner ─── */
.bela-notice-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;background:var(--bela-danger);color:#fff;border-radius:var(--bela-radius);flex-wrap:wrap}
.bela-notice-banner__text{display:flex;align-items:center;gap:10px;font-size:15px}
.bela-notice-banner .bela-btn--outline{border-color:rgba(255,255,255,.4);color:#fff}
.bela-notice-banner .bela-btn--outline:hover{border-color:#fff;background:rgba(255,255,255,.15)}

/* ─── Tiles grid ─── */
.bela-tiles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bela-tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;background:var(--bela-surface);border-radius:var(--bela-radius);box-shadow:var(--bela-shadow);transition:all .2s;text-decoration:none;text-align:center;border:1px solid var(--bela-border)}
.bela-tile:hover{box-shadow:var(--bela-shadow-hover);transform:translateY(-3px);border-color:var(--bela-secondary);text-decoration:none}
.bela-tile__icon{font-size:28px}
.bela-tile__label{font-size:13px;font-weight:600;color:var(--bela-text);line-height:1.3}

/* ─── Card grid ─── */
.bela-card-grid{display:grid;gap:20px}
.bela-card-grid--3{grid-template-columns:repeat(3,1fr)}
.bela-card-grid--2{grid-template-columns:repeat(2,1fr)}
.bela-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}

/* ─── Card ─── */
.bela-card{background:var(--bela-surface);border-radius:var(--bela-radius);overflow:hidden;box-shadow:var(--bela-shadow);transition:all .2s;position:relative;border:1px solid var(--bela-border)}
.bela-card:hover{box-shadow:var(--bela-shadow-hover);transform:translateY(-2px)}
.bela-card--pinned{border-left:3px solid var(--bela-accent)}
.bela-card--highlight{border-left:3px solid var(--bela-danger)}
.bela-card__image{display:block;aspect-ratio:3/2;overflow:hidden}
.bela-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.bela-card:hover .bela-card__image img{transform:scale(1.03)}
.bela-card__body{padding:16px 20px}
.bela-card__date{font-size:12px;color:var(--bela-text-muted);font-family:var(--bela-font-mono)}
.bela-card__title{font-size:17px;font-weight:600;margin:6px 0 8px;line-height:1.3}
.bela-card__title a{color:var(--bela-text);text-decoration:none}
.bela-card__title a:hover{color:var(--bela-primary);text-decoration:underline}
.bela-card__excerpt{font-size:14px;color:var(--bela-text-secondary);line-height:1.5}
.bela-card__badge{position:absolute;top:12px;right:12px;font-size:14px}

/* ─── Contact grid ─── */
.bela-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bela-contact-card{background:var(--bela-surface);border-radius:var(--bela-radius);padding:32px;text-align:center;box-shadow:var(--bela-shadow);transition:all .2s;border:1px solid var(--bela-border)}
.bela-contact-card:hover{transform:translateY(-3px);box-shadow:var(--bela-shadow-hover)}
.bela-contact-card__icon{font-size:32px;display:block;margin-bottom:12px}
.bela-contact-card h3{font-size:17px;margin-bottom:10px;color:var(--bela-primary)}
.bela-contact-card p{font-size:14px;color:var(--bela-text-secondary);line-height:1.6;margin:4px 0}
.bela-contact-card a{color:var(--bela-secondary);font-weight:500}

/* ─── Webcam ─── */
.bela-webcam{max-width:800px;margin:0 auto}
.bela-webcam__img{width:100%;border-radius:var(--bela-radius);box-shadow:var(--bela-shadow)}
.bela-webcam__caption{font-size:12px;color:var(--bela-text-muted);text-align:center;margin-top:8px}

/* ─── Breadcrumbs ─── */
.bela-breadcrumbs{padding:16px 0;font-size:13px}
.bela-breadcrumbs__list{display:flex;align-items:center;gap:6px;list-style:none;flex-wrap:wrap}
.bela-breadcrumbs__item::after{content:'›';color:var(--bela-text-muted);margin-left:6px}
.bela-breadcrumbs__item:last-child::after{content:''}
.bela-breadcrumbs__item a{color:var(--bela-text-muted)}
.bela-breadcrumbs__item--current{color:var(--bela-text);font-weight:500}

/* ─── Content wrap ─── */
.bela-content-wrap{display:grid;grid-template-columns:1fr 300px;gap:40px}
.bela-content{min-width:0}
.bela-main{padding-bottom:48px}

/* ─── Page ─── */
.bela-page__title{font-size:clamp(28px,4vw,40px);margin-bottom:24px}
.bela-page__content{font-size:16px;line-height:1.7}
.bela-page__content p{margin-bottom:16px}
.bela-page__content h2{margin:32px 0 16px}
.bela-page__content h3{margin:24px 0 12px}
.bela-page__content img{border-radius:var(--bela-radius-sm)}

/* ─── Single ─── */
.bela-single__hero{margin:-20px -20px 24px;border-radius:var(--bela-radius);overflow:hidden}
.bela-single__hero img{width:100%;max-height:400px;object-fit:cover}
.bela-single__title{font-size:clamp(26px,4vw,38px);margin-bottom:12px}
.bela-single__meta{font-size:13px;color:var(--bela-text-muted);margin-bottom:24px;display:flex;gap:16px}
.bela-single__content{font-size:16px;line-height:1.7}

/* ─── 404 ─── */
.bela-404{text-align:center;padding:80px 20px}
.bela-404__code{font-size:120px;font-weight:800;color:var(--bela-bg-alt);font-family:var(--bela-font-heading)}
.bela-404__title{font-size:32px;margin-bottom:12px}
.bela-404__text{font-size:16px;color:var(--bela-text-secondary);margin-bottom:24px}

/* ═══ FOOTER ═══ */

/* Footer base — position:relative for skyline child */
.bela-footer{background:var(--bela-primary);color:rgba(255,255,255,.85);padding:0;position:relative;overflow:hidden}

/* Skyline — white silhouette behind columns */
.bela-footer__skyline{position:absolute;bottom:0;left:0;right:0;pointer-events:none;color:rgba(255,255,255,.06);line-height:0;z-index:0}
.bela-footer__skyline svg{display:block;width:100%;height:auto}

/* Brand row */
.bela-footer__brand{display:flex;justify-content:space-between;align-items:center;padding:32px 0 24px;gap:16px;flex-wrap:wrap}
.bela-footer .bela-container{position:relative;z-index:1}
.bela-footer__brand-left{display:flex;align-items:center;gap:14px}
.bela-footer__logo{width:48px;height:48px;border-radius:10px;object-fit:contain}
.bela-footer__emblem{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;font-family:var(--bela-font-heading);font-size:22px;font-weight:800;color:var(--bela-accent);flex-shrink:0}
.bela-footer__brand-text{display:flex;flex-direction:column}
.bela-footer__brand-name{font-family:var(--bela-font-heading);font-size:20px;font-weight:800;color:#fff;letter-spacing:-.01em}
.bela-footer__brand-motto{font-size:12px;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase;margin-top:2px}

/* Divider */
.bela-footer__divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 20%,rgba(255,255,255,.12) 80%,transparent)}

/* Columns */
.bela-footer__columns{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:32px 0 40px}

/* Headings */
.bela-footer__heading{font-family:var(--bela-font-heading);font-size:15px;font-weight:700;color:#fff;margin-bottom:14px;padding-bottom:8px;position:relative;display:inline-block}
.bela-footer__heading::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:var(--bela-accent,#C4973B);border-radius:1px}

/* Legacy widget-title support */
.bela-footer .widget-title{font-family:var(--bela-font-heading);font-size:15px;font-weight:700;color:#fff;margin-bottom:14px;padding-bottom:8px;position:relative;display:inline-block;border-bottom:none}
.bela-footer .widget-title::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:var(--bela-accent,#C4973B);border-radius:1px}

/* Contact column */
.bela-footer__address{font-style:normal}
.bela-footer__address p,.bela-footer p{font-size:13px;line-height:1.6;margin-bottom:6px;color:rgba(255,255,255,.7)}
.bela-footer__contact-line{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px;color:rgba(255,255,255,.7)}
.bela-footer__contact-line a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .15s}
.bela-footer__contact-line a:hover{color:#fff;text-decoration:none}
.bela-footer__contact-line--meta{margin-top:10px;font-size:12px;color:rgba(255,255,255,.45)}
.bela-footer__sep{opacity:.4;margin:0 2px}

/* Hours */
.bela-footer__hours{font-size:13px;line-height:1.7;color:rgba(255,255,255,.7)}

/* Links */
.bela-footer a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .15s}
.bela-footer a:hover{text-decoration:none;color:#fff}
.bela-footer__links{list-style:none}
.bela-footer__links li{padding:3px 0}
.bela-footer__links a{font-size:13px;color:rgba(255,255,255,.6);transition:color .15s,padding-left .15s}
.bela-footer__links a:hover{color:#fff;padding-left:4px;text-decoration:none}

/* Legal bar */
.bela-footer__legal{border-top:1px solid rgba(255,255,255,.08);padding:16px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(255,255,255,.4)}
.bela-footer__legal-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bela-footer__legal-sep{opacity:.4}
.bela-footer__legal-power{font-size:11px;opacity:.6}
.bela-footer__legal-right{display:flex;gap:16px}
.bela-footer__legal a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .15s;margin-left:0}
.bela-footer__legal a:hover{color:rgba(255,255,255,.8);text-decoration:none}

/* ─── Search overlay ─── */
.bela-search-overlay{position:fixed;inset:0;z-index:9999;background:rgba(27,58,75,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.bela-search-overlay--open{opacity:1;visibility:visible}
.bela-search-form{display:flex;gap:10px;max-width:640px;width:100%;position:relative}
.bela-search-input{flex:1;padding:16px 20px;border:2px solid rgba(255,255,255,.2);border-radius:12px;font-size:18px;background:rgba(255,255,255,.1);color:#fff;font-family:var(--bela-font-body);outline:none;transition:border-color .2s}
.bela-search-input::placeholder{color:rgba(255,255,255,.5)}
.bela-search-input:focus{border-color:var(--bela-secondary,#2D5F3E);background:rgba(255,255,255,.15)}
.bela-search-submit{padding:16px 28px;background:var(--bela-secondary,#2D5F3E);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;font-family:var(--bela-font-body);transition:background .2s}
.bela-search-submit:hover{background:var(--bela-accent,#C4973B)}
.bela-search-close{position:absolute;top:-60px;right:0;background:rgba(255,255,255,.15);border:none;font-size:24px;cursor:pointer;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}
.bela-search-close:hover{background:rgba(255,255,255,.3)}

/* ─── Mobile menu ─── */
.bela-mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s}
.bela-mobile-overlay.open{opacity:1;pointer-events:all}
.bela-mobile-menu{position:fixed;top:0;right:-320px;width:300px;height:100vh;background:var(--bela-surface);z-index:9999;transition:right .3s;overflow-y:auto;box-shadow:-4px 0 20px rgba(0,0,0,.15)}
.bela-mobile-menu.open{right:0}
.bela-mobile-menu__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--bela-border)}
.bela-mobile-menu__title{font-weight:700;font-size:16px}
.bela-mobile-menu__close{background:none;border:none;font-size:22px;cursor:pointer;padding:4px;color:var(--bela-text)}
.bela-mobile-nav-list{list-style:none;padding:12px 0}
.bela-mobile-nav-list li a{display:block;padding:12px 20px;font-size:15px;color:var(--bela-text);border-bottom:1px solid var(--bela-border);text-decoration:none}
.bela-mobile-nav-list li a:hover{background:var(--bela-bg-alt)}
.bela-mobile-nav-list .sub-menu{padding-left:16px}
.bela-mobile-nav-list .sub-menu a{font-size:14px;color:var(--bela-text-secondary)}

/* ─── Accessibility bar ─── */
.bela-a11y-bar{display:flex;gap:4px}
.bela-a11y-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#fff;padding:2px 8px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;font-family:var(--bela-font-body);transition:background .15s}
.bela-a11y-btn:hover{background:rgba(255,255,255,.25)}

/* ─── Dark mode toggle ─── */
.bela-dark-toggle{background:none;border:none;cursor:pointer;font-size:16px;padding:2px;transition:transform .2s}
.bela-dark-toggle:hover{transform:scale(1.15)}
[data-theme="light"] .bela-dark-toggle__moon{display:none}
[data-theme="dark"] .bela-dark-toggle__sun{display:none}

/* ─── Language switcher ─── */
.bela-lang-switcher{display:flex;gap:6px}
.bela-lang{font-size:11px;color:rgba(255,255,255,.6);padding:2px 6px;border-radius:3px;text-decoration:none;transition:color .15s}
.bela-lang:hover,.bela-lang--active{color:#fff}

/* ─── Page documents ─── */
.bela-page-documents{margin-top:32px;padding-top:24px;border-top:1px solid var(--bela-border)}
.bela-doc-link{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bela-bg-alt);border-radius:var(--bela-radius-sm);margin-bottom:8px;font-size:14px;font-weight:500;color:var(--bela-primary);text-decoration:none;transition:background .15s}
.bela-doc-link:hover{background:var(--bela-border);text-decoration:none}

/* ─── Sidebar ─── */
.bela-sidebar .widget{margin-bottom:24px;padding:20px;background:var(--bela-surface);border-radius:var(--bela-radius);box-shadow:var(--bela-shadow);border:1px solid var(--bela-border)}
.bela-sidebar .widget-title{font-size:15px;font-weight:700;color:var(--bela-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--bela-accent)}

/* ─── Pagination ─── */
.nav-links{display:flex;justify-content:center;gap:6px;padding:32px 0}
.nav-links a,.nav-links span{padding:8px 14px;border-radius:var(--bela-radius-sm);font-size:14px;font-weight:500}
.nav-links a{background:var(--bela-surface);color:var(--bela-text);border:1px solid var(--bela-border);text-decoration:none}
.nav-links a:hover{background:var(--bela-primary);color:#fff;border-color:var(--bela-primary)}
.nav-links .current{background:var(--bela-primary);color:#fff;border:1px solid var(--bela-primary)}

/* ─── Focus visible (WCAG) ─── */
:focus-visible{outline:3px solid var(--bela-accent);outline-offset:2px;border-radius:2px}

/* ─── Reduced motion ─── */
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms !important;animation-duration:.01ms !important}}

/* ─── Responsive ─── */
@media(max-width:1024px){
    .bela-content-wrap{grid-template-columns:1fr}
    .bela-sidebar{display:none}
    .bela-tiles-grid{grid-template-columns:repeat(3,1fr)}
    .bela-card-grid--3{grid-template-columns:repeat(2,1fr)}
    .bela-footer__columns{grid-template-columns:repeat(2,1fr)}
    .bela-contact-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
    .bela-tiles-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .bela-tile{padding:16px 10px}
    .bela-card-grid--3,.bela-card-grid--2{grid-template-columns:1fr}
    .bela-footer__columns{grid-template-columns:1fr;gap:24px}
    .bela-footer__brand{flex-direction:column;align-items:flex-start}
    .bela-footer__legal{flex-direction:column;align-items:flex-start;gap:8px}
    .bela-section{padding:32px 0}
    .bela-modes{flex-direction:column;align-items:stretch}
    .bela-mode{flex-direction:row;min-width:0;padding:16px 20px}
}
@media(max-width:480px){
    .bela-tiles-grid{grid-template-columns:1fr}
    .bela-footer__brand-name{font-size:17px}
}

/* ═══ HOMEPAGE MODULE SECTIONS ═══════════════════ */

/* ─── Notice compact list (homepage) ─── */
.bela-notice-list--compact { margin-top: 16px; display: flex; flex-direction: column; gap: 4px; }
.bela-notice-compact { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--bela-surface); border-radius: var(--bela-radius-sm); text-decoration: none; color: var(--bela-text); transition: background .15s; border: 1px solid var(--bela-border); }
.bela-notice-compact:hover { background: var(--bela-bg-alt); text-decoration: none; }
.bela-notice-compact__title { flex: 1; font-size: 14px; font-weight: 500; }
.bela-notice-compact__date { font-size: 12px; color: var(--bela-text-muted); font-family: var(--bela-font-mono); flex-shrink: 0; }

/* ─── Broadcast homepage list ─── */
.bela-broadcast-home-list { display: flex; flex-direction: column; gap: 6px; }
.bela-broadcast-home-item { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--bela-surface); border: 1px solid var(--bela-border); border-radius: var(--bela-radius-sm); text-decoration: none; color: var(--bela-text); transition: background .15s; }
.bela-broadcast-home-item:hover { background: var(--bela-bg-alt); text-decoration: none; }
.bela-broadcast-home-item--urgent { border-left: 3px solid var(--bela-danger); }
.bela-broadcast-home-item__icon { font-size: 22px; flex-shrink: 0; }
.bela-broadcast-home-item__body { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.bela-broadcast-home-item__title { font-size: 14px; font-weight: 500; }
.bela-broadcast-home-item__date { font-size: 12px; color: var(--bela-text-muted); font-family: var(--bela-font-mono); }

/* ─── Defects homepage dashboard ─── */
.bela-defect-home-stats { display: flex; gap: 12px; margin-bottom: 16px; }
.bela-defect-home-stats__item { flex: 1; text-align: center; padding: 14px 10px; background: var(--bela-surface); border: 1px solid var(--bela-border); border-radius: var(--bela-radius-sm); }
.bela-defect-home-stats__count { display: block; font-size: 24px; font-weight: 800; font-family: var(--bela-font-heading); }
.bela-defect-home-stats__label { display: block; font-size: 11px; color: var(--bela-text-muted); margin-top: 2px; }
.bela-defect-home-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.bela-defect-home-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--bela-surface); border: 1px solid var(--bela-border); border-radius: var(--bela-radius-sm); text-decoration: none; color: var(--bela-text); transition: background .15s; }
.bela-defect-home-item:hover { background: var(--bela-bg-alt); text-decoration: none; }
.bela-defect-home-item__status { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #fff; flex-shrink: 0; }
.bela-defect-home-item__body { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.bela-defect-home-item__title { font-size: 14px; font-weight: 500; }
.bela-defect-home-item__addr { font-size: 12px; color: var(--bela-text-muted); }
.bela-defect-home-cta { display: flex; align-items: center; gap: 12px; }
.bela-defect-home-cta__note { font-size: 13px; color: var(--bela-text-muted); }

/* ─── Documents homepage list ─── */
.bela-docs-home-list { display: flex; flex-direction: column; gap: 4px; }
.bela-docs-home-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--bela-surface); border: 1px solid var(--bela-border); border-radius: var(--bela-radius-sm); text-decoration: none; color: var(--bela-text); transition: background .15s; }
.bela-docs-home-item:hover { background: var(--bela-bg-alt); text-decoration: none; }
.bela-docs-home-item__icon { font-size: 20px; flex-shrink: 0; }
.bela-docs-home-item__body { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.bela-docs-home-item__title { font-size: 14px; font-weight: 500; }
.bela-docs-home-item__meta { display: flex; gap: 8px; font-size: 11px; color: var(--bela-text-muted); }
.bela-docs-home-item__cat { font-weight: 600; color: var(--bela-secondary); }

/* ─── Section title icon ─── */
.bela-section__title-icon { margin-right: 6px; }

/* ─── Responsive: homepage module sections ─── */
@media(max-width:768px){
    .bela-defect-home-stats { flex-direction: column; gap: 6px; }
    .bela-defect-home-cta { flex-direction: column; align-items: flex-start; }
}


/* ─── Gallery homepage grid ─── */
.bela-gallery-home-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.bela-gallery-home-item { display:block; position:relative; aspect-ratio:4/3; border-radius:10px; overflow:hidden; text-decoration:none; }
.bela-gallery-home-item__img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.bela-gallery-home-item:hover .bela-gallery-home-item__img { transform:scale(1.05); }
.bela-gallery-home-item__placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:36px; background:var(--bela-bg-alt); }
.bela-gallery-home-item__overlay { position:absolute; bottom:0; left:0; right:0; padding:10px 14px; background:linear-gradient(transparent, rgba(0,0,0,.7)); color:#fff; display:flex; flex-direction:column; gap:2px; }
.bela-gallery-home-item__title { font-size:14px; font-weight:600; }
.bela-gallery-home-item__meta { font-size:11px; opacity:.8; }
@media(max-width:768px){ .bela-gallery-home-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .bela-gallery-home-grid { grid-template-columns:1fr; } }

/* ═══ SCROLL REVEAL — GLOBAL ═══ */
.bela-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.bela-reveal--visible{opacity:1;transform:translateY(0)}

.bela-timeline__point.bela-reveal{transform:translateY(20px) scale(.9);transition-duration:.5s}
.bela-timeline__point.bela-reveal--visible{transform:translateY(0) scale(1)}
.bela-budget-cat.bela-reveal{transform:translateX(-20px);transition-duration:.5s}
.bela-budget-cat.bela-reveal--visible{transform:translateX(0)}
.bela-contact-row.bela-reveal{transform:translateX(16px)}
.bela-contact-row.bela-reveal--visible{transform:translateX(0)}
.bela-card.bela-reveal{transform:translateY(20px);transition-duration:.5s}
.bela-defect-card.bela-reveal,.bela-broadcast-card.bela-reveal,.bela-notice-compact.bela-reveal{transform:translateX(-12px);transition-duration:.4s}
.bela-defect-card.bela-reveal--visible,.bela-broadcast-card.bela-reveal--visible,.bela-notice-compact.bela-reveal--visible{transform:translateX(0)}
.bela-dfp-contact__item.bela-reveal,.bela-dfp-step.bela-reveal{transform:translateY(16px) scale(.97);transition-duration:.5s}
.bela-dfp-contact__item.bela-reveal--visible,.bela-dfp-step.bela-reveal--visible{transform:translateY(0) scale(1)}
.bela-tourist-home-card.bela-reveal,.bela-tourist-card.bela-reveal{transform:translateY(20px);transition-duration:.5s}
.bela-tourist-home-trail.bela-reveal,.bela-tourist-trail-card.bela-reveal{transform:translateX(-12px);transition-duration:.4s}
.bela-tourist-home-trail.bela-reveal--visible,.bela-tourist-trail-card.bela-reveal--visible{transform:translateX(0)}
.bela-tourist-highlights__item.bela-reveal{transform:translateY(12px) scale(.95);transition-duration:.4s}
.bela-tourist-highlights__item.bela-reveal--visible{transform:translateY(0) scale(1)}
.bela-tourist-waypoints__item.bela-reveal{transform:translateX(-10px);transition-duration:.35s}
.bela-tourist-waypoints__item.bela-reveal--visible{transform:translateX(0)}
.bela-tourist-info-card.bela-reveal{transform:translateY(16px);transition-duration:.6s}
@media(prefers-reduced-motion:reduce){.bela-reveal{opacity:1;transform:none;transition:none}}
