:root{--bg:#0a0d16;--bg-alt:#0f1422;--surface:rgba(255,255,255,.06);--surface-solid:#131a29;--text:#eef2ff;--muted:#aab6d3;--primary:#ff4da6;--secondary:#7c5cff;--accent:#46e3ff;--header-bg:rgba(10,13,22,.72);--hero-overlay-1:rgba(10,13,22,.88);--hero-overlay-2:rgba(17,26,51,.48);--hero-overlay-3:rgba(10,13,22,.88)}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}
body{font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top right, color-mix(in srgb, var(--primary) 12%, transparent), transparent 28%),linear-gradient(180deg,var(--bg),var(--bg-alt));color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em}.brand-mark{width:42px;height:42px;border-radius:14px;background:transparent;display:grid;place-items:center;box-shadow:none}
.site-nav{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.site-nav a{opacity:.92;transition:.25s transform,.25s opacity,.25s color}.site-nav a:hover{opacity:1;color:var(--accent);transform:translateY(-1px)}
.nav-admin,.lang-pill{padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.04)}
.lang-pill.active{background:linear-gradient(135deg,var(--primary),var(--secondary));border-color:transparent}.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text);border-radius:12px;padding:10px 12px}
.nav-social{font-size:1.1rem}
.site-main{position:relative}.section{padding:88px 0}.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01))}
.hero-premium{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden}
.hero-media,.hero-overlay,.hero-grid{position:absolute;inset:0}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.hero-overlay{background:linear-gradient(90deg,var(--hero-overlay-1),var(--hero-overlay-2),var(--hero-overlay-3))}
.hero-grid{background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px, transparent 1px);background-size:50px 50px;mask-image:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,0))}
.hero-orb{position:absolute;border-radius:999px;filter:blur(50px);opacity:.55}.orb-1{width:240px;height:240px;background:var(--primary);top:12%;right:10%}.orb-2{width:200px;height:200px;background:var(--accent);bottom:14%;left:4%}.orb-3{width:180px;height:180px;background:var(--secondary);top:22%;left:35%}
.hero-content{position:relative;z-index:2;padding:120px 0 70px}
.eyebrow{text-transform:uppercase;letter-spacing:.25em;color:color-mix(in srgb,var(--accent) 70%, white);font-size:.78rem;margin-bottom:8px}.hero h1,.page-hero h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:1.02;margin:0 0 16px;max-width:12ch}
.lead{max-width:720px;font-size:1.14rem;color:var(--muted)}
.hero-actions,.footer-links,.pill-row{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;font-weight:700;border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:.25s transform,.25s box-shadow,.25s background}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(0,0,0,.25)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none}.btn-secondary{background:rgba(255,255,255,.05)}.btn-ghost{background:transparent}
.hero-marquee{position:absolute;bottom:18px;left:0;right:0;z-index:2;overflow:hidden;opacity:.8}.hero-marquee-track{display:flex;gap:28px;white-space:nowrap;animation:marquee 25s linear infinite}
.hero-marquee span{font-size:.92rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.72)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.card{background:linear-gradient(180deg,var(--surface),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:24px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.card-body{padding:20px}.media-card img{width:100%;height:100%;object-fit:cover}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.section-head h2,h2,h3{margin:0 0 12px}.text-link{color:var(--accent);font-weight:700}
.grid{display:grid;gap:22px}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.event-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gallery-card,.event-card,.counter-card{position:relative;transition:.32s transform,.32s box-shadow,.32s border-color}.gallery-card:hover,.event-card:hover,.counter-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 24px 60px rgba(0,0,0,.32);border-color:color-mix(in srgb,var(--accent) 42%, rgba(255,255,255,.08))}
.gallery-card::after,.event-card::after,.counter-card::after{content:"";position:absolute;inset:auto -30% -40% auto;width:160px;height:160px;background:radial-gradient(circle,var(--accent),transparent 65%);opacity:0;filter:blur(24px);transition:.35s opacity}.gallery-card:hover::after,.event-card:hover::after,.counter-card:hover::after{opacity:.12}
.gallery-card img,.event-card img{aspect-ratio:4/3;object-fit:cover}.meta{color:var(--muted);font-size:.92rem}
.video-frame{border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#06080f;min-height:420px}.video-frame iframe,.video-frame .video-placeholder{width:100%;min-height:420px}
.video-placeholder{display:grid;place-items:center;color:var(--muted);background:radial-gradient(circle at center,color-mix(in srgb,var(--secondary) 22%, transparent),transparent 55%),#0b1020}
.cta-box{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px;border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--secondary) 24%, transparent),color-mix(in srgb,var(--primary) 18%, transparent));border:1px solid rgba(255,255,255,.08)}
.page-hero{padding:110px 0 30px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--secondary) 22%, transparent),transparent 34%),var(--bg)}.page-hero.small h1{font-size:clamp(2rem,5vw,3.6rem)}
.stack{display:grid;gap:20px}.stack-sm{display:grid;gap:14px}.list-card{display:grid;grid-template-columns:320px 1fr}.list-card img{height:100%;object-fit:cover}
.contact-list p{margin:.3rem 0}.form-card{padding:24px}
.counter-num{font-size:clamp(2.2rem,4vw,3.8rem);font-weight:900;line-height:1;margin-bottom:8px;background:linear-gradient(135deg,var(--accent),#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.counter-label{font-weight:800}
.site-footer{padding:28px 0;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}.footer-wrap{display:flex;justify-content:space-between;gap:24px;align-items:center}
.admin-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,var(--bg),var(--bg-alt))}
.login-card{padding:28px;width:min(460px,100%)}.alert{padding:14px 16px;border-radius:16px;margin-bottom:16px}.alert.error{background:#42131e;border:1px solid #7c2035}.alert.success{background:#113922;border:1px solid #1f6d40}
.admin-layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:var(--bg)}.admin-sidebar{padding:26px;border-right:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);position:sticky;top:0;height:100vh}.admin-nav{display:grid;gap:10px;margin-top:28px}.admin-nav a{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03)}.admin-nav a:hover{background:rgba(255,255,255,.08)}
.admin-content{padding:28px}.form-grid{padding:24px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label,.stack label{display:grid;gap:6px;font-weight:600}.form-grid label.full{grid-column:1/-1}
input,textarea,select{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);padding:12px 14px;font:inherit}textarea{min-height:120px;resize:vertical}
.btn-danger{background:#561822}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.upload-note{font-size:.85rem;color:var(--muted)}
.gallery-sort-item{cursor:grab}.gallery-sort-item.dragging{opacity:.5;border-style:dashed}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.05);font-size:.85rem}
.page-transition{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at center,color-mix(in srgb,var(--primary) 10%, transparent),transparent 55%);opacity:0;animation:fade-in .65s ease}
@keyframes fade-in{from{opacity:1}to{opacity:0}}
.cursor-glow{position:fixed;left:0;top:0;width:220px;height:220px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%, transparent),transparent 60%);filter:blur(20px);opacity:.7;z-index:1}
.particles{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.08) 0 1px,transparent 1px),radial-gradient(circle at 80% 30%,rgba(255,255,255,.06) 0 1px,transparent 1px),radial-gradient(circle at 40% 80%,rgba(255,255,255,.08) 0 1px,transparent 1px);background-size:180px 180px,220px 220px,260px 260px;opacity:.35}
[data-reveal]{opacity:0;transform:translateY(28px) scale(.985);transition:.7s ease}.revealed{opacity:1!important;transform:none!important}
.hero-float-card{position:absolute;right:6%;bottom:16%;z-index:2;min-width:220px;padding:18px 20px;background:rgba(11,16,28,.64);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.hero-float-card strong{display:block;font-size:1.2rem}
@media (max-width: 980px){.split,.list-card,.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.form-grid,.form-grid.compact{grid-template-columns:1fr}.site-nav{display:none}.site-nav.open{display:flex;position:absolute;top:74px;left:16px;right:16px;padding:16px;border-radius:18px;background:rgba(7,11,20,.96);border:1px solid rgba(255,255,255,.08)}.nav-toggle{display:block}.hero-float-card{position:relative;right:auto;bottom:auto;margin-top:24px;width:fit-content}}
@media (max-width: 720px){.section{padding:68px 0}.hero-premium{min-height:84vh}.hero h1,.page-hero h1{max-width:none}.cta-box,.footer-wrap{flex-direction:column;align-items:flex-start}}

body{background:var(--bg);color:var(--text)}
.site-main,.admin-content,.admin-sidebar,.admin-nav a,.card,.card-body,label,p,h1,h2,h3,h4,h5,h6{color:var(--text)}
.btn{color:var(--text)}
.btn-primary{color:#fff}
.btn-secondary,.btn-ghost,.nav-admin,.lang-pill,.nav-toggle{color:var(--text)}
.nav-toggle{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:10px 14px;border-radius:14px}
.admin-layout{color:var(--text)}
.admin-content h1,.admin-content h2,.admin-content h3,.admin-content p,.admin-content label,.admin-content .meta{color:var(--text)}
.admin-sidebar{background:linear-gradient(180deg,rgba(7,11,20,.96),rgba(15,20,34,.92))}
.admin-nav a{border:1px solid rgba(255,255,255,.06);color:var(--text)}
.admin-nav a:hover{border-color:rgba(255,255,255,.16)}
.admin-content .card{background:linear-gradient(180deg,var(--surface-solid),rgba(19,26,41,.94));border-color:rgba(255,255,255,.08)}
.admin-content .badge{background:rgba(255,255,255,.08);color:var(--text)}
input,textarea,select{background:rgba(9,14,24,.9);color:var(--text);border-color:rgba(255,255,255,.14)}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(70,227,255,.12)}
input[type="file"]{padding:10px;background:rgba(9,14,24,.65)}
input[type="color"]{padding:4px;height:48px;min-width:72px;background:rgba(9,14,24,.9)}
.login-card,.counter-card-admin,.social-admin-card{background:linear-gradient(180deg,var(--surface-solid),rgba(19,26,41,.94));color:var(--text)}
.color-field-row{display:grid;grid-template-columns:80px 1fr 44px;gap:10px;align-items:center}
.color-preview{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.preset-chip{display:inline-flex;align-items:center;gap:10px}
.preset-swatch{width:18px;height:18px;border-radius:999px;display:inline-block;border:1px solid rgba(255,255,255,.18)}
.small-note{font-size:.85rem;color:var(--muted)}

.small-note{font-size:.82rem;color:var(--muted)}
.thumb-preview{margin-top:10px;width:140px;height:100px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.thumb-preview-wide{width:220px;height:124px}

.brand-mark{overflow:hidden}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block;padding:3px}
.social-item .inline-actions{justify-content:flex-end}

.media-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.media-library-card{background:linear-gradient(180deg,var(--surface-solid),rgba(19,26,41,.94));border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px;display:grid;gap:12px}
.media-thumb-wrap{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.media-thumb{width:100%;height:100%;object-fit:cover;display:block}
.media-thumb-fallback{display:grid;place-items:center;font-weight:800;letter-spacing:.12em}
.gallery-zoom-trigger{cursor:zoom-in}
.gallery-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:120}
.gallery-lightbox.open{display:flex}
.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(5,8,14,.72);backdrop-filter:blur(10px)}
.gallery-lightbox-dialog{position:relative;z-index:2;width:min(92vw,1100px);max-height:86vh;padding:18px;border-radius:24px;background:rgba(8,12,20,.88);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.gallery-lightbox-dialog img{width:100%;max-height:72vh;object-fit:contain;border-radius:16px}
.gallery-lightbox-caption{margin-top:12px;color:var(--text);font-weight:700}
.gallery-lightbox-close{position:absolute;right:14px;top:10px;width:46px;height:46px;border:none;border-radius:999px;background:rgba(255,255,255,.08);color:var(--text);font-size:1.8rem;line-height:1;cursor:pointer}

.contact-placeholder{display:grid;place-items:center;padding:32px;min-height:120px}
.contact-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:130}
.contact-modal.open{display:flex}
.contact-modal-backdrop{position:absolute;inset:0;background:rgba(5,8,14,.74);backdrop-filter:blur(10px)}
.contact-modal-dialog{position:relative;z-index:2;width:min(92vw,620px);padding:28px;border-radius:24px;background:rgba(8,12,20,.92);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.contact-modal-dialog textarea{min-height:160px}
.contact-modal-close{position:absolute;right:14px;top:10px;width:46px;height:46px;border:none;border-radius:999px;background:rgba(255,255,255,.08);color:var(--text);font-size:1.8rem;line-height:1;cursor:pointer}
.contact-success-dialog{text-align:left}

@import url("hero_fade.css");
@media (max-width: 980px){
  .site-header .nav-wrap{position:relative}
  .site-nav{
    display:none;
    position:absolute;
    top:74px;
    left:16px;
    right:16px;
    padding:16px;
    border-radius:18px;
    background:rgba(7,11,20,.96);
    border:1px solid rgba(255,255,255,.08);
    flex-direction:column;
    align-items:flex-start;
    z-index:60;
  }
  .site-nav.open{display:flex}
  .nav-toggle{display:block}
  .site-nav a{width:100%}
}

.section-divider{
  width:100%;
  height:50px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

.section-divider::before{
  content:"";
  width:60%;
  height:2px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(70,227,255,0.7),
    rgba(255,77,166,0.7),
    transparent
  );
  filter:blur(0.4px);
  box-shadow:
    0 0 12px rgba(70,227,255,0.5),
    0 0 22px rgba(255,77,166,0.4);
}

.nav-social{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.nav-social:hover{background:rgba(255,255,255,.08)}
.social-inline{display:inline-flex;align-items:center;gap:9px}
.social-svg{width:18px;height:18px;display:inline-block;vertical-align:middle;flex:0 0 auto}
.social-svg-only{width:17px;height:17px}
.social-fallback{display:inline-grid;place-items:center;font-weight:800;line-height:1}
.is-youtube{color:#ff4d4d}
.is-instagram{color:#ffd0f4}
.is-facebook{color:#8ab4ff}
.is-tiktok{color:#c6fbff}
.is-kofi{color:#ffb38a}
.hero-actions .btn:hover .is-youtube,
.footer-links a:hover .is-youtube,
.contact-list a:hover .is-youtube,
.nav-social:hover .is-youtube{filter:drop-shadow(0 0 10px rgba(255,77,77,.35))}
.hero-actions .btn:hover .is-instagram,
.footer-links a:hover .is-instagram,
.contact-list a:hover .is-instagram,
.nav-social:hover .is-instagram{filter:drop-shadow(0 0 10px rgba(255,130,220,.35))}
.hero-actions .btn:hover .is-facebook,
.footer-links a:hover .is-facebook,
.contact-list a:hover .is-facebook,
.nav-social:hover .is-facebook{filter:drop-shadow(0 0 10px rgba(138,180,255,.35))}
.hero-actions .btn:hover .is-tiktok,
.footer-links a:hover .is-tiktok,
.contact-list a:hover .is-tiktok,
.nav-social:hover .is-tiktok{filter:drop-shadow(0 0 10px rgba(116,246,255,.35))}
.hero-actions .btn:hover .is-kofi,
.footer-links a:hover .is-kofi,
.contact-list a:hover .is-kofi,
.nav-social:hover .is-kofi{filter:drop-shadow(0 0 10px rgba(255,179,138,.35))}



.kofi-widget{position:fixed;right:20px;bottom:20px;z-index:140;display:grid;justify-items:end;gap:12px}
.kofi-widget-toggle{display:inline-flex;align-items:center;gap:10px;border:none;border-radius:999px;padding:12px 18px;background:linear-gradient(135deg,#ff5e5b,#ff7d66);color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.12) inset;transition:.25s transform,.25s box-shadow,.25s opacity;animation:kofi-pulse 2.6s ease-in-out infinite}
.kofi-widget-toggle:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(0,0,0,.34)}
.kofi-widget-toggle-icon{font-size:1.1rem}
.kofi-widget-panel{width:min(360px,calc(100vw - 32px));padding:20px 20px 18px;border-radius:24px;background:rgba(8,12,20,.94);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px rgba(0,0,0,.45);backdrop-filter:blur(12px);position:relative}
.kofi-widget-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border-radius:999px;border:none;background:rgba(255,255,255,.08);color:var(--text);font-size:1.5rem;cursor:pointer}
.kofi-widget-badge{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,94,91,.16);color:#ffd8d7;font-size:.8rem;font-weight:800;letter-spacing:.04em;margin-bottom:10px}
.kofi-widget-panel h3{margin:0 0 10px}
.kofi-widget-panel p{margin:0 0 12px;color:var(--muted)}
.kofi-widget-btn{width:100%;justify-content:center;margin:4px 0 8px}
.kofi-widget-note{font-size:.88rem}
.kofi-widget.is-collapsed .kofi-widget-panel{display:none}
@keyframes kofi-pulse{
  0%,100%{transform:translateY(0);box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.12) inset}
  50%{transform:translateY(-1px) scale(1.015);box-shadow:0 20px 46px rgba(255,94,91,.18),0 0 0 1px rgba(255,255,255,.12) inset}
}
@media (max-width:720px){
  .kofi-widget{right:14px;left:14px;bottom:14px;justify-items:stretch}
  .kofi-widget-toggle{width:fit-content;justify-self:end}
  .kofi-widget-panel{width:100%}
}




.section-band{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(3,8,18,.94),rgba(4,10,20,.9));
}
.section-band > .container{
  position:relative;
  z-index:3;
}
.section-band-bg{
  position:absolute;
  inset:-6% 0 -6% 0;
  z-index:1;
  pointer-events:none;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  opacity:.42;
  filter:saturate(1.06) contrast(1.04) brightness(.92);
  will-change:transform;
}
.section-band-bg-second{
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform-origin:center center;
  will-change:transform;
}
.section-band-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(5,10,18,.58), rgba(5,10,18,.28) 18%, rgba(5,10,18,.22) 78%, rgba(5,10,18,.58)),
    linear-gradient(90deg, rgba(5,10,18,.24), rgba(5,10,18,.05) 18%, rgba(5,10,18,.05) 82%, rgba(5,10,18,.24));
}
.section-band .section-head,
.section-band h2,
.section-band .eyebrow,
.section-band p,
.section-band .text-link{
  position:relative;
  z-index:3;
}
.section-band .card{
  position:relative;
  z-index:3;
  background:linear-gradient(180deg, rgba(18,25,42,.96), rgba(18,25,42,.84));
  border-color:rgba(255,255,255,.12);
}
.section-band-followup{padding-top:38px}
.media-card-parallax{position:relative;overflow:hidden;transform-origin:center center}
.media-card-parallax img{
  position:relative;
  z-index:2;
  transition:transform .42s ease;
}
.media-card-parallax:hover img{transform:scale(1.035)}
.media-card-glow{
  position:absolute;
  inset:auto -16% -18% auto;
  z-index:1;
  width:240px;height:240px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(70,227,255,.24), transparent 66%);
  filter:blur(24px);
  opacity:.5;
  pointer-events:none;
}
@media (max-width: 980px){
  .section-band-bg,
  .section-band-bg-second{
    background-size:cover;
    background-position:center center;
    opacity:.34;
  }
}


.blog-list{display:grid;gap:28px}
.blog-list-card{
  display:grid;
  grid-template-columns:minmax(320px, 46%) 1fr;
  align-items:stretch;
  overflow:hidden;
}
.blog-list-media{min-height:100%}
.blog-list-media img{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
  aspect-ratio:auto;
}
.blog-list-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 38px;
}
.blog-list-body h3{
  font-size:clamp(1.6rem, 3vw, 2.8rem);
  line-height:1.12;
  margin-bottom:18px;
  max-width:18ch;
}
.blog-list-body .meta{
  font-size:1rem;
  margin-bottom:18px;
}
.blog-list-body p:not(.meta){
  font-size:1.04rem;
  max-width:58ch;
  margin-bottom:24px;
}
.blog-list-body .btn{
  align-self:flex-start;
}
.blog-list-empty .card-body{
  padding:28px 32px;
}
@media (max-width: 980px){
  .blog-list-card{
    grid-template-columns:1fr;
  }
  .blog-list-media img{
    min-height:260px;
  }
  .blog-list-body{
    padding:24px;
  }
  .blog-list-body h3{
    max-width:none;
  }
}



.video-embed-card{overflow:hidden}
.video-embed-frame{background:#06080f;border-bottom:1px solid rgba(255,255,255,.08)}
.video-embed-frame iframe{width:100%;min-height:420px;border:0;display:block}
@media (max-width: 720px){
  .video-embed-frame iframe{min-height:240px}
}

.video-mosaic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.video-tile-card{overflow:hidden}
.video-tile-trigger{width:100%;display:block;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.video-thumb-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#06080f;border-bottom:1px solid rgba(255,255,255,.08)}
.video-thumb{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.video-tile-card:hover .video-thumb{transform:scale(1.04)}
.video-play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:999px;display:grid;place-items:center;font-size:1.7rem;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 18px 40px rgba(0,0,0,.35)}
.video-tile-body h3{margin-bottom:10px}
.video-tile-body p:last-child{margin-bottom:0}
.video-tile-body p:not(.meta){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.video-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:135}
.video-modal.open{display:flex}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(5,8,14,.78);backdrop-filter:blur(10px)}
.video-modal-dialog{position:relative;z-index:2;width:min(92vw,1100px);padding:22px;border-radius:24px;background:rgba(8,12,20,.94);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.video-modal-close{position:absolute;right:14px;top:10px;width:46px;height:46px;border:none;border-radius:999px;background:rgba(255,255,255,.08);color:var(--text);font-size:1.8rem;line-height:1;cursor:pointer}
.video-modal-title{margin:0 0 14px;padding-right:56px}
.video-modal-frame{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#06080f}
.video-modal-frame iframe{width:100%;height:100%;border:0}
@media (max-width:1100px){.video-mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.video-mosaic-grid{grid-template-columns:1fr}.video-play-badge{width:62px;height:62px;font-size:1.45rem}.video-modal-dialog{width:min(94vw,1100px);padding:18px}}

@import url("hero_zoom.css");


.data-table{width:100%;border-collapse:collapse;margin-top:12px}.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}.data-table th{font-size:.85rem;color:var(--muted);font-weight:700}.btn-soft{background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--text)}.btn-soft:hover{border-color:rgba(255,255,255,.28);transform:translateY(-1px)}


.upload-field-card{
  display:grid;
  gap:12px;
  align-content:start;
}
.upload-field-label{
  display:block;
  font-weight:800;
  font-size:1rem;
  margin:0;
}
.upload-current{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
}
.upload-current.has-file{
  border-color:rgba(70,227,255,.18);
  background:linear-gradient(180deg,rgba(70,227,255,.06),rgba(255,255,255,.03));
}
.upload-current-meta{
  min-width:0;
  display:grid;
  gap:3px;
}
.upload-current-kicker{
  font-size:.76rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}
.upload-current-name{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.95rem;
}
.upload-open-btn{
  flex:0 0 auto;
}
.upload-thumb-link{
  display:inline-block;
  width:fit-content;
}
.upload-thumb{
  width:180px;
  height:120px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.upload-thumb-wide{
  width:260px;
  height:146px;
}
.upload-thumb-empty{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:.9rem;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02));
}
@media (max-width:720px){
  .upload-current{
    align-items:flex-start;
    flex-direction:column;
  }
  .upload-thumb,
  .upload-thumb-wide{
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:16/10;
  }
}


.switch-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  cursor:pointer;
  transition:border-color .22s ease, transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.switch-item:hover{
  border-color:rgba(255,255,255,.14);
  box-shadow:0 10px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
  transform:translateY(-1px);
}
.switch-copy{
  display:grid;
  gap:5px;
  min-width:0;
}
.switch-title{
  display:block;
  font-weight:800;
  font-size:1.04rem;
  color:var(--text);
}
.switch-state{
  display:block;
  font-size:.86rem;
  color:var(--muted);
}
.toggle-switch-wrap{
  position:relative;
  display:inline-flex;
  flex:0 0 auto;
}
.toggle-switch-input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
  margin:0;
}
.toggle-switch-ui{
  position:relative;
  width:62px;
  height:36px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 2px 8px rgba(0,0,0,.24);
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.toggle-switch-ui::after{
  content:'';
  position:absolute;
  top:4px;
  left:4px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:linear-gradient(180deg,#ffffff,#dfe7f3);
  box-shadow:0 6px 16px rgba(0,0,0,.28);
  transition:transform .22s ease;
}
.toggle-switch-input:checked + .toggle-switch-ui{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  border-color:rgba(255,255,255,.22);
  box-shadow:0 0 0 4px rgba(70,227,255,.08), inset 0 2px 8px rgba(0,0,0,.18);
}
.toggle-switch-input:checked + .toggle-switch-ui::after{
  transform:translateX(26px);
}
.toggle-switch-input:focus + .toggle-switch-ui,
.toggle-switch-input:focus-visible + .toggle-switch-ui{
  box-shadow:0 0 0 4px rgba(70,227,255,.12), inset 0 2px 8px rgba(0,0,0,.24);
}
.toggle-switch-input:checked ~ .switch-state{color:var(--text)}
.switch-item:has(.toggle-switch-input:checked){
  border-color:rgba(70,227,255,.26);
  background:linear-gradient(180deg,rgba(70,227,255,.08),rgba(255,255,255,.03));
}
@supports not selector(:has(*)){
  .switch-item{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02));}
}
@media (max-width:720px){
  .switch-item{padding:16px 16px;border-radius:18px}
  .switch-title{font-size:1rem}
  .toggle-switch-ui{width:58px;height:34px}
  .toggle-switch-ui::after{width:24px;height:24px}
  .toggle-switch-input:checked + .toggle-switch-ui::after{transform:translateX(24px)}
}


/* Gallery refresh */
.gallery-page-hero{
  padding-bottom:24px;
  background:
    radial-gradient(circle at top right, color-mix(in srgb,var(--accent) 18%, transparent), transparent 28%),
    radial-gradient(circle at top left, color-mix(in srgb,var(--secondary) 18%, transparent), transparent 34%),
    var(--bg);
}
.gallery-hero-wrap{max-width:920px}
.gallery-hero-text{max-width:760px}
.gallery-showcase-section{padding-top:34px}
.gallery-showcase-grid{
  column-count:3;
  column-gap:18px;
}
.gallery-shot{
  position:relative;
  display:block;
  width:100%;
  border:none;
  padding:0;
  margin:0 0 18px;
  border-radius:26px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 54px rgba(0,0,0,.24);
  cursor:zoom-in;
  isolation:isolate;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.gallery-shot-featured{display:block}
.gallery-shot::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.08));
  z-index:1;
  pointer-events:none;
}
.gallery-shot img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .7s ease, filter .35s ease;
}
.gallery-shot:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(0,0,0,.34);
  border-color:color-mix(in srgb,var(--accent) 38%, rgba(255,255,255,.08));
}
.gallery-shot:hover img{transform:scale(1.06); filter:saturate(1.05) contrast(1.03)}
.gallery-shot-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:18px;
  background:linear-gradient(180deg, rgba(5,8,14,0) 38%, rgba(5,8,14,.72) 100%);
  opacity:.92;
  transition:opacity .3s ease;
}
.gallery-shot:hover .gallery-shot-overlay{opacity:1}
.gallery-shot-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
  backdrop-filter:blur(10px);
}
.gallery-lightbox{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:120;
  padding:22px;
}
.gallery-lightbox.open{display:flex}
.gallery-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,7,12,.82);
  backdrop-filter:blur(14px);
}
.gallery-lightbox-dialog{
  position:relative;
  z-index:2;
  width:min(94vw,1320px);
  max-height:92vh;
  padding:18px 18px 14px;
  border-radius:30px;
  background:rgba(7,11,19,.88);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 34px 110px rgba(0,0,0,.5);
}
.gallery-lightbox-stage{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:radial-gradient(circle at center, rgba(255,255,255,.06), rgba(255,255,255,.02));
  min-height:min(72vh,900px);
  display:grid;
  place-items:center;
}
.gallery-lightbox-stage img{
  max-width:100%;
  max-height:72vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
}
.gallery-lightbox-close,
.gallery-lightbox-nav{
  position:absolute;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  backdrop-filter:blur(12px);
  transition:transform .2s ease, background .2s ease;
}
.gallery-lightbox-close:hover,
.gallery-lightbox-nav:hover{transform:scale(1.04); background:rgba(255,255,255,.18)}
.gallery-lightbox-close{
  top:14px;
  right:14px;
  width:48px;
  height:48px;
  font-size:1.9rem;
  z-index:4;
}
.gallery-lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:56px;
  height:56px;
  font-size:2rem;
  z-index:4;
}
.gallery-lightbox-nav:hover{transform:translateY(-50%) scale(1.04)}
.gallery-lightbox-nav.prev{left:14px}
.gallery-lightbox-nav.next{right:14px}
.gallery-lightbox-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 8px 2px;
}
.gallery-lightbox-counter{font-weight:800; letter-spacing:.04em}
.gallery-lightbox-hint{color:var(--muted); font-size:.92rem}

