/* EMPRYN v0.4.1 — modern commerce sections */
.empryn-modern-rail { overflow: hidden; }
.empryn-modern-rail--soft { background: #F5F7FA; }
.empryn-modern-rail .empryn-section-intro { max-width: 620px; }
.empryn-product-rail,
.empryn-video-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(238px, 1fr);
    grid-template-rows: 1fr;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    padding: 8px 2px 20px;
}
.empryn-product-rail::-webkit-scrollbar,
.empryn-video-rail::-webkit-scrollbar { display: none; }
.empryn-product-rail { grid-auto-columns: minmax(250px, calc((100% - 54px) / 4)); }
.empryn-rail-card {
    scroll-snap-align: start;
    background: #fff;
    border: 1px solid rgba(11, 24, 42, .09);
    border-radius: 24px;
    overflow: hidden;
    min-width: 0;
    box-shadow: 0 16px 38px rgba(11, 24, 42, .06);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.empryn-rail-card:hover {
    transform: translateY(-5px);
    border-color: rgba(205, 164, 76, .35);
    box-shadow: 0 22px 50px rgba(11, 24, 42, .12);
}
.empryn-rail-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    padding: 14px;
    background: #F5F7FA;
    overflow: hidden;
}
.empryn-rail-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform .45s ease; }
.empryn-rail-card:hover .empryn-rail-card__media img { transform: scale(1.035); }
.empryn-rail-card__body { padding: 18px 18px 20px; }
.empryn-rail-card__meta { display: block; min-height: 18px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #667085; }
.empryn-rail-card__meta a { color: inherit; }
.empryn-rail-card h3 { font-size: 17px; line-height: 1.25; margin: 9px 0 18px; min-height: 42px; }
.empryn-rail-card h3 a { color: #071524; }
.empryn-rail-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.empryn-rail-card__price { font-size: 17px; font-weight: 800; color: #071524; }
.empryn-rail-card__arrow { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 999px; background: #071524; color: #fff; font-weight: 800; transition: background .2s ease, transform .2s ease; }
.empryn-rail-card__arrow:hover { background: #D6B15E; color: #071524; transform: rotate(4deg); }

.empryn-watch-shop { background: radial-gradient(circle at 85% 10%, rgba(205,164,76,.16), transparent 30%), #071524; color: #fff; }
.empryn-watch-shop .empryn-section-intro { color: rgba(255,255,255,.68); }
.empryn-video-rail { grid-auto-columns: minmax(270px, calc((100% - 54px) / 4)); }
.empryn-video-card { scroll-snap-align: start; overflow: hidden; border-radius: 26px; background: #14283E; border: 1px solid rgba(255,255,255,.11); box-shadow: 0 20px 55px rgba(0,0,0,.2); }
.empryn-video-card__media { position: relative; aspect-ratio: 9 / 16; max-height: 520px; background: #0A0A0A; overflow: hidden; }
.empryn-video-card video { display: block; width: 100%; height: 100%; object-fit: cover; }
.empryn-video-card__source { position: absolute; top: 16px; left: 16px; padding: 7px 11px; border-radius: 999px; background: rgba(7,18,31,.78); backdrop-filter: blur(10px); color: #E4C575; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.empryn-video-card__content { padding: 18px; }
.empryn-video-card__content h3 { margin: 0 0 14px; color: #fff; font-size: 17px; line-height: 1.25; }
.empryn-video-card__content > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.empryn-video-card__content span { font-weight: 800; color: #fff; }
.empryn-video-card__content a { color: #E4C575; font-size: 13px; font-weight: 800; }
.empryn-watch-waiting { padding: 42px; border: 1px dashed rgba(205,164,76,.45); border-radius: 26px; background: #F5F7FA; color: #071524; }
.empryn-watch-waiting h2 { margin: 8px 0 10px; }
.empryn-watch-waiting p { max-width: 760px; color: #667085; }
.empryn-watch-waiting code { display: inline-block; margin: 12px 6px 0 0; padding: 8px 10px; background: #fff; border-radius: 8px; font-size: 11px; }

@media (max-width: 900px) {
    .empryn-product-rail { grid-auto-columns: minmax(240px, 72vw); }
    .empryn-video-rail { grid-auto-columns: minmax(250px, 78vw); }
}
@media (max-width: 560px) {
    .empryn-rail-card { border-radius: 20px; }
    .empryn-watch-waiting { padding: 26px 22px; }
    .empryn-product-rail { grid-auto-columns: 78vw; }
    .empryn-video-rail { grid-auto-columns: 82vw; }
}

/* v0.9.3 — responsive Watch & Shop embeds (MP4, YouTube, Vimeo). */
.empryn-video-card__media > .empryn-video-embed,
.empryn-video-card__media > .empryn-video-player {
    width: 100%;
    height: 100%;
}
.empryn-video-card__media .empryn-video-embed {
    position: relative;
    width: 100%;
    height: 100%;
    background: #0A0A0A;
}
.empryn-video-card__media .empryn-video-embed iframe,
.empryn-video-card__media .empryn-video-player {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}
