/* AI-Smart galéria 2.1 */
.dfg{--dfg-acc:#555}
.dfg,.dfg-grid{width:100%;min-width:0;box-sizing:border-box}.dfg *{box-sizing:border-box}
.elementor-widget-shortcode:has(.dfg),.elementor-widget-ai-smart-galeria{width:100%;align-self:stretch}
.dfg-item{position:relative;margin:0;max-width:100%;overflow:hidden;border-radius:var(--dfg-radius,12px);background:#eee}
.dfg-a{display:block;width:100%;overflow:hidden;border-radius:inherit}
a.dfg-lbl{cursor:zoom-in}.dfg-nolb{cursor:default}
.dfg-img{display:block;width:100%!important;height:auto!important;max-width:100%!important;transition:transform .5s ease,filter .4s ease}
/* sorkitöltő (JS állítja a méreteket; fallback: flex-grow = képarány) */
.dfg-l-justified .dfg-grid{display:flex;flex-wrap:wrap;gap:var(--dfg-gap,10px)}
.dfg-l-justified .dfg-a{aspect-ratio:var(--r)}.dfg-l-justified .dfg-img{height:100%!important;object-fit:contain}
/* kőfal */
.dfg-l-masonry .dfg-grid{display:block;columns:var(--dfg-cols,3);column-gap:var(--dfg-gap,10px)}
.dfg-l-masonry .dfg-item{break-inside:avoid;margin-bottom:var(--dfg-gap,10px);display:block}
/* rács (vágással) */
.dfg-l-racs .dfg-grid{display:grid;grid-template-columns:repeat(var(--dfg-cols,3),1fr);gap:var(--dfg-gap,10px)}
.dfg-l-racs .dfg-a{aspect-ratio:var(--dfg-ar,1)}.dfg-l-racs .dfg-img{height:100%!important;object-fit:cover}
/* felirat */
.dfg-cap{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 10px;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:opacity .3s;pointer-events:none}
.dfg-cap .dfg-t{margin:0!important;color:#fff!important;font-size:15px;line-height:1.3!important;font-weight:400;letter-spacing:0;text-transform:none}
.dfg-cap-hover .dfg-item:hover .dfg-cap,.dfg-cap-hover .dfg-item:focus-within .dfg-cap,.dfg-cap-mindig .dfg-cap{opacity:1}
.dfg-cap-alatta .dfg-item{background:transparent;overflow:visible}.dfg-cap-alatta .dfg-cap{position:static;opacity:1;background:none;padding:8px 2px 2px}.dfg-cap-alatta .dfg-cap .dfg-t{color:inherit!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}
.dfg-cap-rejtett .dfg-cap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;opacity:0}
/* egér-effekt */
.dfg-h-zoom .dfg-item:hover .dfg-img{transform:scale(1.03)}.dfg-h-bright .dfg-item:hover .dfg-img{filter:brightness(1.1)}
/* beúszás */
.dfg-anim .dfg-item{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.dfg-anim .dfg-item.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.dfg-anim .dfg-item{opacity:1;transform:none;transition:none}.dfg-img{transition:none}}
/* fülek és gombok */
.dfg-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 16px}
.dfg-tab,.dfg-more{background:transparent;border:1px solid var(--dfg-acc);color:#373636;border-radius:10px;padding:7px 16px;font-size:13px;cursor:pointer;transition:.2s;font-family:inherit}
.dfg-tab:hover,.dfg-tab.is-on,.dfg-more:hover,.dfg-tab:focus,.dfg-more:focus,.dfg-tab:active,.dfg-more:active{background:var(--dfg-acc);color:#fff;box-shadow:none}
.dfg-tab:focus-visible,.dfg-more:focus-visible{outline:2px solid var(--dfg-acc);outline-offset:2px}
.dfg .dfg-more-w{text-align:center;margin:14px 0 0!important;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.dfg-more-w[hidden]{display:none}
.dfg-more[hidden],.dfg-end[hidden]{display:none}.dfg-end{font-size:14px;color:#6e6258}
@media(max-width:767px){.dfg-l-masonry .dfg-grid{columns:var(--dfg-cols-m,2);column-gap:var(--dfg-gap-m,6px)}.dfg-l-masonry .dfg-item{margin-bottom:var(--dfg-gap-m,6px)}
.dfg-l-racs .dfg-grid{grid-template-columns:repeat(var(--dfg-cols-m,2),1fr);gap:var(--dfg-gap-m,6px)}.dfg-cap-hover .dfg-cap{display:none}}
/* nagyító */
.dfg-lb{position:fixed;inset:0;z-index:1000001;background:rgba(15,12,10,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:pan-y;outline:0}
.dfg-lb-stage{flex:1;width:100%;display:flex;align-items:center;justify-content:center;min-height:0;padding:56px 70px 8px}
.dfg-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5);opacity:0;transition:opacity .25s}.dfg-lb .dfg-lb-stage img.is-on{opacity:1}.dfg-lb .dfg-th img{opacity:1}
.dfg-lb button,.dfg-lb .dfg-dl{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:22px;line-height:44px;text-align:center;cursor:pointer;text-decoration:none;padding:0}
.dfg-lb button:hover,.dfg-lb .dfg-dl:hover{background:rgba(255,255,255,.25)}
.dfg-lb-tools{position:absolute;top:12px;right:12px;display:flex;gap:8px}
.dfg-p,.dfg-n{position:absolute;top:50%;transform:translateY(-50%)}.dfg-p{left:14px}.dfg-n{right:14px}
.dfg-lb-cap{color:#ddd;font-size:14px;padding:6px 20px;text-align:center;min-height:30px}
.dfg-lb-th{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:6px 12px 12px;scrollbar-width:thin}
.dfg-lb .dfg-th{width:64px;height:48px;border-radius:6px;flex:0 0 auto;padding:0;overflow:hidden;opacity:.5;background:#222}
.dfg-lb .dfg-th img{width:100%;height:100%;object-fit:cover;opacity:1;box-shadow:none;border-radius:0}.dfg-lb .dfg-th.is-on,.dfg-lb .dfg-th:hover{opacity:1;outline:2px solid #fff}
@media(max-width:767px){.dfg-lb-stage{padding:56px 8px 8px}.dfg-p,.dfg-n{top:auto;bottom:86px;transform:none}.dfg-lb .dfg-th{width:48px;height:36px}}