@media (max-width: 980px){
  .gallery-showcase-grid{column-count:2; column-gap:14px}
  .gallery-shot,
  .gallery-shot-featured{margin-bottom:14px}
  .gallery-lightbox-dialog{width:min(100vw - 20px, 1320px); padding:12px 12px 10px; border-radius:24px}
  .gallery-lightbox-stage{min-height:62vh}
}
@media (max-width: 640px){
  .gallery-showcase-grid{column-count:1}
  .gallery-shot,
  .gallery-shot-featured{margin-bottom:14px}
  .gallery-lightbox{padding:10px}
  .gallery-lightbox-close{top:10px; right:10px; width:42px; height:42px; font-size:1.6rem}
  .gallery-lightbox-nav{width:46px; height:46px; font-size:1.6rem}
  .gallery-lightbox-bar{flex-direction:column; align-items:flex-start; padding-top:12px}
  .gallery-lightbox-hint{font-size:.85rem}
}


/* Gallery category system */
.gallery-category-section{padding-top:28px}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.project-card{position:relative;overflow:hidden;border-radius:26px;min-height:360px;background:rgba(255,255,255,.03);box-shadow:0 24px 55px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}
.project-card-link{display:block;position:relative;height:100%;min-height:360px;color:#fff;text-decoration:none}
.project-card img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block;transition:transform .7s ease,filter .45s ease}
.project-card:hover img{transform:scale(1.05);filter:saturate(1.05) contrast(1.04)}
.project-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,18,.08) 22%,rgba(7,10,18,.78) 100%)}
.project-card-content{position:absolute;left:22px;right:22px;bottom:22px;display:flex;flex-direction:column;gap:6px;z-index:2}
.project-card-title{font-size:1.5rem;font-weight:800;line-height:1.1}
.project-card-meta{font-size:.95rem;color:rgba(255,255,255,.8)}
.project-switcher{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.project-switcher-chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;flex:1 1 420px}
.project-chip,.project-switcher-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#eef2ff;text-decoration:none;transition:all .25s ease}
.project-chip:hover,.project-switcher-link:hover{transform:translateY(-1px);background:rgba(255,255,255,.08)}
.project-chip.active{background:linear-gradient(135deg,rgba(122,92,255,.34),rgba(79,179,255,.26));border-color:rgba(122,92,255,.4);box-shadow:0 12px 30px rgba(79,179,255,.16)}
.gallery-columns{column-count:3;column-gap:18px}
.gallery-columns .gallery-shot{display:block;width:100%;margin:0 0 18px;break-inside:avoid;overflow:hidden;border-radius:22px;min-height:auto}
.gallery-columns .gallery-shot img{display:block;width:100%;height:auto;max-height:none}
.gallery-columns .gallery-shot::before{display:none}
.gallery-bottom-nav{padding-top:0;padding-bottom:70px}
.project-bottom-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.home-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-gallery-grid .gallery-card{position:relative;isolation:isolate;overflow:hidden;padding:0;min-height:260px;background:#0b1020}
.home-gallery-grid .home-gallery-card::before{content:"";position:absolute;inset:-18px;z-index:-2;background-image:linear-gradient(rgba(7,11,20,.22),rgba(7,11,20,.4)),var(--home-gallery-bg);background-size:cover;background-position:center;filter:blur(18px) saturate(.82);transform:scale(1.12);opacity:.62}
.home-gallery-grid .home-gallery-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,11,20,.12),rgba(7,11,20,.28));pointer-events:none}
.home-gallery-grid .gallery-card img{display:block;width:100%;height:260px;object-fit:contain;object-position:center;position:relative;z-index:1}
@media (max-width:720px){.home-gallery-grid .gallery-card{min-height:0}.home-gallery-grid .gallery-card img{height:auto;max-height:none;object-fit:contain}.home-gallery-grid .home-gallery-card::before{opacity:.35}}
@media (max-width:1100px){.gallery-columns{column-count:2}.home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.project-grid{grid-template-columns:1fr}.gallery-columns{column-count:1}.home-gallery-grid{grid-template-columns:1fr}}


