.dcmap-modern-gallery{direction:rtl;max-width:1220px;margin:35px auto;padding:0 18px;display:grid;gap:var(--dcmap-gap);font-family:var(--dcmap-font)}
.dcmap-gallery-cols-1{grid-template-columns:1fr}.dcmap-gallery-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dcmap-gallery-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dcmap-gallery-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dcmap-gallery-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.dcmap-gallery-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.dcmap-modern-item{display:block;position:relative;overflow:hidden;border-radius:var(--dcmap-radius);background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.12);border:1px solid rgba(31,77,55,.12);isolation:isolate}
.dcmap-gallery-balanced .dcmap-modern-item{aspect-ratio:4/3}.dcmap-gallery-square .dcmap-modern-item{aspect-ratio:1/1}.dcmap-gallery-wide .dcmap-modern-item{aspect-ratio:16/9}.dcmap-gallery-portrait .dcmap-modern-item{aspect-ratio:3/4}
.dcmap-modern-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}.dcmap-modern-item:hover img{transform:scale(1.08);filter:brightness(.88) saturate(1.08)}
.dcmap-modern-item:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,77,55,0),rgba(31,77,55,.22));opacity:0;transition:.35s;z-index:2}.dcmap-modern-item:hover:before{opacity:1}
.dcmap-modern-item:after{content:"";position:absolute;inset:10px;border:2px solid transparent;border-radius:calc(var(--dcmap-radius) - 6px);transition:.35s;z-index:3}.dcmap-modern-item:hover:after{border-color:var(--dcmap-accent)}
.dcmap-modern-shine{position:absolute;top:-80%;right:-80%;width:90%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(24deg);transition:.6s;z-index:4}.dcmap-modern-item:hover .dcmap-modern-shine{right:120%}
.dcmap-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:999999;display:none;align-items:center;justify-content:center;padding:30px}.dcmap-lightbox.active{display:flex}.dcmap-lightbox img{max-width:92vw;max-height:88vh;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.45)}.dcmap-lightbox button{position:absolute;top:20px;left:25px;background:#fff;border:0;border-radius:50%;width:42px;height:42px;font-size:24px;cursor:pointer}
.dcmap-search{display:block;width:min(520px,92%);margin:15px auto 25px;padding:12px 16px;border:1px solid #ddd;border-radius:999px;direction:rtl}
.dcmap-front{direction:rtl;font-family:var(--dcmap-font);display:grid;gap:24px;margin:28px 0}
.dcmap-cols-1{grid-template-columns:1fr}.dcmap-cols-2{grid-template-columns:repeat(2,1fr)}.dcmap-cols-3{grid-template-columns:repeat(3,1fr)}.dcmap-cols-4{grid-template-columns:repeat(4,1fr)}
.dcmap-card{background:#fff;border:1px solid #e7e2df;border-radius:var(--dcmap-radius);overflow:hidden;box-shadow:0 5px 18px rgba(0,0,0,.06);transition:.25s}.dcmap-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(0,0,0,.12);border-color:var(--dcmap-primary)}
.dcmap-img{width:100%;height:260px;object-fit:cover;display:block}.dcmap-cover{height:340px}.dcmap-pdf{height:260px;display:flex;align-items:center;justify-content:center;background:#f7f4f6;color:var(--dcmap-primary);font-size:42px;font-weight:bold}
.dcmap-body{padding:18px}.dcmap-body h3{margin:0 0 10px;color:var(--dcmap-text);font-size:20px;line-height:1.6}.dcmap-desc{color:#444;font-size:15px;line-height:2}.dcmap-meta{display:flex;gap:8px;color:var(--dcmap-accent);font-size:13px;margin-bottom:10px}
.dcmap-btn{display:inline-block;margin-top:12px;background:var(--dcmap-primary);color:#fff!important;padding:10px 18px;border-radius:999px;text-decoration:none!important}
.dcmap-video{position:relative;padding-bottom:56.25%;height:0;background:#000}.dcmap-video iframe{position:absolute;inset:0;width:100%;height:100%}.dcmap-audio,.dcmap-media{width:100%;display:block}.dcmap-empty-front{padding:18px;border:1px solid #ddd;border-radius:12px;background:#fafafa}
@media(max-width:1000px){.dcmap-modern-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dcmap-front{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.dcmap-modern-gallery{grid-template-columns:1fr!important}.dcmap-front{grid-template-columns:1fr!important}}
