/* Nozha v1.17.3 portfolio ux */
.nozha-portfolio-media-modern{background:#fff;border:1px solid #e5eee7;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.nozha-portfolio-media-modern h3{font-size:20px;color:#24533a;margin-top:0}.nozha-gallery-admin-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.nozha-gallery-item{position:relative;border-radius:14px;overflow:hidden;border:1px solid #dce8de;background:#f5f8f5}.nozha-gallery-item img{width:110px;height:110px;object-fit:cover;display:block}.nozha-remove-gallery{position:absolute;top:5px;right:5px;border:0;border-radius:50%;background:#fff;color:#b33;width:25px;height:25px}
.footer-instagram-card svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8}.footer-instagram-card{display:inline-flex!important;align-items:center;gap:10px;padding:12px 18px;border-radius:20px;background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);color:#fff!important;font-weight:800}

.nozha-gallery-item{cursor:move}.nozha-sort-handle{position:absolute;left:6px;top:6px;background:#fff;border-radius:8px;padding:2px 5px}.portfolio-card-link{display:block;color:inherit;text-decoration:none}.nozha-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:99999;display:flex;align-items:center;justify-content:center;padding:30px}.nozha-lightbox-overlay img{max-width:95%;max-height:95%;border-radius:20px}

/* Nozha v1.17.4 footer social replacement */
body .footer-glass.footer-glass--simplified{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr) !important;
    gap:24px !important;
    direction:ltr !important;
}

body .footer-glass.footer-glass--simplified .footer-brand,
body .footer-glass.footer-glass--simplified .footer-social,
body .footer-glass.footer-glass--simplified .footer-contact{
    direction:rtl !important;
    text-align:right !important;
    min-width:0;
}

body .footer-glass.footer-glass--simplified .footer-brand{grid-column:3 !important;}
body .footer-glass.footer-glass--simplified .footer-social{grid-column:2 !important;}
body .footer-glass.footer-glass--simplified .footer-contact{grid-column:1 !important;}

.footer-glass--simplified .footer-social h3{
    margin:0 0 14px !important;
    color:#fff !important;
}

.footer-glass--simplified .footer-instagram-card--hero{
    display:flex !important;
    align-items:center;
    gap:16px;
    min-height:124px;
    width:100%;
    padding:18px 20px !important;
    border-radius:24px !important;
    background:linear-gradient(135deg,#f58529,#dd2a7b 52%,#8134af) !important;
    color:#fff !important;
    box-shadow:0 18px 36px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18);
    text-decoration:none;
    transition:transform .25s ease, box-shadow .25s ease;
}

.footer-glass--simplified .footer-instagram-card--hero:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 44px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.18);
}

.footer-instagram-card__icon{
    width:82px;
    height:82px;
    flex:0 0 82px;
    display:grid;
    place-items:center;
    border-radius:24px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    backdrop-filter:blur(10px);
}

.footer-instagram-card__icon svg{
    width:50px;
    height:50px;
    stroke:currentColor;
    stroke-width:1.85;
}