.upload-field-card{display:grid;gap:12px}
.upload-field-label{font-weight:800}
.upload-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02)}
.upload-current-kicker{display:block;font-size:.78rem;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}
.upload-current-name{display:block;word-break:break-word}
.upload-thumb-link{display:inline-block}
.upload-thumb{width:100%;max-width:220px;height:124px;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.upload-thumb-wide{max-width:320px;height:180px}
.upload-thumb-empty{display:grid;place-items:center;color:var(--muted)}

/* Homepage builder + media upload + category cover gallery */
.media-upload-pro .card-body,.gallery-admin-card .card-body{display:grid;gap:18px}
.media-upload-head,.gallery-admin-head,.gallery-cover-editor{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.media-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;border:1.5px dashed rgba(255,255,255,.18);border-radius:22px;background:rgba(255,255,255,.03);text-align:center;padding:24px;cursor:pointer;transition:.25s ease}
.media-dropzone:hover,.media-dropzone.is-dragover{border-color:rgba(122,92,255,.6);background:rgba(122,92,255,.08);box-shadow:0 18px 48px rgba(122,92,255,.16)}
.media-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.media-dropzone-icon{font-size:2rem;font-weight:700;line-height:1}
.small-dropzone{min-height:120px}
.upload-progress{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.upload-progress-bar{height:100%;width:0;background:linear-gradient(135deg,var(--primary),var(--accent));transition:width .2s ease}
.media-selection-meta{color:var(--muted);font-size:.95rem}
.media-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.media-preview-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;display:grid;gap:10px}
.media-preview-thumb{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;background:#0b1020}
.gallery-admin-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.gallery-admin-image-card{display:grid;gap:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:14px}
.gallery-admin-image-thumb{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;background:#0b1020}
.gallery-cover-preview img{width:220px;max-width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 44px rgba(0,0,0,.26)}
.checkbox-inline{display:flex;align-items:center;gap:10px}.danger-inline{color:#ff9db4}
.project-grid-cover .project-card{min-height:430px}.project-grid-cover .project-card-link{min-height:430px}
.gallery-category-hero{position:relative;overflow:hidden;border-radius:28px;min-height:340px;margin:28px 0 26px;border:1px solid rgba(255,255,255,.08);box-shadow:0 26px 60px rgba(0,0,0,.28)}
.gallery-category-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery-category-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,20,.1) 5%,rgba(8,11,20,.82) 100%)}
.gallery-category-hero-content{position:relative;z-index:2;padding:34px;max-width:640px;display:flex;flex-direction:column;gap:10px;justify-content:flex-end;min-height:340px}
.gallery-shell-section .gallery-columns{column-count:3;column-gap:18px}
.gallery-shell-section .gallery-shot{display:block;break-inside:avoid;margin:0 0 18px;border-radius:22px;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.24);background:rgba(255,255,255,.04)}
.gallery-shell-section .gallery-shot img{display:block;width:100%;height:auto;transition:transform .45s ease,filter .35s ease}
.gallery-shell-section .gallery-shot:hover img{transform:scale(1.02);filter:saturate(1.06)}
.contact-highlight-card{align-self:start}
@media (max-width:1100px){.gallery-shell-section .gallery-columns{column-count:2}}
@media (max-width:720px){.media-upload-head,.gallery-admin-head,.gallery-cover-editor{flex-direction:column}.gallery-shell-section .gallery-columns{column-count:1}}


