@import url('https://fonts.googleapis.com/css2?family=UnifrakturMaguntia&family=Open+Sans:wght@400;600;700&display=swap');

.lcf-ep-outer {
    position: relative;
    margin: 0 auto;
    background: transparent;
}

.lcf-ep-frame {
    padding: 20px 24px;
    border: 2px solid #1a5c38;
    background: transparent;
}

/* ORNAMENTS */
.lcf-ep-ornament-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 4px 0;
}
.lcf-ep-orn       { color: #1a5c38; font-size: 14px; line-height: 1; }
.lcf-ep-orn-line  { display: inline-block; width: 60px; height: 1.5px; background: #1a5c38; border-radius: 1px; }
.lcf-ep-orn-bottom { margin-bottom: 18px !important; }
.lcf-ep-orn-bottom .lcf-ep-orn-line { width: 100px; }
.lcf-ep-orn-heart { color: #1a5c38 !important; font-size: 16px !important; }

/* TITLE */
.lcf-ep-title {
    font-family: 'UnifrakturMaguntia', 'Times New Roman', serif !important;
    font-size: 46px !important;
    font-weight: 400 !important;
    color: #1a5c38 !important;
    text-align: center;
    margin: 6px 0 !important;
    line-height: 1.15 !important;
    letter-spacing: 1px;
}

/* BOTTOM BORDER */
.lcf-ep-dbl-bottom {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 16px;
}
.lcf-ep-line-thick { height: 3px; background: #1a5c38; border-radius: 1px; }
.lcf-ep-line-thin  { height: 1px;  background: #1a5c38; }

/* SWIPER OUTER */
.lcf-ep-swiper-outer {
    position: relative;
    padding: 0 0px;
}

/* ===== ARROWS — new style ===== */
.lcf-ep-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 20px;
    border: none;
    background: #1a5c38;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    padding: 0 0 2px 0;
    line-height: 1;
    box-shadow: 0 3px 12px rgba(26,92,56,0.35);
}
.lcf-ep-arrow:hover {
    background: #134830;
    transform: translateY(-50%) scale(1.08);
}
.lcf-ep-prev { left: -65px; }
.lcf-ep-next { right: -65px; }

/* SWIPER FIX */
.lcf-ep-swiper { width: 100%; overflow: hidden; }
.lcf-ep-swiper .swiper-wrapper { display: flex; align-items: stretch; }
.lcf-ep-swiper .swiper-slide   { width: 100% !important; flex-shrink: 0; height: auto; }

/* SLIDE — IMAGE LEFT, CAPTION RIGHT */
.lcf-ep-slide {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 30px !important;
    width: 100%;
    box-sizing: border-box;
}

/* IMAGE LEFT */
.lcf-ep-img-box {
    flex: 0 0 65% !important;
    min-width: 0;
    border: 3px solid #1a5c38;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: -10px 0px 14px rgba(0,0,0,0.22);
    box-sizing: border-box;
}
.lcf-ep-img-box img {
    object-fit: cover !important;
    display: block !important;
    border-radius: 20px !important;
    width: 100% !important;
}

/* CAPTION RIGHT */
.lcf-ep-caption-box {
    flex: 1 1 0% !important;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lcf-ep-caption {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.8;
    text-align: center;
    margin: 0;
}

/* DOTS */
.lcf-ep-dots {
    position: relative !important;
    bottom: auto !important;
    margin-top: 16px !important;
    text-align: center;
}
.lcf-ep-dots .swiper-pagination-bullet        { width: 9px; height: 9px; background: #a8d5bc; opacity: 1; }
.lcf-ep-dots .swiper-pagination-bullet-active { background: #1a5c38; width: 24px; border-radius: 5px; }

/* RESPONSIVE */
@media (max-width: 768px) {
    .lcf-ep-title        { font-size: 30px !important; }
    .lcf-ep-swiper-outer { padding: 0; }
    .lcf-ep-prev         { left: -16px; }
    .lcf-ep-next         { right: -16px; }
    .lcf-ep-slide        { flex-direction: column !important; }
    .lcf-ep-img-box      { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
    .lcf-ep-img-box img  { height: 200px !important; }
    .lcf-ep-caption      { font-size: 14px; }
}
@media (max-width: 480px) {
    .lcf-ep-title       { font-size: 24px !important; }
    .lcf-ep-img-box img { height: 160px !important; }
    .lcf-ep-caption     { font-size: 13px; }
    .lcf-ep-orn-bottom .lcf-ep-orn-line { width: 50px; }
}