.footer-instagram-card__content{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.footer-instagram-card__content strong{
    display:block;
    font-size:18px;
    line-height:1.35;
}

.footer-instagram-card__content span{
    display:block;
    color:rgba(255,255,255,.92);
    font-size:12px;
    line-height:1.9;
}

.footer-social-mini-links{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
}

.footer-social-mini-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:98px;
    min-height:42px;
    padding:0 14px;
    border-radius:14px;
    color:#fff !important;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    text-decoration:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}

@media (max-width: 980px){
    body .footer-glass.footer-glass--simplified{
        grid-template-columns:1fr 1fr !important;
    }

    body .footer-glass.footer-glass--simplified .footer-brand{
        grid-column:1 / -1 !important;
        grid-row:1 !important;
    }

    body .footer-glass.footer-glass--simplified .footer-social{
        grid-column:2 !important;
        grid-row:2 !important;
    }

    body .footer-glass.footer-glass--simplified .footer-contact{
        grid-column:1 !important;
        grid-row:2 !important;
    }
}

@media (max-width: 640px){
    body .footer-glass.footer-glass--simplified{
        grid-template-columns:1fr !important;
    }

    body .footer-glass.footer-glass--simplified .footer-brand,
    body .footer-glass.footer-glass--simplified .footer-social,
    body .footer-glass.footer-glass--simplified .footer-contact{
        grid-column:1 !important;
        grid-row:auto !important;
    }

    .footer-glass--simplified .footer-instagram-card--hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .footer-instagram-card__icon{
        width:72px;
        height:72px;
        flex-basis:72px;
    }
}

/* ===== Nozha v1.17.5 portfolio media gallery ===== */
.portfolio-media-section{
    margin:28px 0 34px;
    padding:28px;
    border-radius:32px;
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(244,248,245,.74));
    border:1px solid rgba(212,225,216,.88);
    box-shadow:0 20px 48px rgba(25,55,37,.07);
    overflow:hidden;
}

.portfolio-section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(211,224,215,.8);
}

.portfolio-section-kicker{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#e9f2ec;
    color:#2d5b3f;
    font-size:12px;
    font-weight:700;
    margin-bottom:10px;
}

.portfolio-section-head h2{
    margin:0;
    color:#224531;
    font-size:30px;
}

.portfolio-section-head p{
    margin:0;
    max-width:430px;
    color:#64756c;
    line-height:1.95;
}

.portfolio-showcase-grid{
    display:grid;
    gap:18px;
}