/* Cookie consent */
.cookie-consent {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 10000;
  display: none;
}
.cookie-consent.show { display: block; }
.cookie-consent-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background: rgba(11, 17, 31, .94);
  box-shadow: 0 24px 80px rgba(0,0,0,.42);
  backdrop-filter: blur(18px);
}
.cookie-consent-copy strong { display: block; margin-bottom: 6px; font-size: 1.05rem; }
.cookie-consent-copy p { margin: 0; color: var(--muted, #aebadb); max-width: 720px; }
.cookie-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.footer-cookie-settings {
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  opacity: .78;
}
.footer-cookie-settings:hover { opacity: 1; color: var(--accent, #52e7ff); }
.cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.cookie-modal.open { display: flex; }
.cookie-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.66);
  backdrop-filter: blur(10px);
}
.cookie-modal-panel {
  position: relative;
  width: min(680px, 100%);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  background: rgba(15, 23, 42, .98);
  box-shadow: 0 34px 110px rgba(0,0,0,.52);
  padding: 28px;
}
.cookie-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.1);
  font-size: 28px;
  cursor: pointer;
}
.cookie-option {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 14px 0;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.cookie-option small { display: block; margin-top: 5px; color: var(--muted, #aebadb); }
.cookie-option input { width: 22px; height: 22px; flex: 0 0 auto; }
.cookie-option.is-locked { opacity: .78; }
.cookie-modal-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
@media (max-width: 720px) {
  .cookie-consent-inner { align-items: stretch; flex-direction: column; }
  .cookie-consent-actions { justify-content: stretch; }
  .cookie-consent-actions .btn { width: 100%; }
}

/* ===== FrameRob futuristic admin refresh ===== */
.admin-layout-framerob{
  grid-template-columns:320px minmax(0,1fr);
  background:
    radial-gradient(circle at 16% 12%, rgba(255,77,166,.12), transparent 18%),
    radial-gradient(circle at 72% 8%, rgba(70,227,255,.10), transparent 18%),
    linear-gradient(180deg,#070b14,#0b1020 42%,#090d17 100%);
}
.admin-sidebar--framerob{
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
  padding:28px 22px;
  background:linear-gradient(180deg,rgba(8,12,20,.96),rgba(15,20,34,.92));
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.02);
}
.admin-sidebar-glow{position:absolute;pointer-events:none;border-radius:999px;filter:blur(50px);opacity:.45}
.admin-sidebar-glow-a{width:150px;height:150px;left:-40px;top:10px;background:rgba(255,77,166,.35)}
.admin-sidebar-glow-b{width:180px;height:180px;right:-70px;bottom:120px;background:rgba(70,227,255,.25)}
.admin-brand{position:relative;z-index:1;padding:10px 10px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-brand-mark{width:58px;height:58px;border-radius:18px;box-shadow:0 18px 40px rgba(16,24,48,.45),0 0 0 1px rgba(255,255,255,.08) inset}
.admin-brand-monogram{font-size:1.15rem;font-weight:900;letter-spacing:.04em}
.admin-brand-copy{display:grid;gap:4px}
.admin-brand-copy strong{font-size:1.1rem;line-height:1.15}
.admin-brand-copy small{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}
.admin-nav-framerob{position:relative;z-index:1;margin-top:18px;gap:9px}
.admin-nav-framerob a{
  display:flex;align-items:center;gap:14px;
  padding:14px 14px;border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  transition:.26s transform,.26s border-color,.26s box-shadow,.26s background;
}
.admin-nav-framerob a:hover{transform:translateX(4px);border-color:rgba(70,227,255,.24);background:rgba(255,255,255,.05);box-shadow:0 12px 28px rgba(0,0,0,.24)}
.admin-nav-framerob a.is-active{
  background:linear-gradient(135deg,rgba(124,92,255,.22),rgba(255,77,166,.18));
  border-color:rgba(70,227,255,.36);
  box-shadow:0 18px 38px rgba(13,17,31,.35), inset 0 0 0 1px rgba(255,255,255,.04);
}
.admin-nav-icon{
  width:36px;height:36px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.07);
  font-size:1rem;font-weight:800;flex-shrink:0;
}
.admin-nav-label{font-weight:700}
.admin-sidebar-footer{position:relative;z-index:1;margin-top:18px;padding:16px 10px 2px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}
.admin-sidebar-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text)}
.admin-content-framerob{padding:28px 28px 36px}
.dashboard-hero-card{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:22px;
  padding:28px;border-radius:32px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(16,23,38,.96),rgba(11,16,28,.96));
  box-shadow:0 30px 80px rgba(0,0,0,.34);
  margin-bottom:22px;
}
.dashboard-hero-bg{position:absolute;border-radius:999px;filter:blur(70px);opacity:.45;pointer-events:none}
.dashboard-hero-bg-a{width:260px;height:260px;right:6%;top:-8%;background:rgba(255,77,166,.26)}
.dashboard-hero-bg-b{width:280px;height:280px;left:36%;bottom:-38%;background:rgba(70,227,255,.18)}
.dashboard-hero-copy,.dashboard-hero-panel{position:relative;z-index:1}
.dashboard-hero-copy h1{font-size:clamp(2.2rem,4vw,4.6rem);line-height:1.02;margin:0 0 16px}
.admin-hero-actions{margin:22px 0 18px}
.dashboard-chip-row{display:flex;gap:12px;flex-wrap:wrap}
.dashboard-chip{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.92rem;color:#dbe7ff}
.dashboard-hero-panel{display:grid;gap:18px;align-content:start}
.dashboard-status-card{padding:18px;border-radius:24px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start}
.dashboard-status-card.has-update{border-color:rgba(255,77,166,.28);box-shadow:0 16px 34px rgba(255,77,166,.08)}
.dashboard-status-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(124,92,255,.32),rgba(70,227,255,.22));font-size:1.5rem;font-weight:900}
.dashboard-status-card p{margin:.35rem 0 0;color:var(--muted)}
.dashboard-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dashboard-meta-grid > div{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.dashboard-mini-label{display:block;font-size:.75rem;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}
.dashboard-kpi-card{position:relative;overflow:hidden;padding:22px;border-radius:28px;background:linear-gradient(180deg,rgba(19,26,41,.95),rgba(15,20,34,.96));border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(0,0,0,.24)}
.dashboard-kpi-card::after{content:"";position:absolute;right:-34px;bottom:-34px;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(70,227,255,.18),transparent 65%)}
.dashboard-kpi-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-weight:800;margin-bottom:16px}
.dashboard-kpi-value{font-size:3.25rem;line-height:1;font-weight:900;background:linear-gradient(135deg,#ffffff,#72e9ff 65%,#9d78ff);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:8px}
.dashboard-kpi-card h3{margin:0 0 8px;font-size:1.05rem}
.dashboard-kpi-card p{margin:0;color:var(--muted)}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:22px}
.dashboard-panel-card{border-radius:28px}
.dashboard-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}
.dashboard-panel-head h2{margin:0}
.dashboard-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dashboard-action-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:.25s transform,.25s border-color,.25s background}
.dashboard-action-card:hover{transform:translateY(-3px);border-color:rgba(70,227,255,.24);background:rgba(255,255,255,.05)}
.dashboard-action-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(124,92,255,.28),rgba(255,77,166,.18));border:1px solid rgba(255,255,255,.06);font-weight:900;flex-shrink:0}
.dashboard-action-card strong{display:block;margin-bottom:4px}
.dashboard-action-card p{margin:0;color:var(--muted)}
.dashboard-list-stack{display:grid;gap:12px}
.dashboard-list-item{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.dashboard-list-item strong{display:block;margin-bottom:4px}
.dashboard-list-item p{margin:0;color:var(--muted)}
.dashboard-list-meta{white-space:nowrap;font-size:.88rem;color:#dce4ff;padding-top:2px}
.dashboard-module-panel .card-body{display:grid;gap:12px}
.dashboard-module-pills{gap:10px}
.dashboard-module-pill{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:8px 12px}
@media (max-width: 1180px){
  .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-main-grid,.dashboard-hero-card{grid-template-columns:1fr}
}
@media (max-width: 980px){
  .admin-layout-framerob{grid-template-columns:1fr}
  .admin-sidebar--framerob{height:auto;position:relative}
  .dashboard-action-grid,.dashboard-meta-grid,.dashboard-kpi-grid,.dashboard-main-grid{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .admin-content-framerob{padding:18px}
  .dashboard-hero-card{padding:20px;border-radius:24px}
  .dashboard-kpi-card,.dashboard-panel-card{border-radius:22px}
  .dashboard-list-item{flex-direction:column}
}


.page-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,8,14,.92);backdrop-filter:blur(12px);z-index:9999;opacity:1;visibility:visible;transition:opacity .32s ease, visibility .32s ease}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.page-loader-mark{width:96px;height:96px;border-radius:28px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.08), rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 20px 80px rgba(124,92,255,.18),0 12px 40px rgba(0,0,0,.4);animation:pageLoaderPulse 1.45s ease-in-out infinite}
.page-loader-mark img{width:74px;height:74px;object-fit:contain;display:block;filter:drop-shadow(0 0 18px rgba(124,92,255,.22))}
.page-loader-mark span{font-size:2rem;font-weight:900;letter-spacing:.02em;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes pageLoaderPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 20px 80px rgba(124,92,255,.18),0 12px 40px rgba(0,0,0,.4)}50%{transform:scale(1.03);box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 24px 90px rgba(255,77,166,.16),0 16px 48px rgba(0,0,0,.42)}}

