:root{--black:#0b0b0b;--dark:#151515;--gold:#d4af37;--white:#fff;--grey:#aaa}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--black);color:var(--white);line-height:1.6}
header{padding:20px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #292929;background:#090909}
.logo{font-size:24px;font-weight:900;letter-spacing:2px}
.logo span{color:var(--gold)}
nav{display:flex;gap:28px}
nav a{color:#fff;text-decoration:none;font-weight:bold;transition:.2s}
nav a:hover{color:var(--gold)}
.page-hero{padding:90px 6%;text-align:center;background:linear-gradient(135deg,#161616,#050505)}
.page-hero h1{font-size:clamp(42px,6vw,70px);line-height:1.1}
.page-hero h1 span{color:var(--gold)}
.container{max-width:1200px;margin:auto;padding:70px 6%}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.card{background:var(--dark);border:1px solid #292929;padding:30px}
.card h2,.card h3{color:var(--gold);margin-bottom:12px}
.card p{color:var(--grey)}
.btn{display:inline-block;padding:14px 26px;background:var(--gold);color:#000;text-decoration:none;font-weight:bold;border:2px solid var(--gold)}
footer{padding:30px 6%;text-align:center;color:#777;border-top:1px solid #292929}
@media(max-width:700px){header{flex-direction:column;gap:18px}nav{gap:14px;flex-wrap:wrap;justify-content:center}nav a{font-size:14px}.container{padding:50px 6%}}

.reviews-section{background:#101010}
.review-card{text-align:center}
.stars{color:var(--gold);font-size:24px;letter-spacing:3px;margin-bottom:12px}
.review-card strong{display:block;color:#fff;margin-top:15px}

.language-flags{display:flex;justify-content:flex-end;gap:7px;margin-bottom:8px}
.language-flags a{display:block;width:28px;height:19px;border:1px solid #444;border-radius:2px;overflow:hidden;transition:.2s}
.language-flags a:hover{border-color:var(--gold);transform:translateY(-2px)}
.language-flags svg{width:100%;height:100%;display:block}
.header-right{display:flex;flex-direction:column;align-items:flex-end}
@media(max-width:700px){.language-flags{justify-content:center}.header-right{align-items:center}}

.language-flags a.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}

html, body {
    min-height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body > footer {
    margin-top: auto;
}


html, body {
    min-height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body > footer {
    margin-top: auto;
}



/* BUILT RIGHT UK GALLERY LIGHTBOX */
#public-gallery img {
    height: 180px !important;
    object-fit: cover;
    cursor: pointer;
    transition: transform .2s ease, opacity .2s ease;
}

#public-gallery img:hover {
    transform: scale(1.02);
    opacity: .9;
}

.gallery-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0,0,0,.92);
    align-items: center;
    justify-content: center;
    padding: 30px;
}

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

.gallery-lightbox img {
    max-width: 92vw;
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: 0 0 40px rgba(0,0,0,.8);
}

.gallery-lightbox-close {
    position: fixed;
    top: 20px;
    right: 30px;
    font-size: 42px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    z-index: 100000;
}

@media(max-width:700px) {
    #public-gallery img {
        height: 160px !important;
    }

    .gallery-lightbox {
        padding: 15px;
    }

    .gallery-lightbox img {
        max-width: 96vw;
        max-height: 82vh;
    }

    .gallery-lightbox-close {
        top: 12px;
        right: 18px;
        font-size: 36px;
    }
}

/* ===== BUILT RIGHT UK - SMALLER GALLERY ===== */

#dynamic-project-gallery {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

#dynamic-project-gallery #public-gallery {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

#dynamic-project-gallery #public-gallery article {
    max-width: 390px;
    margin-left: auto;
    margin-right: auto;
}

#dynamic-project-gallery #public-gallery img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover;
    cursor: pointer;
}

@media (max-width: 700px) {
    #dynamic-project-gallery {
        max-width: 100%;
    }

    #dynamic-project-gallery #public-gallery {
        max-width: 100%;
    }

    #dynamic-project-gallery #public-gallery article {
        max-width: 100%;
    }

    #dynamic-project-gallery #public-gallery img {
        height: 170px !important;
    }
}

/* ===== BUILT RIGHT UK - BEFORE / AFTER GALLERY ===== */

.before-after-gallery {
    display: grid;
    grid-template-columns: 1fr 2px 1fr;
    gap: 28px;
    margin-top: 35px;
    align-items: start;
}

.before-after-divider {
    width: 2px;
    height: 100%;
    min-height: 300px;
    background: #d4af37;
    opacity: .7;
}

.before-after-column {
    min-width: 0;
}

.before-after-heading {
    text-align: center;
    margin-bottom: 25px;
}

.before-after-heading h2 {
    color: #d4af37;
    font-size: 32px;
    margin: 0;
}

.gallery-photo-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.gallery-photo-card {
    background: #0b0b0b;
    border: 1px solid #292929;
    overflow: hidden;
    max-width: 390px;
    width: 100%;
    margin: 0 auto;
}

.gallery-photo-card img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    cursor: pointer;
    transition: transform .2s ease, opacity .2s ease;
}

.gallery-photo-card img:hover {
    transform: scale(1.02);
    opacity: .9;
}

.gallery-photo-info {
    padding: 18px;
}

.gallery-photo-info h3 {
    color: #d4af37;
    margin: 0 0 8px;
}

.gallery-photo-info p {
    color: #aaa;
    margin: 0;
}

.gallery-loading,
.gallery-empty {
    padding: 30px 10px;
    text-align: center;
    color: #aaa;
}

@media(max-width:700px) {
    .before-after-gallery {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .before-after-divider {
        width: 100%;
        height: 2px;
        min-height: 2px;
    }

    .before-after-heading h2 {
        font-size: 28px;
    }

    .gallery-photo-card {
        max-width: 100%;
    }

    .gallery-photo-card img {
        height: 170px;
    }
}

.gallery-photo-category {
    display: inline-block;
    margin: 2px 0 10px;
    padding: 4px 9px;
    border: 1px solid #d4af37;
    color: #d4af37;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: .5px;
    background: #111;
}
