:root{
    --green:#004750;
    --green-dark:#062b24;
    --orange:#f18700;
    --cream:#fbf7ef;
    --paper:#fffdfa;
    --ink:#0c241e;
    --muted:#65736e;
    --line:rgba(0,71,80,.13);
    --shadow:0 30px 90px rgba(0,35,30,.16);
    --serif:'Cormorant Garamond', Georgia, serif;
    --sans:'Inter', Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);background:var(--cream);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit}
.site-container{width:min(1320px, calc(100% - 80px));margin:0 auto}

.eyebrow,.section-label{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:900;color:var(--orange);letter-spacing:.14em;text-transform:uppercase}
.eyebrow::after,.section-label::after{content:"";width:18px;height:1px;background:var(--orange)}
.dark-btn,.light-btn,.outline-btn,.orange-outline,.route-btn,.ef-premium-btn,.ef-ghost-btn{height:56px;padding:0 26px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:.25s ease;position:relative;overflow:hidden}
.dark-btn,.ef-premium-btn{background:linear-gradient(145deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 22px 55px rgba(0,71,80,.25)}
.light-btn,.outline-btn,.ef-ghost-btn{border:1px solid rgba(0,71,80,.24);background:rgba(255,255,255,.72);color:var(--green-dark)}
.orange-outline,.route-btn{color:var(--orange);border:1px solid var(--orange);background:transparent}
.dark-btn:hover,.light-btn:hover,.outline-btn:hover,.orange-outline:hover,.route-btn:hover,.ef-premium-btn:hover,.ef-ghost-btn:hover{transform:translateY(-4px)}
.dark-btn svg,.light-btn svg,.outline-btn svg,.orange-outline svg,.route-btn svg,.ef-premium-btn svg,.ef-ghost-btn svg{width:18px;height:18px}
.dark-btn::before,.ef-premium-btn::before{content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent)}
.dark-btn:hover::before,.ef-premium-btn:hover::before{left:140%;transition:.8s ease}