.portfolio-showcase-grid--images{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.portfolio-showcase-grid--videos{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.portfolio-showcase-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    background:linear-gradient(180deg,#f4f8f5,#ffffff);
    border:1px solid rgba(214,227,218,.94);
    box-shadow:0 16px 34px rgba(25,55,37,.08);
    transform:translateY(18px);
    opacity:0;
    animation:nozhaPortfolioCardIn .7s cubic-bezier(.2,.7,.2,1) forwards;
    animation-delay:var(--portfolio-delay,0ms);
}

.portfolio-showcase-card:hover{
    transform:translateY(-6px) !important;
    box-shadow:0 22px 44px rgba(25,55,37,.12);
}

.portfolio-showcase-card img,
.portfolio-video-frame video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.portfolio-showcase-card--image{
    min-height:310px;
}

.portfolio-showcase-card--image img{
    height:310px;
}

.portfolio-showcase-badge{
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(20,48,33,.72);
    backdrop-filter:blur(14px);
    color:#fff;
    font-size:12px;
    font-weight:700;
}

.portfolio-showcase-overlay{
    position:absolute;
    inset:auto 0 0 0;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:20px 18px 18px;
    background:linear-gradient(180deg,rgba(17,35,24,0) 0%,rgba(17,35,24,.82) 100%);
    color:#fff;
    opacity:0;
    transform:translateY(10px);
    transition:opacity .25s ease, transform .25s ease;
}

.portfolio-showcase-overlay strong,
.portfolio-showcase-overlay em{
    font-style:normal;
}

.portfolio-showcase-overlay em{
    color:rgba(255,255,255,.82);
    font-size:12px;
}

.portfolio-showcase-card--image:hover .portfolio-showcase-overlay{
    opacity:1;
    transform:translateY(0);
}

.portfolio-showcase-card--video{
    padding:14px;
}

.portfolio-video-frame{
    overflow:hidden;
    border-radius:20px;
    background:#102117;
    aspect-ratio:16 / 10;
}

@keyframes nozhaPortfolioCardIn{
    from{opacity:0;transform:translateY(24px) scale(.98)}
    to{opacity:1;transform:translateY(0) scale(1)}
}

/* footer instagram card in brand green */
.footer-glass--simplified .footer-instagram-card--hero{
    background:linear-gradient(135deg,#214432,#2f6146 52%,#86a27d) !important;
    color:#fff !important;
}

.footer-instagram-card__icon{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.18);
}

.footer-social-mini-link:hover,
.footer-glass--simplified .footer-instagram-card--hero:hover{
    filter:brightness(1.03);
}

@media (max-width: 980px){
    .portfolio-showcase-grid--images{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 760px){
    .portfolio-media-section{
        padding:22px 18px;
        border-radius:24px;
    }

    .portfolio-section-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .portfolio-section-head h2{
        font-size:24px;
    }

    .portfolio-showcase-grid--images,
    .portfolio-showcase-grid--videos{
        grid-template-columns:1fr;
    }

    .portfolio-showcase-card--image,
    .portfolio-showcase-card--image img{
        min-height:260px;
        height:260px;
    }
}

/* Portfolio lightbox controls */
.nozha-lightbox-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px;
    background:rgba(12,28,19,.92);
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.25s ease;
}
.nozha-lightbox-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.nozha-lightbox-overlay img{
    max-width:min(90vw,1200px);
    max-height:85vh;
    object-fit:contain;
    border-radius:24px;
    box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.nozha-lb-close,
.nozha-lb-prev,
.nozha-lb-next,
.nozha-lb-download{
    position:absolute;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.2);
    color:#fff;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(12px);
    text-decoration:none;
    border-radius:16px;
    cursor:pointer;
}
.nozha-lb-close{
    top:25px;
    right:25px;
    width:48px;
    height:48px;
    font-size:28px;
}
.nozha-lb-prev,
.nozha-lb-next{
    top:50%;
    transform:translateY(-50%);
    width:56px;
    height:56px;
    font-size:40px;
}
.nozha-lb-prev{left:28px;}
.nozha-lb-next{right:28px;}
.nozha-lb-download{
    bottom:30px;
    right:50%;
    transform:translateX(50%);
    min-height:46px;
    padding:0 22px;
    font-weight:700;
}
.nozha-lb-download:hover,
.nozha-lb-close:hover,
.nozha-lb-prev:hover,
.nozha-lb-next:hover{
    background:rgba(255,255,255,.22);
}
@media(max-width:700px){
    .nozha-lightbox-overlay{padding:20px;}
    .nozha-lb-prev,.nozha-lb-next{width:44px;height:44px;font-size:30px;}
    .nozha-lb-prev{left:10px;}
    .nozha-lb-next{right:10px;}
}


/* v1.17.7 media fixes */
.nozha-lightbox-overlay img{
    max-width:92vw;
    max-height:88vh;
    object-fit:contain;
}

.portfolio-video-frame{
    height:340px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#0d1711;
    overflow:hidden;
}

.portfolio-video-frame video{
    width:100%;
    height:100%;
    object-fit:contain !important;
    background:#0d1711;
}

.nozha-lb-prev,
.nozha-lb-next{
    width:54px;
    height:54px;
    border-radius:50%;
    background:rgba(36,74,53,.88);
    border:1px solid rgba(255,255,255,.25);
    font-size:0;
}

.nozha-lb-prev:before,
.nozha-lb-next:before{
    content:'';
    width:12px;
    height:12px;
    border-top:2px solid #fff;
    border-right:2px solid #fff;
}

.nozha-lb-prev:before{
    transform:rotate(225deg);
    margin-left:5px;
}
.nozha-lb-next:before{
    transform:rotate(45deg);
    margin-right:5px;
}

body.nozha-lightbox-open #nozha-site-header,
body.nozha-lightbox-open header{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

@media(max-width:700px){
    .portfolio-video-frame{
        height:260px;
    }
}

/* v1.17.8 unified lightbox controls */
.nozha-lightbox-overlay .nozha-lb-close,
.nozha-lightbox-overlay .nozha-lb-prev,
.nozha-lightbox-overlay .nozha-lb-next,
.nozha-lightbox-overlay .nozha-lb-download{
    background:rgba(36,74,53,.92)!important;
    border:1px solid rgba(255,255,255,.24)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.25)!important;
}

.nozha-lightbox-overlay .nozha-lb-close{
    top:22px!important;
    right:22px!important;
    width:50px!important;
    height:50px!important;
    font-size:0!important;
}

.nozha-lightbox-overlay .nozha-lb-close:before{
    content:'×';
    font-size:32px;
    line-height:1;
    color:#fff;
}

.nozha-lightbox-overlay .nozha-lb-download{
    top:22px!important;
    right:84px!important;
    bottom:auto!important;
    transform:none!important;
    min-width:50px;
    height:50px;
    padding:0 16px;
    font-size:14px;
}

.nozha-lightbox-overlay .nozha-lb-prev,
.nozha-lightbox-overlay .nozha-lb-next{
    width:56px!important;
    height:56px!important;
}

.nozha-lightbox-overlay .nozha-lb-prev{left:28px!important;}
.nozha-lightbox-overlay .nozha-lb-next{right:28px!important;}

/* Use the portfolio lightbox arrow language for other carousels */
.home-blog__arrow,
.blog-carousel__button{
    width:54px!important;
    height:54px!important;
    border-radius:50%!important;
    background:linear-gradient(135deg,#244a35,#547b5d)!important;
    border:1px solid rgba(255,255,255,.3)!important;
    color:transparent!important;
    display:grid!important;
    place-items:center!important;
}

.home-blog__arrow:before,
.blog-carousel__button:before{
    content:'';
    width:12px;
    height:12px;
    border-top:2px solid #fff;
    border-right:2px solid #fff;
}

.home-blog__prev:before,
.blog-carousel__prev:before{
    transform:rotate(225deg);
}

.home-blog__next:before,
.blog-carousel__next:before{
    transform:rotate(45deg);
}

@media(max-width:700px){
    .nozha-lightbox-overlay .nozha-lb-download{
        right:76px!important;
    }
    .home-blog__arrow,
    .blog-carousel__button{
        width:44px!important;
        height:44px!important;
    }
}

/* v1.17.9 final lightbox fixes */
html.nozha-lightbox-open #nozha-site-header,
html.nozha-lightbox-open header,
body.nozha-lightbox-open #nozha-site-header,
body.nozha-lightbox-open header{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

.nozha-lightbox-overlay{
    z-index:2147483647!important;
}

.nozha-lightbox-overlay .nozha-lb-download{
    top:22px!important;
    right:84px!important;
    bottom:auto!important;
    border-radius:50%!important;
    width:50px!important;
    min-width:50px!important;
    height:50px!important;
    padding:0!important;
    font-size:0!important;
}
.nozha-lightbox-overlay .nozha-lb-download:before{
    content:'↓';
    font-size:24px;
    color:#fff;
}

/* v1.18.3 header instagram + unified article arrows */
.header-instagram-button--desktop{
 display:inline-flex!important;align-items:center;gap:8px;height:44px;padding:0 14px!important;
 background:#fff!important;color:#2d5d3f!important;border:1px solid #2d5d3f!important;border-radius:14px;
 text-decoration:none!important;font-size:13px;font-weight:700;white-space:nowrap;
 order:0;
}
.header-instagram-button--desktop svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.header-instagram-button--desktop:hover{background:#f4f8f5!important}
/* article carousel controls */
.blog-carousel__button,.home-blog__prev,.home-blog__next{
 border:1px solid #2d5d3f!important;background:#fff!important;color:#2d5d3f!important;
 box-shadow:0 8px 20px rgba(45,93,63,.14)!important;
 font-size:0!important;
}
.blog-carousel__button:before,.home-blog__prev:before,.home-blog__next:before{
 content:'';display:block;width:10px;height:10px;border-top:2px solid currentColor;border-right:2px solid currentColor;
}
.blog-carousel__next:before,.home-blog__next:before{transform:rotate(45deg);}
.blog-carousel__prev:before,.home-blog__prev:before{transform:rotate(-135deg);}
