/* einproductions.com child theme: WhatsApp buttons + gallery/lightbox. Replaces Click to Chat and Modula (2026-10-28). */

/* WhatsApp */
.ein-wa { cursor: pointer; text-decoration: none; }
.ein-wa-inline { display: inline-block; vertical-align: middle; line-height: 0; }
.ein-wa-float { position: fixed; bottom: 15px; right: 15px; z-index: 99999999; display: flex; align-items: center; justify-content: center; }
.ein-wa-cta { display: none; padding: 0 16px; margin: 0 10px; line-height: 1.6; font-size: 15px; white-space: nowrap; background: #25D366; color: #fff; border-radius: 10px; transform-origin: right center; }
@media (hover: hover) {
	.ein-wa-float:hover .ein-wa-cta, .ein-wa-float:focus-visible .ein-wa-cta { display: block; animation: ein-wa-cta .12s cubic-bezier(.25, .8, .25, 1) both; }
}
@keyframes ein-wa-cta { 0% { opacity: 0; transform: translateX(6px) scaleX(.6); } 100% { opacity: 1; transform: none; } }
@media (max-width: 768px) { .ein-wa-float { bottom: 10px; right: 10px; } }

/* Gallery grid: 4:3 tiles, no gap, dark on hover */
.ein-gallery { display: grid; grid-template-columns: repeat(var(--cols, 6), 1fr); gap: 0; width: 100%; }
.ein-gallery-item { display: block; position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #000; cursor: zoom-in; }
.ein-gallery-item img { display: block; width: 100%; height: 100%; max-width: 100%; margin: 0; object-fit: cover; transition: opacity .3s; }
.ein-gallery-item:hover img, .ein-gallery-item:focus-visible img { opacity: .5; }
@media (min-width: 768px) and (max-width: 992px) { .ein-gallery { grid-template-columns: repeat(var(--cols-t, 3), 1fr); } }
@media (max-width: 768px) { .ein-gallery { grid-template-columns: repeat(var(--cols-m, 2), 1fr); } }

/* Lightbox */
.ein-lb { position: fixed; inset: 0; z-index: 100000000; display: flex; align-items: center; justify-content: center; background: rgba(24, 24, 27, .98); color: #fff; }
.ein-lb[hidden] { display: none; }
html.ein-lb-open, html.ein-lb-open body { overflow: hidden; }
.ein-lb-stage { position: absolute; inset: 48px 0 0; z-index: 1; display: flex; align-items: center; justify-content: center; }
.ein-lb-img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; opacity: 0; transition: opacity .2s; user-select: none; }
.ein-lb-img.is-loaded { opacity: 1; }
.ein-lb-count { position: absolute; z-index: 2; top: 0; left: 0; padding: 0 16px; line-height: 48px; font-size: 17px; }
.ein-lb button { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: #fff; cursor: pointer; opacity: .8; transition: opacity .15s, background-color .15s; }
.ein-lb button:hover, .ein-lb button:focus-visible { opacity: 1; }
.ein-lb-close { top: 0; right: 0; background: rgba(0, 0, 0, .45); }
.ein-lb-prev, .ein-lb-next { top: 50%; transform: translateY(-50%); border-radius: 50%; background: rgba(24, 24, 27, .65); }
.ein-lb-prev { left: 8px; }
.ein-lb-next { right: 8px; }
.ein-lb-single .ein-lb-prev, .ein-lb-single .ein-lb-next { display: none; }
.ein-lb svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