/* HEADER V4 FINAL */
.efkar-header-v4{position:relative;z-index:100;background:#fffaf2;transition:.35s ease}
.efkar-header-v4.scrolled{box-shadow:0 12px 50px rgba(0,0,0,.12)}
.efkar-topbar-v4{height:38px;background:linear-gradient(90deg,#003b3f,#00545b);color:#fff;font-size:13px;font-weight:800}
.efkar-topbar-inner-v4{height:38px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.efkar-social-v4,.efkar-top-links-v4{display:flex;align-items:center;gap:15px}
.efkar-top-links-v4{justify-content:flex-end}
.efkar-social-v4 a{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);transition:.25s ease}
.efkar-social-v4 a:hover{background:var(--orange);transform:translateY(-2px)}
.efkar-social-v4 svg,.efkar-top-links-v4 svg{width:16px;height:16px}
.efkar-top-links-v4 a{display:inline-flex;align-items:center;gap:7px;color:#fff}
.efkar-top-slogan-v4{font-style:italic;white-space:nowrap}
.efkar-mainnav-v4{height:150px;background:radial-gradient(circle at 50% 0%,rgba(241,135,0,.08),transparent 36%),linear-gradient(180deg,#fffdf8 0%,#fbf7ef 100%);border-bottom:1px solid rgba(0,71,80,.10);box-shadow:0 16px 42px rgba(0,35,30,.07)}
.efkar-mainnav-inner-v4{height:150px;position:relative}
.efkar-center-logo-v4{position:absolute;left:50%;top:0;transform:translateX(-50%);width:250px;height:190px;display:flex;justify-content:center;z-index:10}
.efkar-logo-shield-v4{min-height:215px;padding:13px 18px 18px;background:#fffdf8;border-radius:0 0 44px 44px;text-align:center;box-shadow:0 26px 64px rgba(0,35,30,.18),inset 0 0 0 1px rgba(0,71,80,.08)}
.efkar-logo-shield-v4 img{width:118px;height:118px;object-fit:contain;margin:0 auto 5px;filter:drop-shadow(0 10px 14px rgba(0,0,0,.15))}
.efkar-logo-shield-v4 .brand-small{display:block;font-size:13px;font-weight:900;letter-spacing:.08em;color:var(--green);text-transform:uppercase;line-height:1}
.efkar-logo-shield-v4 strong{display:block;margin:6px 0;font-family:var(--serif);font-size:31px;line-height:.9;color:var(--orange);text-transform:uppercase}
.efkar-nav-left-v4{position:absolute;right:calc(50% + 160px);top:28px;display:grid;grid-template-columns:repeat(3,112px);gap:26px}
.efkar-nav-right-v4{position:absolute;left:calc(50% + 160px);top:28px;display:grid;grid-template-columns:repeat(3,112px);gap:26px}
.efkar-nav-left-v4 a,.efkar-nav-right-v4 a{width:112px;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--green);font-weight:900;font-size:13px;letter-spacing:.04em;text-transform:uppercase;position:relative;text-align:center;transition:.25s ease}
.efkar-nav-left-v4 a::before,.efkar-nav-right-v4 a::before{content:"";position:absolute;right:-13px;top:28px;bottom:28px;width:1px;background:rgba(0,71,80,.13)}
.efkar-nav-left-v4 a:last-child::before,.efkar-nav-right-v4 a:last-child::before{display:none}
.efkar-nav-left-v4 a::after,.efkar-nav-right-v4 a::after{content:"";position:absolute;bottom:0;left:30px;right:30px;height:3px;border-radius:99px;background:var(--orange);transform:scaleX(0);transition:.25s ease}
.efkar-nav-left-v4 a:hover,.efkar-nav-right-v4 a:hover{transform:translateY(-3px)}
.efkar-nav-left-v4 a:hover::after,.efkar-nav-right-v4 a:hover::after,.efkar-nav-left-v4 a.active::after{transform:scaleX(1)}
.efkar-nav-left-v4 svg,.efkar-nav-right-v4 svg{width:30px;height:30px;stroke-width:2.5}

/* HERO SLIDER FINAL */
.hero-premium-v3{position:relative;height:760px;min-height:760px;overflow:hidden;background:#050807}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}
.hero-slide.active{opacity:1;visibility:visible;z-index:2}
.hero-image{position:absolute;inset:0;width:100%;height:100%;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;transform:scale(1.03)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.12) 34%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.86) 100%),linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.30) 28%,rgba(0,0,0,.08) 56%,rgba(0,0,0,.46) 100%)}
.hero-content{position:relative;z-index:5;height:760px;min-height:760px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff}
.hero-content-box{max-width:760px;padding-top:34px}
.hero-label{display:inline-flex;align-items:center;gap:12px;color:var(--orange);font-size:13px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;text-shadow:0 10px 30px rgba(0,0,0,.50)}
.hero-label::after{content:"";width:36px;height:1px;background:var(--orange)}
.hero-content h1{max-width:780px;margin:0 0 22px;font-family:var(--serif);font-size:86px;line-height:.90;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:-.025em;text-shadow:0 18px 52px rgba(0,0,0,.58)}
.hero-content h1::after{content:"";display:block;width:72px;height:3px;margin-top:22px;background:var(--orange);border-radius:99px}
.hero-content p{max-width:650px;margin:0;color:rgba(255,255,255,.90);font-size:18px;line-height:1.8;text-shadow:0 10px 32px rgba(0,0,0,.45)}
.hero-actions{margin-top:34px;display:flex;gap:18px;flex-wrap:wrap}
.hero-btn-primary,.hero-btn-secondary{height:60px;padding:0 30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:11px;font-size:13px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;transition:.25s ease;position:relative;overflow:hidden}
.hero-btn-primary{background:linear-gradient(145deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 24px 58px rgba(0,35,30,.38)}
.hero-btn-secondary{color:#fff;border:1px solid rgba(255,255,255,.46);background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.hero-btn-primary:hover,.hero-btn-secondary:hover{transform:translateY(-4px)}
.hero-btn-primary svg,.hero-btn-secondary svg{width:18px;height:18px}
.hero-slider-arrow{all:unset;position:absolute;top:50%;transform:translateY(-50%);z-index:30;width:64px;height:64px;border-radius:50%;background:rgba(0,71,80,.88);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.36);transition:.25s ease}
.hero-slider-arrow:hover{transform:translateY(-50%) scale(1.08);background:var(--orange)}
.hero-slider-prev{left:38px}.hero-slider-next{right:38px}
.hero-slider-arrow svg{width:30px;height:30px;stroke-width:2.4}
.hero-slider-dots{position:absolute;z-index:30;left:50%;bottom:98px;transform:translateX(-50%);display:flex;align-items:center;gap:12px}
.hero-slider-dots button{all:unset;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.72);cursor:pointer;transition:.25s ease}
.hero-slider-dots button.active{width:36px;border-radius:99px;background:var(--orange)}

/* FLOATING MENU FINAL */
.floating-menu{position:relative;z-index:40;margin-top:-62px;min-height:118px;padding:14px;background:rgba(255,253,250,.96);border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 34px 90px rgba(0,35,30,.18),inset 0 0 0 1px rgba(0,71,80,.06);display:grid;grid-template-columns:repeat(4,1fr) 1.15fr;gap:10px;align-items:stretch}
.floating-menu a{min-height:92px;padding:18px 20px;border-radius:18px;display:flex;align-items:center;gap:16px;color:var(--ink);background:rgba(255,255,255,.62);border:1px solid rgba(0,71,80,.07);transition:.25s ease}
.floating-menu a:hover{transform:translateY(-5px);background:#fff;box-shadow:0 20px 45px rgba(0,35,30,.12)}
.floating-menu svg{width:54px;height:54px;padding:14px;border-radius:50%;background:linear-gradient(180deg,#f4efe6,#fffaf2);color:var(--green);flex-shrink:0;box-shadow:0 12px 28px rgba(0,35,30,.08),inset 0 0 0 1px rgba(0,71,80,.08)}
.floating-menu span{display:block;font-weight:950;color:var(--ink);font-size:14px;line-height:1.15;letter-spacing:.04em;text-transform:uppercase}
.floating-menu small{display:block;margin-top:7px;color:#65736e;font-size:12px;line-height:1.35}
.floating-reservation{background:linear-gradient(145deg,var(--green),var(--green-dark))!important;color:#fff!important;border:0!important;box-shadow:0 22px 52px rgba(0,71,80,.24)}
.floating-reservation span,.floating-reservation small{color:#fff!important}.floating-reservation small{opacity:.78}
.floating-reservation svg{background:rgba(255,255,255,.13);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.20)}

/* PREMIUM FRONTEND SECTIONS */
.ef-premium-story{padding:50px 0;background:radial-gradient(circle at 15% 20%,rgba(241,135,0,.10),transparent 28%),linear-gradient(180deg,#fbf7ef,#fffdf8)}
.ef-story-grid,.ef-menu-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center}
.ef-story-copy h2,.ef-menu-content h2,.ef-section-head h2{margin:18px 0;font-family:var(--serif);font-size:68px;line-height:.95;color:var(--green-dark)}
.ef-story-copy p,.ef-menu-content p,.ef-section-head p{max-width:620px;color:#52625d;font-size:17px;line-height:1.9}
.ef-story-actions{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap}
.ef-story-visual,.ef-menu-photo{position:relative;border-radius:34px;overflow:hidden;box-shadow:0 40px 110px rgba(0,35,30,.22)}
.ef-story-visual img,.ef-menu-photo img{width:100%;height:560px;object-fit:cover;transition:transform .9s ease}
.ef-story-visual:hover img,.ef-menu-photo:hover img{transform:scale(1.08)}
.ef-floating-badge{position:absolute;left:30px;bottom:30px;padding:22px 28px;border-radius:22px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(0,0,0,.20)}
.ef-floating-badge strong{display:block;font-family:var(--serif);font-size:54px;color:var(--orange);line-height:1}.ef-floating-badge span{font-weight:900;color:var(--green-dark)}
.ef-menu-showcase{padding:50px 0;background:#062b24;color:#fff;overflow:hidden}.ef-menu-content h2{color:#fff}.ef-menu-content p{color:rgba(255,255,255,.78)}
.ef-events-modern{padding:50px 0;background:linear-gradient(180deg,rgba(6,43,36,.96),rgba(0,71,80,.92)),url("../images/event-1.jpg") center/cover fixed;color:#fff}
.ef-section-head{margin-bottom:48px}.ef-events-modern .ef-section-head h2,.ef-events-modern .ef-section-head p{color:#fff}
.ef-event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px;}.ef-event-card{height:460px;position:relative;border-radius:26px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.32);transition:.35s ease}
.ef-event-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}.ef-event-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.78))}
.ef-event-card span{position:absolute;left:26px;right:26px;bottom:24px;color:#fff;font-size:32px;line-height:1.15;font-family:'Cormorant Garamond',serif;font-weight:700;z-index:3;}.ef-event-card:hover{transform:translateY(-12px)}.ef-event-card:hover img{transform:scale(1.1)}
.ef-stats-premium{padding:54px 0;background:#fffdf8}.ef-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(0,71,80,.10);border-radius:28px;background:#fff;box-shadow:0 30px 80px rgba(0,35,30,.10);overflow:hidden}
.ef-stats-grid div{padding:34px;text-align:center;border-right:1px solid rgba(0,71,80,.10)}.ef-stats-grid div:last-child{border-right:0}.ef-stats-grid strong{display:block;font-family:var(--serif);font-size:58px;color:var(--green-dark);line-height:1}.ef-stats-grid span{display:block;margin-top:8px;color:#53625e;font-weight:800}
.ef-gallery-modern{padding:110px 0 120px}.ef-gallery-masonry{display:grid;grid-template-columns:1.2fr .9fr .9fr 1.1fr;grid-auto-rows:210px;gap:18px}.ef-gallery-masonry img{width:100%;height:100%;object-fit:cover;border-radius:22px;box-shadow:0 24px 70px rgba(0,35,30,.15);transition:.4s ease}.ef-gallery-masonry img:nth-child(1){grid-row:span 2}.ef-gallery-masonry img:nth-child(4){grid-column:span 2}.ef-gallery-masonry img:hover{transform:scale(1.035);box-shadow:0 40px 100px rgba(0,35,30,.24)}

/* FOOTER */
.site-footer{background:linear-gradient(90deg,rgba(0,54,45,.98),rgba(0,71,80,.93)),url("../images/event-1.jpg") center/cover no-repeat;color:#fff}.footer-main{padding:58px 0;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:54px}.footer-brand img{width:190px;margin-bottom:16px}.footer-main h4{margin:0 0 16px;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.footer-main a,.footer-main p{display:block;color:rgba(255,255,255,.76);font-size:14px;line-height:1.8;margin:0 0 6px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:18px 0;font-size:12px;color:rgba(255,255,255,.68)}.footer-bottom .site-container{display:flex;justify-content:space-between;gap:20px}

/* REVEAL */
.reveal{opacity:0;transform:translateY(70px);transition:opacity .9s ease,transform .9s ease}.reveal.active{opacity:1;transform:none}.reveal-right{transform:translateX(80px)}.reveal-right.active{transform:none}

/* PAGE CLEAN PREMIUM V3 */
.ef-page-clean-hero{
    padding:105px 0 58px;
    background:
        radial-gradient(circle at 20% 20%,rgba(241,135,0,.10),transparent 30%),
        radial-gradient(circle at 80% 10%,rgba(0,71,80,.08),transparent 34%),
        linear-gradient(180deg,#fbf7ef,#fffdf8);
}

.ef-page-clean-hero h1{
    max-width:880px;
    margin:22px 0 22px;
    font-family:var(--serif);
    font-size:78px;
    line-height:.92;
    color:var(--green-dark);
    letter-spacing:-.025em;
}

.ef-page-clean-hero p{
    max-width:740px;
    font-size:18px;
    line-height:1.85;
    color:#52625d;
}

.ef-page-clean-body{
    padding:54px 0 120px;
    background:#fffdf8;
}

.ef-page-clean-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 360px;
    gap:74px;
    align-items:start;
}

.ef-page-main-content{
    min-width:0;
}

.ef-page-cover{
    margin-bottom:42px;
    border-radius:32px;
    overflow:hidden;
    box-shadow:0 36px 100px rgba(0,35,30,.18);
}

.ef-page-cover img{
    width:100%;
    height:520px;
    object-fit:cover;
}

.ef-page-body{
    max-width:920px;
    color:#43514c;
    font-size:18px;
    line-height:2;
}

.ef-page-body p{
    margin:0 0 24px;
}

.ef-page-body h2,
.ef-page-body h3{
    font-family:var(--serif);
    color:var(--green-dark);
    line-height:1.05;
}

.ef-page-sidebar{
    position:sticky;
    top:28px;
    display:grid;
    gap:18px;
}

.ef-sidebar-card{
    padding:28px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 24px 70px rgba(0,35,30,.10);
}

.ef-sidebar-brand{
    background:
        radial-gradient(circle at 20% 0%,rgba(241,135,0,.14),transparent 34%),
        linear-gradient(180deg,#fff,#fbf7ef);
}

.ef-sidebar-brand img{
    width:112px;
    margin-bottom:16px;
}

.ef-sidebar-card h3{
    margin:14px 0 12px;
    font-family:var(--serif);
    font-size:34px;
    line-height:1;
    color:var(--green-dark);
}

.ef-sidebar-card p{
    color:#63716c;
    line-height:1.75;
    margin:0 0 20px;
}

.ef-sidebar-link{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 0;
    color:var(--green-dark);
    font-weight:800;
    border-bottom:1px solid rgba(0,71,80,.10);
}

.ef-sidebar-link svg{
    width:18px;
    height:18px;
    color:var(--orange);
}

.ef-sidebar-social{
    display:flex;
    gap:12px;
}

.ef-sidebar-social a{
    width:44px;
    height:44px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    background:linear-gradient(145deg,var(--green),var(--green-dark));
    transition:.25s ease;
}

.ef-sidebar-social a:hover{
    background:var(--orange);
    transform:translateY(-4px);
}

.ef-sidebar-social svg{
    width:20px;
    height:20px;
}

.ef-sidebar-cta{
    background:linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
}

.ef-sidebar-cta span{
    display:block;
    color:var(--orange);
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ef-sidebar-cta strong{
    display:block;
    margin:12px 0 18px;
    font-family:var(--serif);
    font-size:36px;
    line-height:1;
}

.ef-sidebar-cta a{
    height:48px;
    padding:0 20px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    background:#fff;
    color:var(--green-dark);
    font-weight:900;
}

.ef-page-inline-video{
    margin-top:70px;
    padding:70px;
    border-radius:38px;
    background:
        radial-gradient(circle at 15% 10%,rgba(241,135,0,.12),transparent 30%),
        linear-gradient(145deg,#062b24,#003b34);
    color:#fff;
}

.ef-page-inline-video .ef-section-head h2{
    color:#fff;
}

.ef-page-video-box{
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 36px 100px rgba(0,0,0,.35);
}

.ef-page-video-box video,
.ef-page-video-box iframe{
    width:100%;
    height:520px;
    display:block;
    border:0;
    object-fit:cover;
    background:#000;
}

.ef-page-inline-gallery{
    margin-top:80px;
}

.ef-page-gallery-grid{
    margin-top:30px;
    display:grid;
    grid-template-columns:1.2fr .9fr .9fr;
    grid-auto-rows:220px;
    gap:18px;
}

.ef-gallery-lightbox-item{
    all:unset;
    display:block;
    cursor:pointer;
    overflow:hidden;
    border-radius:24px;
    box-shadow:0 24px 70px rgba(0,35,30,.15);
}

.ef-gallery-lightbox-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.45s ease;
}

.ef-gallery-lightbox-item:hover img{
    transform:scale(1.08);
}

.ef-gallery-lightbox-item:nth-child(1){
    grid-row:span 2;
}

.ef-gallery-lightbox-item:nth-child(4){
    grid-column:span 2;
}

/* LIGHTBOX */
.ef-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    background:rgba(0,12,10,.92);
    backdrop-filter:blur(12px);
    display:none;
    align-items:center;
    justify-content:center;
    padding:50px;
}

.ef-lightbox.active{
    display:flex;
}

.ef-lightbox img{
    max-width:min(1180px, 88vw);
    max-height:82vh;
    object-fit:contain;
    border-radius:24px;
    box-shadow:0 40px 140px rgba(0,0,0,.55);
}

.ef-lightbox-close,
.ef-lightbox-nav{
    all:unset;
    position:absolute;
    width:58px;
    height:58px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    cursor:pointer;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    transition:.25s ease;
}

.ef-lightbox-close:hover,
.ef-lightbox-nav:hover{
    background:var(--orange);
    transform:scale(1.06);
}

.ef-lightbox-close{
    top:28px;
    right:28px;
}

.ef-lightbox-prev{
    left:34px;
    top:50%;
    transform:translateY(-50%);
}

.ef-lightbox-next{
    right:34px;
    top:50%;
    transform:translateY(-50%);
}

.ef-lightbox-prev:hover,
.ef-lightbox-next:hover{
    transform:translateY(-50%) scale(1.06);
}

.ef-lightbox svg{
    width:28px;
    height:28px;
}

@media(max-width:1000px){
    .ef-page-clean-grid{
        grid-template-columns:1fr;
    }

    .ef-page-clean-hero h1{
        font-size:52px;
    }

    .ef-page-sidebar{
        position:relative;
        top:auto;
    }

    .ef-page-cover img{
        height:340px;
    }

    .ef-page-inline-video{
        padding:24px;
    }

    .ef-page-video-box video,
    .ef-page-video-box iframe{
        height:340px;
    }

    .ef-page-gallery-grid{
        grid-template-columns:1fr;
        grid-auto-rows:240px;
    }

    .ef-gallery-lightbox-item:nth-child(1),
    .ef-gallery-lightbox-item:nth-child(4){
        grid-row:auto;
        grid-column:auto;
    }
}

@media (max-width:1200px){

    .ef-event-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:768px){

    .ef-event-grid{
        grid-template-columns:1fr;
    }

}

/* ======================================================
   ORGANIZATION SECTION V2
====================================================== */

.organizations-section{
    padding:60px 0 70px;
}

.organizations-section .section-header{
    margin-bottom:28px;
}

.organizations-section .section-header h2{
    margin-bottom:14px;
}

.ef-event-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:30px;
}

.ef-event-card{
    position:relative;
    overflow:hidden;
    border-radius:26px;
    background:#082f2a;
    box-shadow:0 24px 70px rgba(0,0,0,.25);
    transition:.35s ease;
}

.ef-event-card:hover{
    transform:translateY(-8px);
    box-shadow:0 35px 90px rgba(0,0,0,.35);
}

.ef-event-card-image{
    height:290px;
    overflow:hidden;
}

.ef-event-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    transition:.7s ease;
}

.ef-event-card:hover .ef-event-card-image img{
    transform:scale(1.06);
}

.ef-event-card-footer{
    padding:18px 22px;
    background:linear-gradient(
        180deg,
        rgba(0,0,0,.0),
        rgba(0,0,0,.15)
    );
}

.ef-event-card span{
    display:block;
    color:#fff;
    font-size:20px;
    line-height:1.3;
    font-family:var(--serif);
    font-weight:700;
}

.ef-event-card p{
    margin-top:8px;
    color:rgba(255,255,255,.75);
    font-size:14px;
    line-height:1.6;
}

@media(max-width:1100px){

    .ef-event-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .ef-event-grid{
        grid-template-columns:1fr;
    }

    .ef-event-card-image{
        height:260px;
    }

}

/* ORGANIZATION DETAIL PAGE */
.ef-org-detail-hero{
    position:relative;
    min-height:640px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#062b24;
}

.ef-org-detail-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.04);
}

.ef-org-detail-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(0,20,17,.86),rgba(0,20,17,.38),rgba(0,20,17,.72)),
        linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.82));
}

.ef-org-detail-content{
    position:relative;
    z-index:2;
    color:#fff;
    padding-top:40px;
}

.ef-org-detail-content h1{
    max-width:850px;
    margin:22px 0;
    font-family:var(--serif);
    font-size:92px;
    line-height:.9;
    color:#fff;
    text-shadow:0 20px 60px rgba(0,0,0,.48);
}

.ef-org-detail-content p{
    max-width:720px;
    font-size:19px;
    line-height:1.85;
    color:rgba(255,255,255,.88);
}

.ef-org-detail-actions{
    margin-top:36px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.ef-org-detail-body{
    padding:110px 0;
    background:
        radial-gradient(circle at 10% 20%,rgba(241,135,0,.09),transparent 28%),
        linear-gradient(180deg,#fbf7ef,#fffdf8);
}

.ef-org-detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:80px;
    align-items:start;
}

.ef-org-detail-main h2{
    max-width:760px;
    margin:20px 0 26px;
    font-family:var(--serif);
    font-size:68px;
    line-height:.95;
    color:var(--green-dark);
}

.ef-org-detail-main p{
    max-width:860px;
    color:#4b5b56;
    font-size:18px;
    line-height:2;
}

.ef-org-feature-grid{
    margin-top:44px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.ef-org-feature-grid div{
    padding:26px;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 22px 65px rgba(0,35,30,.10);
}

.ef-org-feature-grid svg{
    width:42px;
    height:42px;
    padding:10px;
    border-radius:50%;
    color:var(--green);
    background:#f4efe6;
}

.ef-org-feature-grid strong{
    display:block;
    margin:16px 0 8px;
    color:var(--green-dark);
    font-weight:900;
    font-size:18px;
}

.ef-org-feature-grid span{
    color:#65736e;
    line-height:1.6;
}

.ef-org-sidebar{
    position:sticky;
    top:28px;
    display:grid;
    gap:20px;
}

.ef-org-sidebar-card{
    padding:30px;
    border-radius:30px;
    background:linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
    box-shadow:0 30px 90px rgba(0,35,30,.22);
}

.ef-org-sidebar-card.light{
    background:#fff;
    color:var(--green-dark);
    border:1px solid rgba(0,71,80,.10);
}

.ef-org-sidebar-card span{
    color:var(--orange);
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ef-org-sidebar-card strong{
    display:block;
    margin:14px 0;
    font-family:var(--serif);
    font-size:38px;
    line-height:1;
}

.ef-org-sidebar-card p{
    color:rgba(255,255,255,.78);
    line-height:1.75;
}

.ef-org-sidebar-card.light p{
    color:#65736e;
}

.ef-org-sidebar-card > a{
    margin-top:18px;
    height:52px;
    padding:0 20px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#fff;
    color:var(--green-dark);
    font-weight:900;
}

.ef-org-mini-link{
    margin-top:12px !important;
    width:100%;
    height:auto !important;
    padding:14px 0 !important;
    border-radius:0 !important;
    display:flex !important;
    justify-content:space-between;
    background:transparent !important;
    border-bottom:1px solid rgba(0,71,80,.10);
    color:var(--green-dark) !important;
}

@media(max-width:1000px){
    .ef-org-detail-content h1{
        font-size:54px;
    }

    .ef-org-detail-grid,
    .ef-org-feature-grid{
        grid-template-columns:1fr;
    }

    .ef-org-sidebar{
        position:relative;
        top:auto;
    }
}

/* ORGANIZATION DETAIL GALLERY */
.ef-org-gallery-section{
    padding:110px 0 130px;
    background:linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-org-gallery-grid{
    margin-top:36px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.ef-org-gallery-grid .ef-gallery-lightbox-item{
    height:280px;
    border-radius:24px;
}

.ef-org-gallery-grid .ef-gallery-lightbox-item:nth-child(1),
.ef-org-gallery-grid .ef-gallery-lightbox-item:nth-child(6){
    grid-row:span 2;
    height:auto;
}

@media(max-width:1000px){
    .ef-org-gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .ef-org-gallery-grid .ef-gallery-lightbox-item{
        height:260px;
    }
}

@media(max-width:680px){
    .ef-org-gallery-grid{
        grid-template-columns:1fr;
    }

    .ef-org-gallery-grid .ef-gallery-lightbox-item,
    .ef-org-gallery-grid .ef-gallery-lightbox-item:nth-child(1),
    .ef-org-gallery-grid .ef-gallery-lightbox-item:nth-child(6){
        height:300px;
        grid-row:auto;
    }
}

/* CONTACT PREMIUM */
.ef-contact-premium{
    padding:120px 0;
    background:
        radial-gradient(circle at 15% 20%,rgba(241,135,0,.12),transparent 28%),
        linear-gradient(180deg,#fbf7ef,#fffdf8);
}

.ef-contact-grid{
    display:grid;
    grid-template-columns:1fr 1.05fr;
    gap:72px;
    align-items:center;
}

.ef-contact-copy h2{
    margin:18px 0;
    font-family:var(--serif);
    font-size:72px;
    line-height:.92;
    color:var(--green-dark);
}

.ef-contact-copy p{
    max-width:620px;
    color:#52625d;
    font-size:18px;
    line-height:1.9;
}

.ef-contact-cards{
    margin-top:36px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

.ef-contact-card{
    padding:22px;
    border-radius:22px;
    display:flex;
    gap:16px;
    align-items:center;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 20px 60px rgba(0,35,30,.09);
    transition:.28s ease;
}

.ef-contact-card:hover{
    transform:translateY(-6px);
    box-shadow:0 30px 80px rgba(0,35,30,.15);
}

.ef-contact-card i,
.ef-contact-card svg{
    width:46px;
    height:46px;
    padding:12px;
    border-radius:50%;
    color:var(--green);
    background:#f4efe6;
    flex-shrink:0;
}

.ef-contact-card span{
    display:block;
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.ef-contact-card strong{
    display:block;
    margin-top:5px;
    color:var(--green-dark);
    font-size:16px;
    line-height:1.35;
}

.ef-contact-actions{
    margin-top:34px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.ef-contact-map{
    position:relative;
    min-height:560px;
    border-radius:36px;
    overflow:hidden;
    box-shadow:0 40px 120px rgba(0,35,30,.20);
    border:1px solid rgba(0,71,80,.10);
}

.ef-contact-map iframe{
    width:100%;
    height:560px;
    border:0;
    display:block;
    filter:saturate(.95) contrast(1.03);
}

.ef-contact-map-badge{
    position:absolute;
    left:28px;
    bottom:28px;
    padding:22px 26px;
    border-radius:22px;
    background:rgba(255,253,250,.90);
    backdrop-filter:blur(14px);
    box-shadow:0 20px 60px rgba(0,0,0,.20);
}

.ef-contact-map-badge strong{
    display:block;
    font-family:var(--serif);
    font-size:32px;
    line-height:1;
    color:var(--green-dark);
}

.ef-contact-map-badge span{
    display:block;
    margin-top:7px;
    color:#63716c;
    font-weight:800;
}

@media(max-width:1000px){
    .ef-contact-grid{
        grid-template-columns:1fr;
    }

    .ef-contact-copy h2{
        font-size:52px;
    }

    .ef-contact-map,
    .ef-contact-map iframe{
        min-height:420px;
        height:420px;
    }
}

@media(max-width:680px){
    .ef-contact-premium{
        padding:80px 0;
    }

    .ef-contact-cards{
        grid-template-columns:1fr;
    }

    .ef-contact-actions{
        flex-direction:column;
    }

    .ef-contact-actions a{
        width:100%;
    }
}

/* CONTACT PAGE PREMIUM */
.ef-contact-page{
    padding:70px 0 100px;
    background:#fffdf8;
}

.ef-contact-page-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:60px;
    align-items:stretch;
}

.ef-contact-page-info{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
}

.ef-contact-page-card{
    padding:28px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 24px 70px rgba(0,35,30,.10);
    transition:.25s ease;
}

.ef-contact-page-card:hover{
    transform:translateY(-6px);
    box-shadow:0 34px 90px rgba(0,35,30,.16);
}

.ef-contact-page-card svg{
    width:52px;
    height:52px;
    padding:13px;
    border-radius:50%;
    color:var(--green);
    background:#f4efe6;
    margin-bottom:18px;
}

.ef-contact-page-card span{
    display:block;
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.ef-contact-page-card strong{
    display:block;
    margin-top:8px;
    color:var(--green-dark);
    font-size:20px;
    line-height:1.35;
}

.ef-contact-page-map{
    min-height:620px;
    border-radius:36px;
    overflow:hidden;
    box-shadow:0 40px 120px rgba(0,35,30,.20);
}

.ef-contact-page-map iframe{
    width:100%;
    height:100%;
    min-height:620px;
    border:0;
    display:block;
}

.ef-contact-cta{
    padding:0 0 120px;
    background:#fffdf8;
}

.ef-contact-cta-box{
    padding:54px;
    border-radius:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    background:
        radial-gradient(circle at 12% 20%,rgba(241,135,0,.14),transparent 28%),
        linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
    box-shadow:0 35px 100px rgba(0,35,30,.24);
}

.ef-contact-cta-box h2{
    margin:16px 0 10px;
    font-family:var(--serif);
    font-size:58px;
    line-height:.95;
    color:#fff;
}

.ef-contact-cta-box p{
    max-width:600px;
    color:rgba(255,255,255,.78);
    font-size:17px;
    line-height:1.8;
}

.ef-contact-cta-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

@media(max-width:1000px){
    .ef-contact-page-grid{
        grid-template-columns:1fr;
    }

    .ef-contact-cta-box{
        flex-direction:column;
        align-items:flex-start;
    }

    .ef-contact-cta-actions{
        justify-content:flex-start;
    }
}

/* ACTIVE MENU FIX */
.efkar-nav-left-v4 a.active,
.efkar-nav-right-v4 a.active{
    color:var(--orange);
}

.efkar-nav-left-v4 a.active svg,
.efkar-nav-right-v4 a.active svg{
    color:var(--orange);
    stroke:var(--orange);
}

.efkar-nav-left-v4 a.active::after,
.efkar-nav-right-v4 a.active::after{
    transform:scaleX(1);
}

/* Daha yumuşak premium aktif geçiş */
.efkar-nav-left-v4 a,
.efkar-nav-right-v4 a,
.efkar-nav-left-v4 a svg,
.efkar-nav-right-v4 a svg{
    transition:.28s ease;
}

/* MENU PAGE PREMIUM */
.ef-menu-page-hero{
    padding:105px 0 70px;
    background:
        radial-gradient(circle at 20% 20%,rgba(241,135,0,.12),transparent 30%),
        radial-gradient(circle at 80% 10%,rgba(0,71,80,.09),transparent 34%),
        linear-gradient(180deg,#fbf7ef,#fffdf8);
}

.ef-menu-page-hero h1{
    margin:22px 0;
    font-family:var(--serif);
    font-size:84px;
    line-height:.9;
    color:var(--green-dark);
}

.ef-menu-page-hero p{
    max-width:700px;
    color:#52625d;
    font-size:18px;
    line-height:1.85;
}

.ef-menu-featured{
    padding:80px 0 100px;
    background:#fffdf8;
}

.ef-menu-featured-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.ef-menu-featured-card{
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 28px 80px rgba(0,35,30,.12);
    transition:.32s ease;
}

.ef-menu-featured-card:hover{
    transform:translateY(-10px);
    box-shadow:0 42px 110px rgba(0,35,30,.20);
}

.ef-menu-featured-image{
    position:relative;
    height:270px;
    overflow:hidden;
}

.ef-menu-featured-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.7s ease;
}

.ef-menu-featured-card:hover img{
    transform:scale(1.08);
}

.ef-menu-featured-image span{
    position:absolute;
    left:22px;
    top:22px;
    padding:9px 14px;
    border-radius:999px;
    background:var(--orange);
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ef-menu-featured-body{
    padding:28px;
}

.ef-menu-featured-body small{
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.ef-menu-featured-body h3{
    margin:12px 0 10px;
    font-family:var(--serif);
    font-size:38px;
    line-height:1;
    color:var(--green-dark);
}

.ef-menu-featured-body p{
    color:#65736e;
    line-height:1.7;
}

.ef-menu-featured-body strong{
    display:block;
    margin-top:18px;
    color:var(--green);
    font-size:24px;
    font-weight:950;
}

.ef-menu-list-section{
    padding:40px 0 130px;
    background:
        radial-gradient(circle at 80% 10%,rgba(241,135,0,.08),transparent 30%),
        linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-menu-category-tabs{
    position:sticky;
    top:0;
    z-index:20;
    margin-bottom:70px;
    padding:14px;
    display:flex;
    gap:10px;
    overflow-x:auto;
    background:rgba(255,253,250,.92);
    backdrop-filter:blur(16px);
    border:1px solid rgba(0,71,80,.10);
    border-radius:22px;
    box-shadow:0 24px 70px rgba(0,35,30,.10);
}

.ef-menu-category-tabs a{
    white-space:nowrap;
    padding:14px 20px;
    border-radius:14px;
    color:var(--green-dark);
    font-weight:900;
    background:#fff;
    border:1px solid rgba(0,71,80,.08);
    transition:.25s ease;
}

.ef-menu-category-tabs a:hover{
    background:var(--green);
    color:#fff;
}

.ef-menu-category-block{
    scroll-margin-top:120px;
    margin-bottom:90px;
}

.ef-menu-category-head{
    margin-bottom:34px;
}

.ef-menu-category-head h2{
    margin:16px 0 10px;
    font-family:var(--serif);
    font-size:58px;
    color:var(--green-dark);
    line-height:1;
}

.ef-menu-category-head p{
    max-width:720px;
    color:#65736e;
    line-height:1.8;
}

.ef-menu-product-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.ef-menu-product-card{
    display:grid;
    grid-template-columns:150px 1fr;
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 20px 60px rgba(0,35,30,.09);
    transition:.28s ease;
}

.ef-menu-product-card:hover{
    transform:translateY(-6px);
    box-shadow:0 30px 86px rgba(0,35,30,.16);
}

.ef-menu-product-image{
    height:150px;
    overflow:hidden;
}

.ef-menu-product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s ease;
}

.ef-menu-product-card:hover img{
    transform:scale(1.08);
}

.ef-menu-product-content{
    padding:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.ef-menu-product-content h3{
    margin:0 0 8px;
    color:var(--green-dark);
    font-size:20px;
    font-weight:950;
}

.ef-menu-product-content p{
    margin:0;
    color:#65736e;
    line-height:1.55;
    font-size:14px;
}

.ef-menu-product-content strong{
    white-space:nowrap;
    color:var(--orange);
    font-size:20px;
    font-weight:950;
}

.ef-empty-text,
.ef-empty-menu{
    padding:30px;
    border-radius:20px;
    background:#fff;
    color:#65736e;
    border:1px solid rgba(0,71,80,.10);
}

@media(max-width:1000px){
    .ef-menu-featured-grid,
    .ef-menu-product-grid{
        grid-template-columns:1fr;
    }

    .ef-menu-page-hero h1{
        font-size:54px;
    }
}

@media(max-width:680px){
    .ef-menu-product-card{
        grid-template-columns:1fr;
    }

    .ef-menu-product-image{
        height:220px;
    }

    .ef-menu-product-content{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* CONTACT MESSAGE SITE MODULE */
.ef-message-module{
    padding:70px 0 120px;
    background:#fffdf8;
}

.ef-message-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 380px;
    gap:60px;
    align-items:start;
}

.ef-message-form{
    padding:38px;
    border-radius:32px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 30px 90px rgba(0,35,30,.12);
    display:grid;
    gap:20px;
}

.ef-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.ef-message-form label{
    display:block;
    margin-bottom:8px;
    color:var(--green-dark);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ef-message-form input,
.ef-message-form textarea{
    width:100%;
    padding:17px 18px;
    border-radius:15px;
    border:1px solid rgba(0,71,80,.14);
    background:#fffdf8;
    color:var(--green-dark);
    font:inherit;
    outline:none;
}

.ef-message-form textarea{
    min-height:180px;
    resize:vertical;
}

.ef-message-form input:focus,
.ef-message-form textarea:focus{
    border-color:var(--orange);
    box-shadow:0 0 0 4px rgba(241,135,0,.10);
}

.ef-message-side-card{
    padding:34px;
    border-radius:32px;
    background:linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
    box-shadow:0 30px 90px rgba(0,35,30,.22);
}

.ef-message-side-card span,
.ef-tracking-result span{
    color:var(--orange);
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ef-message-side-card h3{
    margin:14px 0;
    font-family:var(--serif);
    font-size:42px;
    line-height:1;
}

.ef-message-side-card p{
    color:rgba(255,255,255,.78);
    line-height:1.8;
}

.ef-form-error{
    padding:16px 18px;
    border-radius:16px;
    background:#fff1f2;
    color:#be123c;
    border:1px solid #fecdd3;
}

.ef-tracking-box,
.ef-tracking-result{
    margin-top:34px;
    padding:32px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 24px 70px rgba(0,35,30,.10);
}

.ef-tracking-box span{
    color:var(--orange);
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ef-tracking-box strong{
    display:block;
    margin-top:12px;
    color:var(--green-dark);
    font-size:38px;
}

.ef-message-track-form{
    max-width:620px;
}

.ef-tracking-result h3{
    margin:12px 0 20px;
    font-family:var(--serif);
    color:var(--green-dark);
    font-size:42px;
    line-height:1;
}

.ef-reply-box{
    margin-top:24px;
    padding:22px;
    border-radius:20px;
    background:#e8f8ef;
    color:#087443;
    line-height:1.8;
}

.ef-reply-box.passive{
    background:#fff7ed;
    color:#9a3412;
}

@media(max-width:1000px){
    .ef-message-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){
    .ef-form-row{
        grid-template-columns:1fr;
    }

    .ef-message-form{
        padding:24px;
    }
}

/* CONTACT PRO COMBINED PAGE */
.ef-contact-pro-page{
    padding:64px 0 100px;
    background:#fffdf8;
}

.ef-contact-pro-grid{
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(420px, .85fr);
    gap:54px;
    align-items:start;
}

.ef-contact-pro-left{
    display:grid;
    gap:24px;
}

.ef-contact-info-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.ef-contact-form-card,
.ef-contact-track-card{
    padding:34px;
    border-radius:32px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 30px 90px rgba(0,35,30,.12);
}

.ef-contact-form-card h2{
    margin:16px 0 12px;
    font-family:var(--serif);
    color:var(--green-dark);
    font-size:48px;
    line-height:1;
}

.ef-contact-form-card p,
.ef-contact-track-card p{
    color:#65736e;
    line-height:1.75;
}

.ef-contact-pro-right{
    display:grid;
    gap:22px;
}

.ef-message-form.compact{
    margin-top:26px;
    padding:0;
    border:0;
    box-shadow:none;
    border-radius:0;
}

.ef-contact-track-card{
    background:
        radial-gradient(circle at 12% 20%,rgba(241,135,0,.12),transparent 30%),
        linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
}

.ef-contact-track-card h3{
    margin:16px 0 10px;
    font-family:var(--serif);
    font-size:38px;
    line-height:1;
    color:#fff;
}

.ef-contact-track-card p{
    color:rgba(255,255,255,.76);
}

.ef-track-mini-form{
    margin-top:22px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
}

.ef-track-mini-form input{
    height:54px;
    padding:0 18px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.10);
    color:#fff;
    outline:none;
}

.ef-track-mini-form input::placeholder{
    color:rgba(255,255,255,.60);
}

.ef-track-mini-form button{
    height:54px;
    padding:0 20px;
    border:0;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:var(--green-dark);
    font-weight:900;
    cursor:pointer;
}

.ef-contact-page-map{
    min-height:430px;
}

.ef-contact-page-map iframe{
    min-height:430px;
}

@media(max-width:1100px){
    .ef-contact-pro-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .ef-contact-info-grid,
    .ef-form-row,
    .ef-track-mini-form{
        grid-template-columns:1fr;
    }

    .ef-contact-form-card,
    .ef-contact-track-card{
        padding:24px;
    }

    .ef-contact-form-card h2{
        font-size:38px;
    }
}

/* ORGANIZATION LIST PAGE */
.ef-org-list-hero{
    padding:110px 0 78px;
    background:
        linear-gradient(90deg,rgba(0,30,26,.82),rgba(0,71,80,.62)),
        url("../images/event-1.jpg") center/cover no-repeat;
    color:#fff;
}

.ef-org-list-hero h1{
    max-width:920px;
    margin:22px 0;
    font-family:var(--serif);
    font-size:86px;
    line-height:.9;
    color:#fff;
}

.ef-org-list-hero p{
    max-width:760px;
    color:rgba(255,255,255,.86);
    font-size:18px;
    line-height:1.85;
}

.ef-org-list-section{
    padding:90px 0 130px;
    background:
        radial-gradient(circle at 15% 20%,rgba(241,135,0,.09),transparent 28%),
        linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-org-list-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.ef-org-list-card{
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 30px 90px rgba(0,35,30,.13);
    transition:.35s ease;
}

.ef-org-list-card:hover{
    transform:translateY(-10px);
    box-shadow:0 45px 120px rgba(0,35,30,.22);
}

.ef-org-list-image{
    height:370px;
    overflow:hidden;
    background:#062b24;
}

.ef-org-list-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.8s ease;
}

.ef-org-list-card:hover img{
    transform:scale(1.08);
}

.ef-org-list-body{
    padding:28px;
}

.ef-org-list-body span{
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.ef-org-list-body h2{
    margin:12px 0 12px;
    font-family:var(--serif);
    font-size:40px;
    line-height:1;
    color:var(--green-dark);
}

.ef-org-list-body p{
    color:#65736e;
    line-height:1.75;
}

.ef-org-list-body strong{
    margin-top:18px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--green);
    font-weight:900;
}

.ef-org-list-body strong svg{
    width:18px;
    height:18px;
}

@media(max-width:1100px){
    .ef-org-list-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:680px){
    .ef-org-list-hero h1{
        font-size:52px;
    }

    .ef-org-list-grid{
        grid-template-columns:1fr;
    }

    .ef-org-list-image{
        height:320px;
    }
}

/* MENU PAGE PREMIUM V2 */
.ef-menu-premium-hero{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        url("../images/menu-highlight.jpg") center/cover no-repeat,
        #062b24;
    color:#fff;
}

.ef-menu-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(0,20,17,.88),rgba(0,30,26,.48),rgba(0,20,17,.72)),
        linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.82));
}

.ef-menu-hero-content{
    position:relative;
    z-index:2;
}

.ef-menu-hero-content h1{
    max-width:860px;
    margin:22px 0;
    font-family:var(--serif);
    font-size:96px;
    line-height:.88;
    color:#fff;
    text-shadow:0 22px 60px rgba(0,0,0,.45);
}

.ef-menu-hero-content p{
    max-width:700px;
    font-size:19px;
    line-height:1.85;
    color:rgba(255,255,255,.88);
}

.ef-menu-hero-stats{
    margin-top:38px;
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.ef-menu-hero-stats div{
    min-width:150px;
    padding:20px 24px;
    border-radius:20px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(12px);
}

.ef-menu-hero-stats strong{
    display:block;
    font-family:var(--serif);
    font-size:42px;
    line-height:1;
    color:#fff;
}

.ef-menu-hero-stats span{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.74);
    font-weight:800;
}

.ef-chef-section{
    padding:100px 0;
    background:#fffdf8;
}

.ef-chef-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.ef-chef-card{
    overflow:hidden;
    border-radius:34px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 30px 90px rgba(0,35,30,.13);
    transition:.35s ease;
}

.ef-chef-card:hover{
    transform:translateY(-10px);
    box-shadow:0 46px 120px rgba(0,35,30,.22);
}

.ef-chef-image{
    position:relative;
    height:330px;
    overflow:hidden;
}

.ef-chef-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.8s ease;
}

.ef-chef-card:hover img{
    transform:scale(1.08);
}

.ef-chef-image span{
    position:absolute;
    top:22px;
    left:22px;
    padding:10px 15px;
    border-radius:999px;
    background:var(--orange);
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.ef-chef-body{
    padding:30px;
}

.ef-chef-body small,
.ef-menu-dish-body small{
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.ef-chef-body h3{
    margin:12px 0;
    font-family:var(--serif);
    font-size:42px;
    line-height:1;
    color:var(--green-dark);
}

.ef-chef-body p{
    color:#65736e;
    line-height:1.75;
}

.ef-chef-body strong{
    display:block;
    margin-top:20px;
    color:var(--green);
    font-size:26px;
    font-weight:950;
}

.ef-menu-premium-list{
    padding:70px 0 120px;
    background:
        radial-gradient(circle at 86% 6%,rgba(241,135,0,.08),transparent 30%),
        linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-menu-premium-tabs{
    position:sticky;
    top:0;
    z-index:60;
    margin-bottom:78px;
    padding:14px;
    display:flex;
    gap:12px;
    overflow-x:auto;
    background:rgba(255,253,250,.92);
    border:1px solid rgba(0,71,80,.10);
    border-radius:24px;
    backdrop-filter:blur(18px);
    box-shadow:0 24px 70px rgba(0,35,30,.12);
}

.ef-menu-premium-tabs a{
    white-space:nowrap;
    min-height:54px;
    padding:0 20px;
    border-radius:16px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--green-dark);
    background:#fff;
    border:1px solid rgba(0,71,80,.08);
    font-weight:900;
    transition:.25s ease;
}

.ef-menu-premium-tabs a:hover{
    background:var(--green);
    color:#fff;
    transform:translateY(-3px);
}

.ef-menu-premium-tabs svg{
    width:19px;
    height:19px;
}

.ef-menu-category-premium{
    scroll-margin-top:120px;
    margin-bottom:100px;
}

.ef-menu-category-title{
    margin-bottom:36px;
}

.ef-menu-category-title h2{
    margin:16px 0 10px;
    font-family:var(--serif);
    font-size:64px;
    line-height:.95;
    color:var(--green-dark);
}

.ef-menu-category-title p{
    max-width:760px;
    color:#65736e;
    line-height:1.8;
}

.ef-menu-dish-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.ef-menu-dish-card{
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 24px 70px rgba(0,35,30,.11);
    transition:.32s ease;
}

.ef-menu-dish-card:hover{
    transform:translateY(-8px);
    box-shadow:0 38px 100px rgba(0,35,30,.18);
}

.ef-menu-dish-image{
    position:relative;
    height:250px;
    overflow:hidden;
    background:#062b24;
}

.ef-menu-dish-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.7s ease;
}

.ef-menu-dish-card:hover img{
    transform:scale(1.08);
}

.ef-dish-badge{
    position:absolute;
    left:18px;
    top:18px;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(0,71,80,.92);
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ef-menu-dish-body{
    padding:24px;
    display:flex;
    flex-direction:column;
    min-height:220px;
}

.ef-menu-dish-body h3{
    margin:10px 0 10px;
    color:var(--green-dark);
    font-size:23px;
    line-height:1.15;
    font-weight:950;
}

.ef-menu-dish-body p{
    margin:0;
    color:#65736e;
    font-size:14px;
    line-height:1.65;
}

.ef-menu-dish-body strong{
    margin-top:auto;
    padding-top:18px;
    color:var(--orange);
    font-size:24px;
    font-weight:950;
}

.ef-menu-reservation-cta{
    padding:0 0 120px;
    background:#fbf7ef;
}

.ef-menu-cta-box{
    padding:58px;
    border-radius:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    background:
        radial-gradient(circle at 12% 20%,rgba(241,135,0,.14),transparent 30%),
        linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
    box-shadow:0 36px 110px rgba(0,35,30,.24);
}

.ef-menu-cta-box h2{
    margin:16px 0 10px;
    font-family:var(--serif);
    font-size:58px;
    line-height:.95;
    color:#fff;
}

.ef-menu-cta-box p{
    max-width:620px;
    color:rgba(255,255,255,.78);
    line-height:1.8;
}

.ef-menu-cta-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

@media(max-width:1100px){
    .ef-chef-grid,
    .ef-menu-dish-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .ef-menu-cta-box{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:720px){
    .ef-menu-hero-content h1{
        font-size:56px;
    }

    .ef-chef-grid,
    .ef-menu-dish-grid{
        grid-template-columns:1fr;
    }

    .ef-menu-category-title h2,
    .ef-menu-cta-box h2{
        font-size:44px;
    }

    .ef-chef-image,
    .ef-menu-dish-image{
        height:260px;
    }
}

/* MENU PRODUCT MODAL */
.js-menu-modal-item{
    cursor:pointer;
}

.ef-menu-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:40px;
    background:rgba(0,12,10,.88);
    backdrop-filter:blur(14px);
}

.ef-menu-modal.active{
    display:flex;
}

.ef-menu-modal-card{
    width:min(1050px, 94vw);
    display:grid;
    grid-template-columns:1fr .85fr;
    overflow:hidden;
    border-radius:34px;
    background:#fffdf8;
    box-shadow:0 50px 160px rgba(0,0,0,.55);
    animation:menuModalIn .28s ease both;
}

@keyframes menuModalIn{
    from{
        opacity:0;
        transform:translateY(30px) scale(.96);
    }
    to{
        opacity:1;
        transform:none;
    }
}

.ef-menu-modal-image{
    min-height:560px;
    background:#062b24;
}

.ef-menu-modal-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ef-menu-modal-content{
    padding:54px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ef-menu-modal-content span{
    color:var(--orange);
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ef-menu-modal-content h3{
    margin:18px 0 18px;
    font-family:var(--serif);
    font-size:58px;
    line-height:.95;
    color:var(--green-dark);
}

.ef-menu-modal-content p{
    color:#65736e;
    font-size:17px;
    line-height:1.85;
}

.ef-menu-modal-content strong{
    margin-top:28px;
    color:var(--green);
    font-size:34px;
    font-weight:950;
}

.ef-menu-modal-close{
    all:unset;
    position:absolute;
    top:26px;
    right:26px;
    width:58px;
    height:58px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    cursor:pointer;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.20);
    backdrop-filter:blur(10px);
    transition:.25s ease;
}

.ef-menu-modal-close:hover{
    background:var(--orange);
    transform:scale(1.06);
}

.ef-menu-modal-close svg{
    width:28px;
    height:28px;
}

@media(max-width:850px){
    .ef-menu-modal{
        padding:20px;
    }

    .ef-menu-modal-card{
        grid-template-columns:1fr;
        max-height:90vh;
        overflow:auto;
    }

    .ef-menu-modal-image{
        min-height:280px;
    }

    .ef-menu-modal-content{
        padding:32px;
    }

    .ef-menu-modal-content h3{
        font-size:38px;
    }
}

/* MENU SEARCH + ACTIVE TABS */
.ef-menu-premium-toolbar{
    position:sticky;
    top:0;
    z-index:60;
    margin-bottom:78px;
    padding:14px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:14px;
    background:rgba(255,253,250,.92);
    border:1px solid rgba(0,71,80,.10);
    border-radius:24px;
    backdrop-filter:blur(18px);
    box-shadow:0 24px 70px rgba(0,35,30,.12);
}

.ef-menu-premium-toolbar .ef-menu-premium-tabs{
    position:relative;
    top:auto;
    z-index:auto;
    margin-bottom:0;
    padding:0;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    backdrop-filter:none;
}

.ef-menu-premium-tabs a.active{
    background:var(--green);
    color:#fff;
}

.ef-menu-search{
    height:54px;
    padding:0 16px;
    border-radius:16px;
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
}

.ef-menu-search svg{
    width:19px;
    height:19px;
    color:var(--orange);
}

.ef-menu-search input{
    width:100%;
    border:0;
    outline:none;
    background:transparent;
    color:var(--green-dark);
    font:inherit;
    font-weight:700;
}

.hidden-by-search{
    display:none !important;
}

@media(max-width:900px){
    .ef-menu-premium-toolbar{
        grid-template-columns:1fr;
        top:0;
    }
}

/* GALLERY PAGE PREMIUM */
.ef-gallery-page-hero{
    padding:110px 0 80px;
    background:
        linear-gradient(90deg,rgba(0,30,26,.82),rgba(0,71,80,.58)),
        url("../images/event-2.jpg") center/cover no-repeat;
    color:#fff;
}

.ef-gallery-page-hero h1{
    max-width:900px;
    margin:22px 0;
    font-family:var(--serif);
    font-size:86px;
    line-height:.9;
    color:#fff;
}

.ef-gallery-page-hero p{
    max-width:760px;
    color:rgba(255,255,255,.86);
    font-size:18px;
    line-height:1.85;
}

.ef-gallery-page-section{
    padding:80px 0 130px;
    background:
        radial-gradient(circle at 15% 20%,rgba(241,135,0,.09),transparent 28%),
        linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-gallery-filter-bar{
    margin-bottom:42px;
    padding:14px;
    display:flex;
    gap:10px;
    overflow-x:auto;
    background:rgba(255,253,250,.92);
    border:1px solid rgba(0,71,80,.10);
    border-radius:24px;
    backdrop-filter:blur(16px);
    box-shadow:0 24px 70px rgba(0,35,30,.10);
}

.ef-gallery-filter-bar button{
    border:0;
    white-space:nowrap;
    padding:14px 20px;
    border-radius:15px;
    background:#fff;
    color:var(--green-dark);
    font-weight:900;
    cursor:pointer;
    transition:.25s ease;
}

.ef-gallery-filter-bar button:hover,
.ef-gallery-filter-bar button.active{
    background:var(--green);
    color:#fff;
}

.ef-gallery-page-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:230px;
    gap:18px;
}

.ef-gallery-page-item{
    all:unset;
    position:relative;
    overflow:hidden;
    border-radius:26px;
    cursor:pointer;
    box-shadow:0 24px 70px rgba(0,35,30,.14);
    background:#062b24;
}

.ef-gallery-page-item:nth-child(1),
.ef-gallery-page-item:nth-child(7){
    grid-row:span 2;
}

.ef-gallery-page-item:nth-child(4),
.ef-gallery-page-item:nth-child(10){
    grid-column:span 2;
}

.ef-gallery-page-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s ease;
}

.ef-gallery-page-item::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.76));
    opacity:.86;
}

.ef-gallery-page-item:hover img{
    transform:scale(1.08);
}

.ef-gallery-page-item span{
    position:absolute;
    left:22px;
    right:22px;
    bottom:20px;
    z-index:2;
    color:#fff;
}

.ef-gallery-page-item strong{
    display:block;
    font-family:var(--serif);
    font-size:28px;
    line-height:1;
}

.ef-gallery-page-item small{
    display:block;
    margin-top:7px;
    color:var(--orange);
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:11px;
}

.ef-gallery-page-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:42px;
    background:rgba(0,12,10,.90);
    backdrop-filter:blur(14px);
}

.ef-gallery-page-lightbox.active{
    display:flex;
}

.ef-gallery-page-modal{
    width:min(1180px, 92vw);
    display:grid;
    grid-template-columns:1.25fr .75fr;
    overflow:hidden;
    border-radius:34px;
    background:#fffdf8;
    box-shadow:0 50px 160px rgba(0,0,0,.55);
}

.ef-gallery-page-modal img{
    width:100%;
    height:680px;
    object-fit:cover;
    background:#062b24;
}

.ef-gallery-page-modal div{
    padding:52px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ef-gallery-page-modal h3{
    margin:18px 0 16px;
    font-family:var(--serif);
    color:var(--green-dark);
    font-size:52px;
    line-height:1;
}

.ef-gallery-page-modal p{
    color:#65736e;
    line-height:1.8;
}

.ef-gallery-page-close,
.ef-gallery-page-nav{
    all:unset;
    position:absolute;
    width:58px;
    height:58px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    cursor:pointer;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.20);
    backdrop-filter:blur(10px);
    transition:.25s ease;
}

.ef-gallery-page-close:hover,
.ef-gallery-page-nav:hover{
    background:var(--orange);
}

.ef-gallery-page-close{
    top:28px;
    right:28px;
}

.ef-gallery-page-prev{
    left:28px;
    top:50%;
    transform:translateY(-50%);
}

.ef-gallery-page-next{
    right:28px;
    top:50%;
    transform:translateY(-50%);
}

.ef-gallery-page-close svg,
.ef-gallery-page-nav svg{
    width:28px;
    height:28px;
}

@media(max-width:1100px){
    .ef-gallery-page-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .ef-gallery-page-modal{
        grid-template-columns:1fr;
        max-height:90vh;
        overflow:auto;
    }

    .ef-gallery-page-modal img{
        height:420px;
    }
}

@media(max-width:680px){
    .ef-gallery-page-hero h1{
        font-size:52px;
    }

    .ef-gallery-page-grid{
        grid-template-columns:1fr;
        grid-auto-rows:270px;
    }

    .ef-gallery-page-item:nth-child(1),
    .ef-gallery-page-item:nth-child(7),
    .ef-gallery-page-item:nth-child(4),
    .ef-gallery-page-item:nth-child(10){
        grid-row:auto;
        grid-column:auto;
    }
}

/* HOME MENU SHOWCASE V2 */

.ef-menu-showcase-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:80px;
    align-items:center;
}

.ef-menu-showcase-left{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.ef-menu-showcase-main{
    position:relative;
    height:520px;
    overflow:hidden;
    border-radius:32px;
    box-shadow:0 35px 100px rgba(0,0,0,.25);
}

.ef-menu-showcase-main img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ef-menu-showcase-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:32px;
    background:linear-gradient(
        180deg,
        transparent,
        rgba(0,0,0,.85)
    );
}

.ef-menu-showcase-overlay span{
    display:block;
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.ef-menu-showcase-overlay h3{
    margin:10px 0;
    color:#fff;
    font-family:var(--serif);
    font-size:42px;
    line-height:1;
}

.ef-menu-showcase-overlay strong{
    color:#fff;
    font-size:28px;
    font-weight:900;
}

.ef-menu-showcase-thumbs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.ef-menu-thumb{
    overflow:hidden;
    border-radius:18px;
    background:#fff;
}

.ef-menu-thumb img{
    width:100%;
    height:110px;
    object-fit:cover;
}

.ef-menu-thumb span{
    display:block;
    padding:12px;
    color:#fff;
    font-size:13px;
    font-weight:800;
}

.ef-menu-showcase-right h2{
    color:#fff;
}

.ef-menu-highlights{
    margin:30px 0;
    padding:0;
    list-style:none;
}

.ef-menu-highlights li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.ef-menu-highlights strong{
    color:#fff;
}

.ef-menu-highlights span{
    color:var(--orange);
    font-weight:900;
}

@media(max-width:1000px){

    .ef-menu-showcase-grid{
        grid-template-columns:1fr;
    }

    .ef-menu-showcase-thumbs{
        grid-template-columns:repeat(2,1fr);
    }

}

.ef-menu-thumb{
    all:unset;
    cursor:pointer;
    overflow:hidden;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    border:2px solid transparent;
    transition:.25s ease;
}

.ef-menu-thumb.active{
    border-color:var(--orange);
    background:#fff;
}

.ef-menu-thumb span{
    color:#fff;
}

.ef-menu-thumb.active span{
    color:var(--green-dark);
}

.ef-home-menu-price-row{
    margin:28px 0;
    padding:22px 0;
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.14);
    border-bottom:1px solid rgba(255,255,255,.14);
}

.ef-home-menu-price-row span{
    color:var(--orange);
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size:13px;
}

.ef-home-menu-price-row strong{
    color:var(--orange);
    font-size:26px;
    font-weight:950;
}

/* RESERVATION REQUEST FORM */
.ef-reservation-request-section{
    padding:90px 0 110px;
    background:
        radial-gradient(circle at 12% 18%,rgba(241,135,0,.10),transparent 30%),
        linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-reservation-request-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:64px;
    align-items:start;
}

.ef-reservation-request-copy h2{
    margin:18px 0;
    font-family:var(--serif);
    font-size:62px;
    line-height:.95;
    color:var(--green-dark);
}

.ef-reservation-request-copy p{
    color:#65736e;
    font-size:17px;
    line-height:1.85;
}

.ef-reservation-request-points{
    margin-top:34px;
    display:grid;
    gap:16px;
}

.ef-reservation-request-points div{
    padding:18px;
    border-radius:20px;
    display:flex;
    align-items:center;
    gap:14px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 18px 50px rgba(0,35,30,.08);
}

.ef-reservation-request-points i{
    width:24px;
    height:24px;
    color:var(--orange);
}

.ef-reservation-request-points span{
    color:var(--green-dark);
    font-weight:800;
}

.ef-reservation-request-form{
    padding:38px;
    border-radius:34px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 34px 100px rgba(0,35,30,.13);
    display:grid;
    gap:20px;
}

.ef-reservation-request-form label{
    display:block;
    margin-bottom:8px;
    color:var(--green-dark);
    font-size:13px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ef-reservation-request-form input,
.ef-reservation-request-form select,
.ef-reservation-request-form textarea{
    width:100%;
    min-height:54px;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid rgba(0,71,80,.14);
    background:#fffdf8;
    color:var(--green-dark);
    font:inherit;
    outline:none;
}

.ef-reservation-request-form textarea{
    min-height:150px;
    resize:vertical;
}

.ef-reservation-request-form input:focus,
.ef-reservation-request-form select:focus,
.ef-reservation-request-form textarea:focus{
    border-color:var(--orange);
    box-shadow:0 0 0 4px rgba(241,135,0,.10);
}

@media(max-width:1000px){
    .ef-reservation-request-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .ef-reservation-request-copy h2{
        font-size:44px;
    }

    .ef-reservation-request-form{
        padding:24px;
    }
}

/* RESERVATION PAGE PREMIUM */
.ef-res-process{
    padding:70px 0 50px;
    background:#fffdf8;
}

.ef-res-process-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.ef-res-step{
    padding:34px;
    border-radius:30px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 24px 70px rgba(0,35,30,.10);
}

.ef-res-step span{
    display:block;
    color:var(--orange);
    font-family:var(--serif);
    font-size:54px;
    line-height:1;
}

.ef-res-step h3{
    margin:16px 0 10px;
    color:var(--green-dark);
    font-size:22px;
}

.ef-res-step p{
    color:#65736e;
    line-height:1.7;
}

.ef-res-form-section{
    padding:50px 0 100px;
    background:
        radial-gradient(circle at 12% 20%,rgba(241,135,0,.10),transparent 30%),
        linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-res-form-card{
    padding:42px;
    border-radius:38px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 36px 110px rgba(0,35,30,.14);
}

.ef-form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-bottom:26px;
}

.ef-form-grid .full{
    grid-column:1 / -1;
}

.ef-form-grid label{
    display:block;
    margin-bottom:8px;
    color:var(--green-dark);
    font-size:13px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ef-form-grid input,
.ef-form-grid select,
.ef-form-grid textarea{
    width:100%;
    min-height:56px;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid rgba(0,71,80,.14);
    background:#fffdf8;
    color:var(--green-dark);
    font:inherit;
    outline:none;
}

.ef-form-grid textarea{
    resize:vertical;
}

.ef-form-grid input:focus,
.ef-form-grid select:focus,
.ef-form-grid textarea:focus{
    border-color:var(--orange);
    box-shadow:0 0 0 4px rgba(241,135,0,.10);
}

.ef-reservation-orgs{
    padding:95px 0;
    background:#062b24;
    color:#fff;
}

.ef-reservation-orgs .ef-section-head h2{
    color:#fff;
}

.ef-organizations-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.ef-organization-card{
    overflow:hidden;
    border-radius:28px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 30px 90px rgba(0,0,0,.26);
    transition:.3s ease;
}

.ef-organization-card:hover{
    transform:translateY(-9px);
    border-color:rgba(241,135,0,.55);
}

.ef-organization-image{
    height:260px;
    background:#082f2a;
    overflow:hidden;
}

.ef-organization-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.7s ease;
}

.ef-organization-card:hover img{
    transform:scale(1.08);
}

.ef-organization-body{
    padding:22px;
}

.ef-organization-body h3{
    margin:0;
    color:#fff;
    font-family:var(--serif);
    font-size:30px;
    line-height:1;
}

.ef-res-track{
    padding:100px 0 120px;
    background:#fbf7ef;
}

.ef-track-card{
    padding:54px;
    border-radius:38px;
    background:
        radial-gradient(circle at 12% 20%,rgba(241,135,0,.14),transparent 30%),
        linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
    box-shadow:0 36px 110px rgba(0,35,30,.24);
}

.ef-track-card h2{
    margin:16px 0 24px;
    font-family:var(--serif);
    font-size:56px;
    line-height:.95;
    color:#fff;
}

.ef-track-card form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    max-width:720px;
}

.ef-track-card input{
    height:58px;
    padding:0 20px;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.20);
    background:rgba(255,255,255,.10);
    color:#fff;
    outline:none;
}

.ef-track-card input::placeholder{
    color:rgba(255,255,255,.65);
}

.ef-track-card button{
    height:58px;
    padding:0 28px;
    border:0;
    border-radius:15px;
    background:#fff;
    color:var(--green-dark);
    font-weight:900;
    cursor:pointer;
}

@media(max-width:1050px){
    .ef-res-process-grid,
    .ef-organizations-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:720px){
    .ef-res-process-grid,
    .ef-organizations-grid,
    .ef-form-grid,
    .ef-track-card form{
        grid-template-columns:1fr;
    }

    .ef-res-form-card,
    .ef-track-card{
        padding:28px;
    }

    .ef-track-card h2{
        font-size:40px;
    }
}

/* RESERVATION PREMIUM V2 */

.ef-res-layout{
    display:grid;
    grid-template-columns:380px 1fr;
    gap:32px;
    align-items:start;
}

.ef-res-sidebar{
    position:sticky;
    top:30px;
    display:flex;
    flex-direction:column;
    gap:20px;
}

.ef-res-process-mini{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.ef-res-process-mini .ef-res-step{
    padding:28px;
}

.ef-res-process-mini .ef-res-step span{
    font-size:42px;
}

.ef-res-form-card{
    min-width:0;
}

@media(max-width:1100px){

    .ef-res-layout{
        grid-template-columns:1fr;
    }

    .ef-res-sidebar{
        position:relative;
        top:auto;
    }

}

/* RESERVATION PAGE LAYOUT FIX */
.ef-res-main{
    display:grid;
    gap:24px;
    min-width:0;
}

.ef-track-card-horizontal{
    padding:34px;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:24px;
    align-items:end;
}

.ef-track-card-horizontal h2{
    font-size:42px;
    margin:12px 0 0;
}

.ef-track-card-horizontal form{
    max-width:none;
    width:100%;
}

.ef-res-sidebar .ef-res-step{
    min-height:190px;
}

@media(max-width:1100px){
    .ef-track-card-horizontal{
        grid-template-columns:1fr;
    }
}

/* RESERVATION INLINE ORGANIZATIONS */
.ef-res-form-section{
    padding-bottom:80px;
}

.ef-res-main{
    gap:34px;
}

.ef-track-card-horizontal{
    margin-bottom:6px;
    border-radius:34px;
}

.ef-res-form-card{
    margin-top:0;
}

.ef-res-inline-orgs{
    padding:36px;
    border-radius:34px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 30px 90px rgba(0,35,30,.12);
}

.ef-res-inline-orgs .ef-section-head{
    margin-bottom:28px;
}

.ef-res-inline-orgs .ef-section-head h2{
    font-size:46px;
}

.ef-res-inline-org-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.ef-res-inline-org-card{
    overflow:hidden;
    border-radius:24px;
    background:#062b24;
    box-shadow:0 22px 65px rgba(0,35,30,.16);
    transition:.28s ease;
}

.ef-res-inline-org-card:hover{
    transform:translateY(-7px);
}

.ef-res-inline-org-card div{
    height:180px;
    overflow:hidden;
}

.ef-res-inline-org-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s ease;
}

.ef-res-inline-org-card:hover img{
    transform:scale(1.08);
}

.ef-res-inline-org-card h3{
    margin:0;
    padding:18px;
    color:#fff;
    font-family:var(--serif);
    font-size:25px;
    line-height:1.05;
}

@media(max-width:900px){
    .ef-res-inline-org-grid{
        grid-template-columns:1fr;
    }

    .ef-res-inline-org-card div{
        height:240px;
    }
}

/* PREMIUM RESULT PAGES */
.ef-result-page{
    padding:150px 0 130px;
    background:
        radial-gradient(circle at 15% 15%, rgba(241,135,0,.12), transparent 30%),
        linear-gradient(180deg,#fffdf8,#fbf7ef);
}

.ef-result-card{
    max-width:980px;
    margin:0 auto;
    padding:58px;
    border-radius:42px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 40px 120px rgba(0,35,30,.14);
}

.ef-result-icon{
    width:82px;
    height:82px;
    border-radius:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:26px;
    background:linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
    box-shadow:0 22px 60px rgba(0,71,80,.25);
}

.ef-result-icon i{
    width:34px;
    height:34px;
}

.ef-result-card h1{
    margin:14px 0 18px;
    font-family:var(--serif);
    font-size:76px;
    line-height:.92;
    color:var(--green-dark);
}

.ef-result-card > p{
    max-width:720px;
    color:#65736e;
    font-size:18px;
    line-height:1.85;
}

.ef-result-code-box{
    margin:34px 0;
    padding:26px 30px;
    border-radius:26px;
    background:
        radial-gradient(circle at 10% 20%,rgba(241,135,0,.14),transparent 35%),
        linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
}

.ef-result-code-box span{
    display:block;
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.ef-result-code-box strong{
    font-size:32px;
    letter-spacing:.04em;
}

.ef-result-info-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin:28px 0;
}

.ef-result-info-grid div{
    padding:20px;
    border-radius:20px;
    background:#fffdf8;
    border:1px solid rgba(0,71,80,.10);
}

.ef-result-info-grid span{
    display:block;
    margin-bottom:8px;
    color:var(--orange);
    font-size:11px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.ef-result-info-grid strong{
    color:var(--green-dark);
    font-size:15px;
}

.ef-result-note{
    margin-top:28px;
    padding:24px;
    border-radius:24px;
    background:#f4fbf7;
    border:1px solid rgba(0,71,80,.10);
}

.ef-result-note span{
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.ef-result-note p{
    margin:10px 0 0;
    color:#465b55;
    line-height:1.75;
}

.ef-result-actions{
    margin-top:34px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.ef-ghost-btn.dark{
    border-color:rgba(0,71,80,.22);
    color:var(--green-dark);
    background:#fff;
}

@media(max-width:850px){
    .ef-result-card{
        padding:34px;
    }

    .ef-result-card h1{
        font-size:48px;
    }

    .ef-result-info-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:560px){
    .ef-result-info-grid{
        grid-template-columns:1fr;
    }

    .ef-result-code-box strong{
        font-size:22px;
    }
}

/* RESULT PAGE SIDE LAYOUT */
.ef-result-layout{
    display:grid;
    grid-template-columns:1fr 340px;
    gap:30px;
    align-items:start;
}

.ef-result-card{
    max-width:none;
}

.ef-result-side{
    display:grid;
    gap:18px;
    position:sticky;
    top:40px;
}

.ef-result-side-box{
    padding:26px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(0,71,80,.10);
    box-shadow:0 24px 70px rgba(0,35,30,.10);
}

.ef-result-side-box.dark{
    background:linear-gradient(145deg,var(--green),var(--green-dark));
    color:#fff;
}

.ef-result-side-box.dark h3{
    margin:14px 0;
    color:#fff;
    font-family:var(--serif);
    font-size:34px;
    line-height:1;
}

.ef-result-side-box.dark p{
    color:rgba(255,255,255,.78);
    line-height:1.75;
}

.ef-result-side-box i{
    width:28px;
    height:28px;
    color:var(--orange);
    margin-bottom:16px;
}

.ef-result-side-box span{
    display:block;
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.ef-result-side-box strong{
    color:var(--green-dark);
    font-size:19px;
}

.ef-result-side-cta{
    height:58px;
    border-radius:18px;
    background:var(--orange);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-weight:900;
    box-shadow:0 22px 60px rgba(241,135,0,.25);
}

@media(max-width:1000px){
    .ef-result-layout{
        grid-template-columns:1fr;
    }

    .ef-result-side{
        position:relative;
        top:auto;
    }
}

@media(max-width:1200px){.site-container{width:calc(100% - 40px)}.efkar-mainnav-v4{height:auto;padding:22px 0}.efkar-mainnav-inner-v4{height:auto;display:flex;flex-direction:column;gap:18px}.efkar-center-logo-v4{position:relative;left:auto;top:auto;transform:none;order:1;height:auto}.efkar-nav-left-v4,.efkar-nav-right-v4{position:relative;left:auto;right:auto;top:auto;display:flex;justify-content:center;flex-wrap:wrap;order:2}.floating-menu{grid-template-columns:repeat(2,1fr)}.ef-story-grid,.ef-menu-grid,.ef-event-grid,.ef-stats-grid,.ef-gallery-masonry,.footer-main{grid-template-columns:1fr}}
@media(max-width:680px){.site-container{width:calc(100% - 32px)}.efkar-topbar-v4{height:auto;padding:8px 0}.efkar-topbar-inner-v4{height:auto;grid-template-columns:1fr;text-align:center}.efkar-social-v4,.efkar-top-links-v4{justify-content:center}.efkar-top-slogan-v4{white-space:normal}.efkar-nav-left-v4 a,.efkar-nav-right-v4 a{width:96px}.hero-premium-v3,.hero-content{height:660px;min-height:660px}.hero-content h1{font-size:48px}.hero-content p{font-size:16px}.hero-slider-arrow{display:none}.floating-menu,.ef-event-grid,.ef-stats-grid,.ef-gallery-masonry{grid-template-columns:1fr}.ef-story-copy h2,.ef-menu-content h2,.ef-section-head h2{font-size:46px}.ef-event-card{height:320px}.ef-gallery-masonry{grid-auto-rows:240px}.ef-gallery-masonry img:nth-child(1),.ef-gallery-masonry img:nth-child(4){grid-row:auto;grid-column:auto}.footer-bottom .site-container{flex-direction:column;text-align:center}}