.auth-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 18px}
.auth-brand-mark{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03) inset;overflow:hidden}
.auth-brand-mark img{width:100%;height:100%;object-fit:contain;display:block;padding:5px}
.auth-brand-fallback{font-size:2rem;font-weight:900;letter-spacing:.02em;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-brand-copy{display:grid;gap:2px}
.auth-brand-copy strong{font-size:1.1rem}
.auth-brand-copy small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase}

/* FrameRob logo: transparent PNG stays transparent everywhere. */
.brand-mark,
.admin-brand-mark,
.auth-brand-mark,
.page-loader-mark {
  background-color: transparent;
}
.admin-brand-mark,
.auth-brand-mark {
  background-image: none;
}


/* ===== FrameRob Admin UI phase 2 ===== */
.admin-layout:not(.admin-layout-framerob){
  grid-template-columns:320px minmax(0,1fr);
  background:
    radial-gradient(circle at 14% 8%, rgba(255,77,166,.10), transparent 20%),
    radial-gradient(circle at 78% 4%, rgba(70,227,255,.09), transparent 18%),
    linear-gradient(180deg,#070b14,#0b1020 42%,#090d17 100%);
}

.admin-layout .admin-content{
  min-width:0;
  padding:34px 34px 44px;
}

.admin-layout .admin-content > h1,
.admin-layout .admin-content > .page-title-row h1,
.admin-layout .admin-content > header h1{
  margin:0;
  font-size:clamp(2.3rem,4vw,4.8rem);
  line-height:1.02;
  letter-spacing:-.045em;
  background:linear-gradient(135deg,#fff 15%,#dce6ff 58%,#8eefff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.admin-layout .admin-content > h1 + .meta,
.admin-layout .admin-content > .meta:first-of-type{
  margin:14px 0 28px;
  max-width:850px;
  color:#aab6d3;
  font-size:1rem;
}

.admin-layout .admin-content::before{
  content:"ADMIN";
  display:block;
  margin-bottom:12px;
  color:#dfe7ff;
  font-size:.82rem;
  letter-spacing:.42em;
  text-transform:uppercase;
}

.admin-layout .card{
  position:relative;
  background:
    radial-gradient(circle at 100% 0, rgba(124,92,255,.08), transparent 26%),
    linear-gradient(180deg,rgba(19,26,41,.96),rgba(13,18,30,.97));
  border:1px solid rgba(255,255,255,.085);
  border-radius:28px;
  box-shadow:0 20px 55px rgba(0,0,0,.25);
  backdrop-filter:blur(12px);
}

.admin-layout .card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.028),transparent 38%,rgba(70,227,255,.018));
}

.admin-layout .card-body{
  position:relative;
  z-index:1;
  padding:24px;
}

.admin-layout .card h2{
  margin:0 0 16px;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.15;
  letter-spacing:-.025em;
}

.admin-layout .card h3{
  margin-bottom:8px;
}

.admin-layout .form-grid,
.admin-layout form.card.form-grid{
  gap:18px;
}

.admin-layout label{
  color:#edf2ff;
  font-weight:700;
}

.admin-layout input,
.admin-layout textarea,
.admin-layout select{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(8,13,24,.92),rgba(10,16,28,.94));
  color:var(--text);
  padding:13px 15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}

.admin-layout input:hover,
.admin-layout textarea:hover,
.admin-layout select:hover{
  border-color:rgba(255,255,255,.17);
}

.admin-layout input:focus,
.admin-layout textarea:focus,
.admin-layout select:focus{
  border-color:rgba(70,227,255,.65);
  box-shadow:0 0 0 4px rgba(70,227,255,.10),0 10px 28px rgba(0,0,0,.2);
  background:rgba(8,13,24,.98);
}

.admin-layout input[type="checkbox"],
.admin-layout input[type="radio"]{
  width:auto;
  min-width:18px;
  height:18px;
  padding:0;
  accent-color:#8b67ff;
  box-shadow:none;
}

.admin-layout input[type="file"]{
  border-style:dashed;
  border-color:rgba(124,92,255,.35);
  background:linear-gradient(135deg,rgba(124,92,255,.08),rgba(70,227,255,.04));
}

.admin-layout .btn{
  min-height:44px;
  padding:11px 18px;
  border-radius:15px;
  font-weight:800;
  letter-spacing:-.01em;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}

.admin-layout .btn-primary{
  background:linear-gradient(135deg,#ff4da6 0%,#8a61ff 48%,#369dff 100%);
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 30px rgba(124,92,255,.18);
}

.admin-layout .btn-primary:hover{
  box-shadow:0 18px 38px rgba(124,92,255,.28),0 0 24px rgba(70,227,255,.10);
}

.admin-layout .btn-danger{
  background:rgba(111,24,42,.62);
  border-color:rgba(255,98,126,.24);
}

.admin-layout .btn-secondary,
.admin-layout .btn-soft,
.admin-layout .btn-ghost{
  background:rgba(255,255,255,.045);
}

.admin-layout .inline-actions{
  align-items:center;
}

.admin-layout .badge{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  color:#dfe7ff;
}

.admin-layout .alert{
  border-radius:18px;
  box-shadow:0 14px 36px rgba(0,0,0,.18);
}

.admin-layout .alert.success{
  background:linear-gradient(135deg,rgba(16,75,49,.65),rgba(11,48,42,.68));
  border-color:rgba(72,232,158,.28);
}

.admin-layout .alert.error{
  background:linear-gradient(135deg,rgba(88,22,40,.72),rgba(62,17,33,.75));
  border-color:rgba(255,96,129,.30);
}

.admin-layout details{
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(255,255,255,.025);
  overflow:hidden;
}

.admin-layout details + details{
  margin-top:12px;
}

.admin-layout summary{
  cursor:pointer;
  padding:16px 18px;
  font-weight:800;
  list-style:none;
  background:linear-gradient(90deg,rgba(124,92,255,.08),transparent);
}

.admin-layout summary::-webkit-details-marker{
  display:none;
}

.admin-layout details[open] summary{
  border-bottom:1px solid rgba(255,255,255,.07);
}

.admin-layout details > .form-grid,
.admin-layout details > .stack,
.admin-layout details > div{
  padding:18px;
}

.admin-layout .data-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
}

.admin-layout .data-table thead th{
  padding:0 14px 8px;
  color:#8fa1c7;
  font-size:.74rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-align:left;
}

.admin-layout .data-table tbody tr{
  background:rgba(255,255,255,.035);
}

.admin-layout .data-table tbody td{
  padding:14px;
  border-top:1px solid rgba(255,255,255,.065);
  border-bottom:1px solid rgba(255,255,255,.065);
}

.admin-layout .data-table tbody td:first-child{
  border-left:1px solid rgba(255,255,255,.065);
  border-radius:16px 0 0 16px;
}

.admin-layout .data-table tbody td:last-child{
  border-right:1px solid rgba(255,255,255,.065);
  border-radius:0 16px 16px 0;
}

.admin-layout .media-library-card,
.admin-layout .gallery-admin-image-card,
.admin-layout .media-preview-card{
  background:linear-gradient(180deg,rgba(19,26,41,.92),rgba(12,17,29,.94));
  border-color:rgba(255,255,255,.08);
  border-radius:22px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.admin-layout .media-library-card:hover,
.admin-layout .gallery-admin-image-card:hover,
.admin-layout .media-preview-card:hover{
  transform:translateY(-3px);
  border-color:rgba(70,227,255,.22);
  box-shadow:0 18px 36px rgba(0,0,0,.24);
}

.admin-layout .thumb-preview,
.admin-layout .thumb-preview-wide,
.admin-layout .media-thumb-wrap{
  border-color:rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}

.admin-layout .quote-card,
.admin-layout .decl-editor,
.admin-layout .gallery-admin-card{
  overflow:hidden;
}

.admin-layout .quote-filters{
  border-color:rgba(124,92,255,.18);
}

.admin-layout .optimizer-stat,
.admin-layout .optimizer-status,
.admin-layout .optimizer-row{
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.075);
}

.admin-layout .optimizer-stat strong{
  background:linear-gradient(135deg,#fff,#77eaff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.admin-layout .stack-lg{
  display:grid;
  gap:22px;
}

.admin-layout .grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.admin-layout .admin-content > form,
.admin-layout .admin-content > section,
.admin-layout .admin-content > .card,
.admin-layout .admin-content > .grid{
  margin-top:20px;
}

.admin-layout .admin-content > .alert{
  margin-top:18px;
}

@media(max-width:1180px){
  .admin-layout:not(.admin-layout-framerob){
    grid-template-columns:280px minmax(0,1fr);
  }
  .admin-layout .grid.two{
    grid-template-columns:1fr;
  }
}

@media(max-width:980px){
  .admin-layout:not(.admin-layout-framerob){
    grid-template-columns:1fr;
  }
  .admin-layout .admin-content{
    padding:24px 20px 34px;
  }
  .admin-layout .data-table{
    display:block;
    overflow-x:auto;
  }
}

@media(max-width:720px){
  .admin-layout .admin-content > h1{
    font-size:2.35rem;
  }
  .admin-layout .card{
    border-radius:22px;
  }
  .admin-layout .card-body{
    padding:19px;
  }
}


/* ===== FrameRob Admin UI phase 3: Gallery, Blog, Documents, Declarations ===== */
.admin-page-gallery .admin-content::before,
.admin-page-blog .admin-content::before,
.admin-page-documents .admin-content::before,
.admin-page-declarations .admin-content::before{color:#b9c8ef}

.admin-page-gallery .admin-content>h1,
.admin-page-blog .admin-content>h1{margin-bottom:26px}

/* Gallery */
.admin-page-gallery .gallery-admin-card{overflow:visible}
.admin-page-gallery .gallery-admin-card>.card-body{padding:28px}
.admin-page-gallery .gallery-admin-head{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.075)}
.admin-page-gallery .gallery-admin-head h2{font-size:clamp(1.45rem,2vw,2.15rem);margin-bottom:7px}
.admin-page-gallery .admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-page-gallery .admin-form-grid .full{grid-column:1/-1}
.admin-page-gallery .gallery-cover-editor{margin-top:20px;padding:18px;border-radius:22px;background:linear-gradient(135deg,rgba(124,92,255,.075),rgba(70,227,255,.03));border:1px solid rgba(255,255,255,.075)}
.admin-page-gallery .gallery-cover-preview{width:min(280px,100%);padding:8px;border-radius:20px;background:#0a0f1c;border:1px solid rgba(255,255,255,.08)}
.admin-page-gallery .gallery-cover-preview img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
.admin-page-gallery .gallery-bulk-dropzone{margin-top:18px}
.admin-page-gallery .media-dropzone.small-dropzone{min-height:150px;border-radius:22px;border:1px dashed rgba(124,92,255,.42);background:linear-gradient(135deg,rgba(124,92,255,.09),rgba(70,227,255,.04));transition:.25s transform,.25s border-color,.25s background}
.admin-page-gallery .media-dropzone.small-dropzone:hover{transform:translateY(-2px);border-color:rgba(70,227,255,.58);background:linear-gradient(135deg,rgba(124,92,255,.13),rgba(70,227,255,.065))}
.admin-page-gallery .media-dropzone-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,77,166,.28),rgba(70,227,255,.18));font-size:1.6rem;margin-bottom:8px}
.admin-page-gallery .gallery-admin-images{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin-top:18px}
.admin-page-gallery .gallery-admin-image-card{padding:12px;border-radius:22px;background:linear-gradient(180deg,rgba(20,27,43,.96),rgba(12,17,29,.97));box-shadow:0 16px 34px rgba(0,0,0,.22)}
.admin-page-gallery .gallery-admin-image-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin-bottom:10px}
.admin-page-gallery .danger-inline{color:#ff9ab0}
.admin-page-gallery .new-project-card{border-color:rgba(70,227,255,.18);background:radial-gradient(circle at 100% 0,rgba(70,227,255,.10),transparent 28%),linear-gradient(180deg,rgba(19,26,41,.96),rgba(13,18,30,.97))}
.admin-page-gallery form.stack-lg>.inline-actions{position:sticky;bottom:18px;z-index:20;padding:14px 16px;border-radius:20px;background:rgba(7,11,20,.88);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(0,0,0,.35)}

/* Blog */
.admin-page-blog #blogForm{padding:28px;border-radius:30px;gap:18px}
.admin-page-blog .admin-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-page-blog .admin-blog-grid .full{grid-column:1/-1}
.admin-page-blog .editor-pane{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-page-blog .editor-pane>.card{padding:0!important;overflow:hidden}
.admin-page-blog .editor-pane>.card>h2{padding:20px 20px 0;margin:0}
.admin-page-blog .editor-shell{padding:18px}
.admin-page-blog .editor-toolbar{position:sticky;top:10px;z-index:5;background:rgba(8,13,24,.94);backdrop-filter:blur(12px);border-color:rgba(124,92,255,.18);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.admin-page-blog .rich-editor{min-height:390px;background:linear-gradient(180deg,#08111f,#07101d);border-color:rgba(255,255,255,.085);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.admin-page-blog .blog-seo-accordion{margin-top:2px}
.admin-page-blog .admin-post-list{margin-top:28px}
.admin-page-blog .admin-post-list:before{content:"Meglévő bejegyzések";display:block;font-size:1.5rem;font-weight:850;letter-spacing:-.03em;margin:4px 0 2px}
.admin-page-blog .admin-post-row{padding:20px 22px;gap:22px}
.admin-page-blog .admin-post-row>div:first-child{min-width:0}
.admin-page-blog .admin-post-row h3{font-size:1.12rem;margin-bottom:6px}
.admin-page-blog .admin-post-meta{word-break:break-word}
.admin-page-blog .image-preview{border-radius:20px;box-shadow:0 16px 36px rgba(0,0,0,.24)}

/* Documents */
.admin-page-documents .docs-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:26px}
.admin-page-documents .docs-page-head h1{margin:0;font-size:clamp(2.4rem,4vw,4.8rem);line-height:1.02;letter-spacing:-.045em;background:linear-gradient(135deg,#fff 15%,#dce6ff 58%,#8eefff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.admin-page-documents .docs-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.6fr);gap:20px;align-items:start}
.admin-page-documents .docs-layout>.card:first-child{position:sticky;top:20px}
.admin-page-documents .docs-dropzone{min-height:230px;border-radius:24px;border:1px dashed rgba(124,92,255,.42);background:radial-gradient(circle at 50% 0,rgba(255,77,166,.11),transparent 38%),linear-gradient(135deg,rgba(124,92,255,.08),rgba(70,227,255,.035));transition:.25s transform,.25s border-color,.25s box-shadow}
.admin-page-documents .docs-dropzone:hover{transform:translateY(-2px);border-color:rgba(70,227,255,.52);box-shadow:0 18px 38px rgba(0,0,0,.20)}
.admin-page-documents .docs-dropzone__icon{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,77,166,.23),rgba(70,227,255,.15));font-size:1.75rem}
.admin-page-documents .docs-toolbar{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.07)}
.admin-page-documents .docs-search{min-width:min(360px,100%)}
.admin-page-documents .docs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.admin-page-documents .doc-card{height:100%;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(20,27,43,.96),rgba(12,17,29,.97));border:1px solid rgba(255,255,255,.075);box-shadow:0 16px 36px rgba(0,0,0,.22);transition:.25s transform,.25s border-color,.25s box-shadow}
.admin-page-documents .doc-card:hover{transform:translateY(-3px);border-color:rgba(70,227,255,.22);box-shadow:0 22px 46px rgba(0,0,0,.28)}
.admin-page-documents .doc-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#10182a,#090e19)}
.admin-page-documents .doc-body{display:flex;flex-direction:column;flex:1;gap:12px;padding:16px}
.admin-page-documents .doc-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;padding:10px 12px;border-radius:12px;background:#090e18;border:1px solid rgba(255,255,255,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-page-documents .doc-actions{margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-page-documents .doc-actions .btn{width:100%}
.admin-page-documents .doc-edit{padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}

/* Declarations */
.admin-page-declarations .decl-admin-actions:first-child{padding:4px 0 10px}
.admin-page-declarations .decl-admin-actions:first-child h1{margin:0!important;font-size:clamp(2.4rem,4vw,4.8rem);line-height:1.02;letter-spacing:-.045em;background:linear-gradient(135deg,#fff 15%,#dce6ff 58%,#8eefff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.admin-page-declarations .admin-content>.grid{grid-template-columns:minmax(290px,.7fr) minmax(0,1.65fr)!important;gap:20px!important}
.admin-page-declarations .admin-content>.grid>.card:first-child{position:sticky;top:20px}
.admin-page-declarations .decl-admin-list{display:grid;gap:10px}
.admin-page-declarations .decl-admin-row{padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:.22s transform,.22s border-color,.22s background}
.admin-page-declarations .decl-admin-row:hover{transform:translateX(3px);border-color:rgba(70,227,255,.22);background:rgba(255,255,255,.05)}
.admin-page-declarations .decl-admin-row>strong{font-size:1rem}
.admin-page-declarations .decl-editor>.card-body{padding:28px}
.admin-page-declarations .decl-editor h2{font-size:clamp(1.55rem,2vw,2.25rem)}
.admin-page-declarations .decl-editor details{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.015))}
.admin-page-declarations .decl-editor summary{display:flex;align-items:center;justify-content:space-between}
.admin-page-declarations .decl-editor summary:after{content:"＋";font-size:1.1rem;color:#8feeff}
.admin-page-declarations .decl-editor details[open] summary:after{content:"−"}
.admin-page-declarations .decl-linkbox{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(124,92,255,.10),rgba(70,227,255,.04));border:1px solid rgba(124,92,255,.20)}
.admin-page-declarations .decl-linkbox code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 12px;border-radius:12px;background:#080d17;border:1px solid rgba(255,255,255,.06)}
.admin-page-declarations .decl-submission-grid{display:grid;gap:12px}
.admin-page-declarations .decl-submission-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;border-radius:19px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.admin-page-declarations .decl-submission-row:hover{border-color:rgba(70,227,255,.20)}

@media(max-width:1180px){
  .admin-page-documents .docs-layout,
  .admin-page-declarations .admin-content>.grid{grid-template-columns:1fr!important}
  .admin-page-documents .docs-layout>.card:first-child,
  .admin-page-declarations .admin-content>.grid>.card:first-child{position:relative;top:auto}
  .admin-page-blog .editor-pane{grid-template-columns:1fr}
}
@media(max-width:820px){
  .admin-page-gallery .admin-form-grid,
  .admin-page-blog .admin-blog-grid{grid-template-columns:1fr}
  .admin-page-gallery .admin-form-grid .full,
  .admin-page-blog .admin-blog-grid .full{grid-column:auto}
  .admin-page-documents .docs-page-head,
  .admin-page-declarations .decl-admin-actions:first-child{align-items:flex-start;flex-direction:column}
  .admin-page-declarations .decl-linkbox{grid-template-columns:1fr}
  .admin-page-declarations .decl-submission-row,
  .admin-page-blog .admin-post-row{align-items:flex-start;flex-direction:column}
}

/* ===== FrameRob Blog editor alignment fix ===== */
.admin-page-blog .editor-pane{
  align-items:stretch;
}

.admin-page-blog .editor-pane>.card{
  display:grid;
  grid-template-rows:auto 1fr;
  min-width:0;
  padding:0!important;
  overflow:hidden;
}

.admin-page-blog .editor-pane>.card>h3{
  position:relative;
  z-index:2;
  margin:0!important;
  padding:20px 20px 14px;
  min-height:62px;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:linear-gradient(90deg,rgba(124,92,255,.08),rgba(70,227,255,.025));
  font-size:1.15rem;
  line-height:1.25;
}

.admin-page-blog .editor-shell{
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(390px,1fr) auto;
  gap:10px;
  padding:18px;
}

.admin-page-blog .editor-toolbar{
  position:relative;
  top:auto;
  min-height:154px;
  align-content:flex-start;
  align-items:flex-start;
  overflow:visible;
}

.admin-page-blog .editor-toolbar button,
.admin-page-blog .editor-toolbar label.editor-file-btn,
.admin-page-blog .editor-toolbar input[type="color"]{
  flex:0 0 auto;
}

.admin-page-blog .rich-editor{
  width:100%;
  min-width:0;
  min-height:390px;
  margin:0;
}

@media(max-width:1540px){
  .admin-page-blog .editor-toolbar{
    min-height:196px;
  }
}

@media(max-width:1180px){
  .admin-page-blog .editor-toolbar{
    min-height:0;
  }
}


/* ===== FrameRob dashboard v2 exact layout ===== */
.admin-dashboard-v2{grid-template-columns:248px minmax(0,1fr)!important;background:#070b14!important}
.admin-dashboard-v2 .admin-sidebar--framerob{width:248px;padding:18px 14px;height:100vh;background:linear-gradient(180deg,#060a12,#0a0f1b 72%,#080d17);border-right:1px solid rgba(255,255,255,.08)}
.admin-dashboard-v2 .admin-brand{padding:4px 6px 18px}.admin-dashboard-v2 .admin-brand-mark{width:48px;height:48px;border-radius:14px}.admin-dashboard-v2 .admin-brand-copy strong{font-size:1rem}.admin-dashboard-v2 .admin-brand-copy small{font-size:.62rem}
.admin-dashboard-v2 .admin-nav-framerob{gap:4px;margin-top:10px}.admin-dashboard-v2 .admin-nav-framerob a{padding:9px 11px;border-radius:12px;background:transparent;border-color:transparent;gap:10px}.admin-dashboard-v2 .admin-nav-framerob a:hover{transform:none;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.05)}.admin-dashboard-v2 .admin-nav-framerob a.is-active{background:linear-gradient(90deg,rgba(159,52,230,.34),rgba(0,153,255,.13));border-color:rgba(0,190,255,.5);box-shadow:0 0 24px rgba(124,92,255,.10)}
.admin-dashboard-v2 .admin-nav-icon{width:30px;height:30px;border-radius:9px;background:transparent;border:0;color:#cdd7ee}.admin-dashboard-v2 .admin-nav-label{font-size:.92rem;font-weight:650;color:#cbd4e7}
.admin-sidebar-storage{position:relative;z-index:1;margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025);display:flex;gap:12px;align-items:center}.admin-storage-ring{width:48px;height:48px;border-radius:50%;padding:4px;background:conic-gradient(#3a9bff,#864eff,#de45ce,#3a9bff);display:grid;place-items:center;flex:0 0 auto}.admin-storage-ring:before{content:"";grid-area:1/1;width:38px;height:38px;border-radius:50%;background:#0b1020}.admin-storage-ring span{grid-area:1/1;position:relative;font-size:.65rem;font-weight:900;color:#e8efff}.admin-storage-copy{min-width:0;display:grid;gap:1px}.admin-storage-copy small,.admin-storage-copy span{color:#8190b0;font-size:.67rem}.admin-storage-copy strong{font-size:.88rem}.admin-dashboard-v2 .admin-sidebar-footer{padding:10px 4px 0}
.fr-dashboard{padding:0 28px 28px!important;min-width:0;background:radial-gradient(circle at 72% -10%,rgba(14,70,120,.09),transparent 25%),#070b14}.fr-dashboard:before{display:none!important}
.fr-topbar{height:76px;display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid rgba(255,255,255,.07);margin:0 -28px;padding:0 28px;background:rgba(7,11,20,.82);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.fr-command-search{width:min(560px,48vw);height:42px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0c1220;display:flex;align-items:center;gap:10px;padding:0 12px;color:#6f7d9a}.fr-command-search input{all:unset!important;flex:1;min-width:0;color:#dbe6ff;font-size:.86rem}.fr-command-search kbd{padding:4px 7px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#0b101c;font:inherit;font-size:.68rem;color:#77849f}.fr-topbar-actions{display:flex;align-items:center;gap:18px}.fr-notification{position:relative;width:42px;height:42px;border:1px solid rgba(179,61,233,.3);border-radius:50%;display:grid;place-items:center;color:#e05af1;background:rgba(145,45,200,.08)}.fr-notification b{position:absolute;right:-2px;top:-4px;min-width:17px;height:17px;border-radius:999px;padding:0 4px;display:grid;place-items:center;background:#9b2ee3;color:white;font-size:.62rem}.fr-user-card{display:grid;grid-template-columns:40px auto 18px;align-items:center;gap:10px}.fr-user-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#e450d3,#568cff);font-weight:900;color:#fff}.fr-user-card>span:nth-child(2){display:grid}.fr-user-card strong{font-size:.83rem}.fr-user-card small{font-size:.7rem;color:#7f8ba5}.fr-user-card i{font-style:normal;color:#7b88a2}
.fr-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 2px 14px}.fr-dashboard-head h1{margin:0!important;font-size:1.5rem!important;letter-spacing:-.03em!important;background:none!important;color:#eef3ff!important}.fr-dashboard-head p{margin:4px 0 0;color:#7f8ca8;font-size:.84rem}.fr-version-chip{padding:8px 11px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#0b1120;color:#8d99b4;font-size:.72rem}
.fr-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-bottom:16px}.fr-kpi-card{position:relative;min-height:166px;padding:18px 18px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(145deg,rgba(14,20,35,.98),rgba(12,17,29,.98));overflow:hidden}.fr-kpi-card:nth-child(1){box-shadow:inset 0 0 35px rgba(151,44,234,.04)}.fr-kpi-card:nth-child(3){box-shadow:inset 0 0 35px rgba(0,210,255,.04)}.fr-kpi-label{display:block;color:#a8b4cc;font-size:.8rem;margin-bottom:4px}.fr-kpi-card>strong{display:block;font-size:1.85rem;line-height:1.1;color:#f2f6ff}.fr-kpi-card>strong.fr-kpi-size{font-size:1.5rem}.fr-kpi-meta{display:block;font-size:.68rem;color:#7990a9;margin-top:8px}.fr-kpi-card svg{position:absolute;left:16px;right:16px;bottom:10px;width:calc(100% - 32px);height:38px}.fr-kpi-card svg polyline{fill:none;stroke:#824aff;stroke-width:2}.fr-kpi-card:nth-child(2) svg polyline,.fr-kpi-card:nth-child(3) svg polyline{stroke:#20a6ff}.fr-kpi-card:nth-child(4) svg polyline{stroke:#d24fd0}.fr-kpi-card:nth-child(5) svg polyline{stroke:#ca46e8}.fr-kpi-card>i{position:absolute;right:16px;top:16px;width:34px;height:34px;border:1px solid rgba(122,72,255,.28);border-radius:8px;display:grid;place-items:center;font-style:normal;color:#6ea7ff;background:rgba(60,46,128,.08)}
.fr-dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.82fr) minmax(280px,.55fr);gap:16px;margin-bottom:16px}.fr-panel{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(145deg,#0d1423,#0a101c);padding:16px;min-width:0}.fr-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.fr-panel-head h2{font-size:.92rem!important;margin:0!important;color:#e7edfa}.fr-panel-head p{margin:4px 0 0;color:#6f7d98;font-size:.67rem}.fr-panel-head a{font-size:.7rem;color:#a568ff}.fr-panel-select{padding:6px 8px;border:1px solid rgba(255,255,255,.07);border-radius:7px;color:#8491aa;font-size:.67rem}.fr-chart-wrap{height:250px}.fr-real-chart{width:100%;height:100%;overflow:visible}.fr-chart-grid line{stroke:rgba(255,255,255,.055);stroke-width:1}.fr-real-chart text{fill:#73829e;font-size:10px}.fr-real-chart .fr-chart-value{fill:#cfd9ef;font-size:10px;font-weight:700}.fr-media-list{display:grid}.fr-media-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.055)}.fr-media-row:last-child{border-bottom:0}.fr-media-thumb{width:52px;height:36px;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#18233c,#0c1323);display:grid;place-items:center;font-size:.65rem;color:#7f92ba}.fr-media-thumb img{width:100%;height:100%;object-fit:contain;padding:2px;background:#08101d}.fr-media-copy{min-width:0;display:grid}.fr-media-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem}.fr-media-copy small,.fr-media-row time{color:#74819b;font-size:.62rem}.fr-action-list{display:grid;gap:7px}.fr-action-list a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.018)}.fr-action-list a:hover{border-color:rgba(118,76,255,.32);background:rgba(111,63,221,.055)}.fr-action-list i{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;font-style:normal;color:#bf54f1;background:rgba(118,55,185,.10)}.fr-action-list span{display:grid}.fr-action-list strong{font-size:.72rem}.fr-action-list small{color:#66748e;font-size:.61rem}
.fr-dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.72fr) minmax(300px,.82fr);gap:16px}.fr-blog-list,.fr-update-list,.fr-status-list{display:grid}.fr-blog-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05)}.fr-blog-thumb{width:54px;height:34px;border-radius:5px;overflow:hidden;background:#10192b;display:grid;place-items:center}.fr-blog-thumb img{width:100%;height:100%;object-fit:cover}.fr-blog-row span:last-child{display:grid}.fr-blog-row strong{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fr-blog-row small{font-size:.61rem;color:#72809a}.fr-status-list>div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.68rem}.fr-status-list span{color:#8795ae}.fr-status-list strong{font-weight:600;color:#aebad0}.fr-status-list i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:5px}.fr-status-list i.is-ok{background:#15d388;box-shadow:0 0 8px rgba(21,211,136,.5)}.fr-status-list i.is-warn{background:#ffae47}.fr-update-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.fr-update-item>i{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-style:normal;background:rgba(115,64,227,.12);color:#b25cf4}.fr-update-item.has-update>i{background:rgba(30,196,116,.14);color:#56e99d}.fr-update-item span{display:grid}.fr-update-item strong{font-size:.7rem}.fr-update-item small{font-size:.61rem;color:#6e7d98}.fr-search-empty{margin-top:16px;padding:18px;border:1px dashed rgba(255,255,255,.1);border-radius:10px;color:#8390a9;text-align:center}
@media(max-width:1450px){.fr-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.fr-dashboard-main-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.fr-quick-actions{grid-column:1/-1}.fr-action-list{grid-template-columns:repeat(5,minmax(0,1fr))}.fr-dashboard-bottom-grid{grid-template-columns:1fr 1fr}.fr-update-panel{grid-column:1/-1}}
@media(max-width:1100px){.admin-dashboard-v2{grid-template-columns:1fr!important}.admin-dashboard-v2 .admin-sidebar--framerob{position:relative;width:auto;height:auto}.fr-topbar{position:relative}.fr-dashboard-main-grid,.fr-dashboard-bottom-grid{grid-template-columns:1fr}.fr-quick-actions,.fr-update-panel{grid-column:auto}.fr-action-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.fr-dashboard{padding:0 16px 20px!important}.fr-topbar{height:auto;min-height:72px;margin:0 -16px;padding:12px 16px;flex-wrap:wrap}.fr-command-search{width:100%;order:2}.fr-topbar-actions{margin-left:auto}.fr-user-card>span:nth-child(2),.fr-user-card>i{display:none}.fr-dashboard-head{align-items:flex-start}.fr-kpi-row{grid-template-columns:1fr 1fr}.fr-action-list{grid-template-columns:1fr}.fr-chart-wrap{overflow-x:auto}.fr-real-chart{min-width:500px}}
@media(max-width:470px){.fr-kpi-row{grid-template-columns:1fr}}


/* FrameRob dashboard refinement: profile image + uncropped recent thumbnails */
.fr-user-avatar{
  overflow:hidden;
}
.fr-user-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.account-avatar-panel{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(124,92,255,.08),rgba(70,227,255,.035));
}

.account-avatar-preview{
  width:92px;
  height:92px;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,#e450d3,#568cff);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}

.account-avatar-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.account-avatar-preview strong{
  font-size:1.8rem;
  color:#fff;
}

.account-avatar-upload{
  align-content:center;
}

@media(max-width:720px){
  .account-avatar-panel{
    grid-template-columns:1fr;
    justify-items:start;
  }
}

.admin-nav-framerob a{position:relative}.admin-update-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#ef3340;color:#fff;font-size:.72rem;font-weight:800;line-height:1;box-shadow:0 0 0 3px rgba(239,51,64,.14),0 5px 16px rgba(239,51,64,.35)}


/* FrameRob 1.0.6 – compact, aspect-safe homepage event cards */
.event-teaser-grid{
  grid-template-columns:1fr;
  gap:22px;
}
.event-teaser-card{
  display:grid;
  grid-template-columns:minmax(320px,46%) minmax(0,1fr);
  min-height:300px;
  overflow:hidden;
}
.event-teaser-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:300px;
  overflow:hidden;
  background:rgba(7,11,20,.72);
  isolation:isolate;
}
.event-teaser-media .event-teaser-media-bg{
  position:absolute;
  inset:-26px;
  width:calc(100% + 52px);
  height:calc(100% + 52px);
  aspect-ratio:auto;
  object-fit:cover;
  filter:blur(24px) brightness(.48) saturate(.85);
  transform:scale(1.08);
  opacity:.82;
  z-index:-2;
}
.event-teaser-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,11,20,.05),rgba(7,11,20,.24));
  z-index:-1;
}
.event-teaser-media .event-teaser-media-image{
  position:relative;
  width:100%;
  height:100%;
  max-height:340px;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  z-index:1;
}
.event-teaser-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(26px,4vw,54px);
}
.event-teaser-body h3{
  margin:.35rem 0 .7rem;
}
.event-teaser-body > p:last-child{
  margin-bottom:0;
  line-height:1.7;
}
.event-teaser-card .event-status-badge,
.event-teaser-card .event-shine{
  z-index:3;
}
@media (max-width:780px){
  .event-teaser-card{
    grid-template-columns:1fr;
    min-height:0;
  }
  .event-teaser-media{
    min-height:0;
    aspect-ratio:16/10;
  }
  .event-teaser-media .event-teaser-media-image{
    max-height:none;
  }
  .event-teaser-body{
    padding:22px;
  }
}


/* FrameRob 1.0.7 – event metadata pills in the content column */
.event-teaser-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.event-teaser-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:var(--muted);
  font-size:.86rem;
  line-height:1;
}
.event-teaser-pill-status.is-featured{
  color:color-mix(in srgb,var(--accent) 78%, white);
  border-color:color-mix(in srgb,var(--accent) 34%, rgba(255,255,255,.1));
  background:color-mix(in srgb,var(--accent) 12%, rgba(255,255,255,.04));
}
.event-teaser-pill-status.is-upcoming{
  color:color-mix(in srgb,var(--secondary) 78%, white);
  border-color:color-mix(in srgb,var(--secondary) 30%, rgba(255,255,255,.1));
  background:color-mix(in srgb,var(--secondary) 10%, rgba(255,255,255,.04));
}
.event-teaser-pill-status.is-past{
  color:var(--muted);
}


/* FrameRob admin help + rich editor shared UI */
.admin-help-wrap{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
button.admin-help{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;padding:0!important;margin:0!important;border-radius:999px!important;display:inline-grid!important;place-items:center!important;vertical-align:middle;background:rgba(70,227,255,.08)!important;border:1px solid rgba(70,227,255,.28)!important;color:var(--accent)!important;font-size:.78rem!important;font-weight:900!important;line-height:1!important;cursor:help!important;box-shadow:none!important;transform:none!important;flex:0 0 22px!important}
button.admin-help:hover,button.admin-help:focus{background:rgba(70,227,255,.16)!important;border-color:rgba(70,227,255,.55)!important;color:#fff!important}
.admin-help-popover{position:fixed;z-index:99999;padding:13px 15px;border-radius:14px;background:#111a2a;border:1px solid rgba(70,227,255,.28);color:#eef4ff;font-size:.88rem;line-height:1.55;box-shadow:0 18px 48px rgba(0,0,0,.45);pointer-events:auto}

.fr-editor-card{overflow:hidden!important;padding:0!important}
.fr-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(135deg,rgba(124,92,255,.08),rgba(70,227,255,.025))}
.fr-editor-head h3{margin:0!important;font-size:1.08rem}
.fr-editor-hint{color:var(--muted);font-size:.82rem}
.editor-shell{display:grid;gap:12px;padding:16px;background:rgba(255,255,255,.018)}
.editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(7,11,20,.82);position:sticky;top:10px;z-index:5;backdrop-filter:blur(14px);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.editor-toolbar-group{display:inline-flex;align-items:center;gap:6px;padding-right:8px;margin-right:2px;border-right:1px solid rgba(255,255,255,.09)}
.editor-toolbar-group:last-child{padding-right:0;margin-right:0;border-right:0}
.editor-toolbar button,.editor-toolbar label.editor-file-btn,.editor-toolbar input[type=color]{min-height:38px!important;height:38px!important;width:auto!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.055)!important;color:var(--text)!important;padding:0 10px!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font:inherit!important;box-shadow:none!important;transform:none!important;margin:0!important}
.editor-toolbar button:hover,.editor-toolbar label.editor-file-btn:hover{border-color:rgba(70,227,255,.38)!important;background:rgba(70,227,255,.09)!important}
.editor-toolbar button.is-active{border-color:var(--accent)!important;background:linear-gradient(135deg,rgba(70,227,255,.2),rgba(124,92,255,.18))!important;color:#fff!important}
.editor-toolbar .editor-file-btn input{display:none!important}
.editor-toolbar input[type=color]{width:42px!important;padding:4px!important}
.editor-toolbar .fr-tool-label{display:none}
.rich-editor{min-height:380px;padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.085);background:linear-gradient(180deg,#08111f,#07101d);color:var(--text);line-height:1.78;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.rich-editor:focus{border-color:rgba(70,227,255,.45);box-shadow:0 0 0 3px rgba(70,227,255,.08),inset 0 1px 0 rgba(255,255,255,.025)}
.rich-editor:empty:before{content:attr(data-placeholder);color:rgba(190,201,224,.45);pointer-events:none}
.rich-editor img{max-width:100%;height:auto;border-radius:16px;margin:14px 0;display:block;cursor:pointer;box-shadow:0 16px 36px rgba(0,0,0,.22)}
.rich-editor img.editor-selected-image{outline:3px solid var(--accent);outline-offset:4px}
.rich-editor img.blog-img-small{width:32%;max-width:320px}.rich-editor img.blog-img-medium{width:50%;max-width:560px}.rich-editor img.blog-img-large{width:75%;max-width:860px}.rich-editor img.blog-img-full{width:100%}
.rich-editor img.blog-img-left{margin-left:0;margin-right:auto}.rich-editor img.blog-img-center{margin-left:auto;margin-right:auto}.rich-editor img.blog-img-right{margin-left:auto;margin-right:0}
.rich-editor h2,.rich-editor h3{margin:22px 0 10px}.rich-editor p{margin:0 0 14px}.rich-editor blockquote{margin:18px 0;padding:12px 18px;border-left:3px solid var(--accent);background:rgba(70,227,255,.055);border-radius:0 12px 12px 0;color:#dfe8fb}
.fr-copy-images{border-color:rgba(124,92,255,.3)!important;background:rgba(124,92,255,.1)!important}

@media(max-width:760px){.editor-toolbar{position:relative;top:auto}.editor-toolbar-group{border-right:0;padding-right:0}.editor-toolbar .fr-tool-label{display:none}.rich-editor{min-height:300px;padding:18px}}


/* FrameRob 1.0.13 – publikus rich content képméretek */
.story-body img{
  max-width:100%;
  height:auto;
  display:block;
  border-radius:16px;
  margin:18px 0;
}
.story-body img.blog-img-small{width:32%;max-width:320px}
.story-body img.blog-img-medium{width:50%;max-width:560px}
.story-body img.blog-img-large{width:75%;max-width:860px}
.story-body img.blog-img-full{width:100%}
.story-body img.blog-img-left{margin-left:0;margin-right:auto}
.story-body img.blog-img-center{margin-left:auto;margin-right:auto}
.story-body img.blog-img-right{margin-left:auto;margin-right:0}

/* FrameRob 1.0.13 – lenyíló publikus menü */
.site-nav-item{position:relative;display:flex;align-items:center}
.site-nav-item>a,.site-nav-group-label{display:inline-flex;align-items:center}
.site-nav-group-label{color:var(--text);cursor:default}
.site-submenu-toggle{
  border:0;
  background:transparent;
  color:var(--muted);
  padding:5px 3px 5px 7px;
  cursor:pointer;
  line-height:1;
  font-size:.8rem;
}
.site-submenu{
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  z-index:40;
  min-width:220px;
  padding:8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:color-mix(in srgb,var(--bg-alt) 94%, transparent);
  box-shadow:0 18px 50px rgba(0,0,0,.38);
  backdrop-filter:blur(16px);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:.2s opacity,.2s transform,.2s visibility;
}
.site-submenu a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  white-space:nowrap;
}
.site-submenu a:hover{background:rgba(255,255,255,.06);transform:none}
.site-nav-item:hover>.site-submenu,
.site-nav-item:focus-within>.site-submenu,
.site-nav-item.submenu-open>.site-submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.menu-manager-heading{margin-bottom:22px}
.menu-manager-card{display:block;padding:28px}
.menu-manager-info{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 16px;
  margin-bottom:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.menu-manager-info strong{white-space:nowrap}
.menu-manager-info span{color:var(--muted);line-height:1.5}
.menu-manager-list{display:grid;gap:12px}
.menu-manager-row{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(520px,1.6fr);
  gap:24px;
  align-items:center;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.menu-manager-page{min-width:0}
.menu-manager-page strong{display:block;font-size:1.05rem}
.menu-manager-page small{display:block;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
.menu-manager-controls{
  display:grid;
  grid-template-columns:130px minmax(220px,1fr) 110px;
  gap:14px;
  align-items:end;
}
.menu-manager-control{margin:0;min-width:0}
.menu-manager-control select,.menu-manager-control input{width:100%}
.menu-manager-visible{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:6px}
.menu-manager-label{font-weight:700}
.menu-manager-actions{display:flex;justify-content:flex-end;margin-top:18px}

@media(max-width:1180px){
  .menu-manager-row{grid-template-columns:1fr;gap:16px}
}
@media(max-width:760px){
  .menu-manager-card{padding:18px}
  .menu-manager-info{display:block}
  .menu-manager-info strong{display:block;margin-bottom:6px}
  .menu-manager-controls{grid-template-columns:1fr}
  .menu-manager-visible{padding-bottom:0}
  .menu-manager-actions .btn{width:100%}
}
@media(max-width:760px){
  .story-body img.blog-img-small,
  .story-body img.blog-img-medium,
  .story-body img.blog-img-large{width:100%;max-width:100%}
  .site-nav-item{display:block;width:100%}
  .site-nav-item>a{display:inline-flex}
  .site-submenu-toggle{float:right;padding:8px 12px;font-size:1rem}
  .site-submenu{
    position:static;
    display:none;
    min-width:0;
    margin:6px 0 4px 12px;
    padding:4px 0 4px 12px;
    border:0;
    border-left:1px solid rgba(255,255,255,.12);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .site-nav-item.submenu-open>.site-submenu{display:block}
}


/* FrameRob 1.0.15 – teljes Menükezelő */
.menu-group-create{margin-bottom:18px}
.menu-group-create .section-head{margin-bottom:16px}
.menu-group-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end}
.menu-group-form label{margin:0}
.menu-manager-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.menu-type-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(124,92,255,.13);color:#c9c0ff;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.menu-manager-row.is-group{border-color:rgba(70,227,255,.18);background:rgba(70,227,255,.035)}
.menu-manager-row.is-disabled{opacity:.62}
.menu-disabled-note{display:inline-block;margin-top:8px;color:#ffb2c8;font-size:.78rem;font-weight:700}
.menu-manager-row.is-group .menu-manager-controls{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 110px auto}
.menu-manager-delete{display:flex;align-items:end;padding-bottom:2px}
.btn-small{padding:10px 13px;font-size:.82rem}
.site-nav-item.is-menu-group>.site-nav-group-label{font-weight:inherit}
@media(max-width:1180px){.menu-manager-row.is-group .menu-manager-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.menu-group-form,.menu-manager-row.is-group .menu-manager-controls{grid-template-columns:1fr}.menu-group-form .btn,.menu-manager-delete .btn{width:100%}.site-nav-group-label{display:inline-flex}}
