/*
Theme Name: Boston Lounge Decor Child Theme
*/

/* ========================= */
/* RESET */
/* ========================= */

img{
max-width:100%;
height:auto;
display:block;
}

/* ========================= */
/* MISC */
/* ========================= */

img.sub_btn_loading{ display:none; }
.submit_btn_active img.sub_btn_loading{ display:block; margin-left:10px; }
.btn_sub_wrap{ display:flex; width:300px; margin:0 auto; justify-content:center; align-items:center; }
.banner-item .d-table{ height:100%; }
.banner-item .d-table-cell{ vertical-align:middle !important; }
.banner-item-content2{ transform:translateY(-40px); }
.home-about.bgg .row{ align-items:center; }

p{ text-align:left !important; }

.main-nav nav .navbar-nav .nav-item .dropdown-menu li a,
.main-nav nav .navbar-nav .nav-item .dropdown-menu li a span,
.megamenuboxx ul li a{ text-transform:none !important; }

.page-id-24 .product-wrapper,
.page-id-24 .product-wrapper *{ cursor:default !important; }

.package-title{ text-transform:none !important; }

/* ========================= */
/* PACKAGE CARD */
/* ========================= */

.package-card{
background:#fff;
border-radius:16px;
overflow:hidden;
box-shadow:0 6px 20px rgba(0,0,0,0.08);
margin-bottom:35px;
transition:0.3s;
}
.package-card:hover{ transform:translateY(-5px); box-shadow:0 12px 30px rgba(0,0,0,0.15); }
.package-card img{ width:100%; height:210px; object-fit:cover; transition:0.4s; }
.package-card:hover img{ transform:scale(1.08); }
.package-content{ padding:30px; }
.package-title{ font-size:24px; font-weight:700; color:#2f5e84; margin-bottom:12px; }

/* ========================= */
/* DESCRIPTION */
/* ========================= */

.package-desc{ font-size:15px; line-height:1.7; margin-bottom:25px; }

body.post-type-archive-product .package-desc{
font-size:15px; line-height:1.7; margin-bottom:10px;
display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}
body.post-type-archive-product .package-desc.expanded{
-webkit-line-clamp:unset; display:block; -webkit-box-orient:initial; overflow:visible;
}
body.post-type-archive-product .read-more-btn{
display:block; font-weight:600; cursor:pointer; color:#2f5e84; margin-bottom:10px;
}
body.post-type-archive-product .read-more-btn:hover{ text-decoration:underline; }
.read-more-inline{ color:#2f5e84; font-weight:600; cursor:pointer; white-space:nowrap; margin-left:5px; }

/* ========================= */
/* BUTTON */
/* ========================= */

.package-btn span{
display:inline-block; border:2px solid #2f5e84; padding:12px 28px;
border-radius:10px; color:#2f5e84; font-weight:600; font-size:16px; transition:0.3s;
}
.package-btn span:hover{ background:#2f5e84; color:#fff; }

/* ========================= */
/* MASONRY */
/* ========================= */

.packages-masonry{ column-count:3; column-gap:25px; }
.package-item{ break-inside:avoid; margin-bottom:25px; }
@media (max-width:1000px){ .packages-masonry{ column-count:2; } }
@media (max-width:600px){ .packages-masonry{ column-count:1; } }

/* ========================= */
/* PHOTO BOOTHS PAGE */
/* ========================= */

body.page-template-tpl-photobooth .package-desc,
body.page-template-tpl-photobooth-php .package-desc{
font-size:15px; line-height:1.7; margin-bottom:10px;
display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
body.page-template-tpl-photobooth .package-desc.expanded,
body.page-template-tpl-photobooth-php .package-desc.expanded{
display:block; -webkit-line-clamp:unset; -webkit-box-orient:initial; overflow:visible;
}
body.page-template-tpl-photobooth .read-more-btn,
body.page-template-tpl-photobooth-php .read-more-btn{
display:block; font-weight:600; cursor:pointer; color:#2f5e84; margin-bottom:10px;
}
body.page-template-tpl-photobooth .read-more-btn:hover,
body.page-template-tpl-photobooth-php .read-more-btn:hover{ text-decoration:underline; }
body.page-template-tpl-photobooth .package-btn a,
body.page-template-tpl-photobooth-php .package-btn a{ text-decoration:none !important; }

/* ========================= */
/* HERO SLIDER */
/* ========================= */

.hero-slider{ position:relative; width:100%; height:100vh; overflow:hidden; background:#000; }
.slide{ position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; visibility:hidden; transition:opacity 1.2s cubic-bezier(0.4,0,0.2,1); z-index:1; }
.slide.active{ opacity:1; visibility:visible; z-index:2; }
.slide video{ width:100%; height:100%; object-fit:cover; position:absolute; top:0; left:0; }

.overlay{
position:absolute; top:0; left:0; width:100%; height:100%;
background:linear-gradient(135deg,rgba(0,0,0,0.4) 0%,rgba(0,0,0,0.2) 50%,rgba(0,0,0,0.6) 100%);
z-index:3;
}

.hero-text{
position:absolute; bottom:15%; left:0; right:0;
width:100%; max-width:100%; color:#fff; z-index:10;
opacity:0; transform:translateY(30px);
transition:all 0.8s cubic-bezier(0.4,0,0.2,1) 0.3s;
text-align:center !important; padding:0 8%; box-sizing:border-box;
}
.slide.active .hero-text{ opacity:1; transform:translateY(0); }

.text-category{
display:inline-block; font-size:14px; letter-spacing:3px; text-transform:uppercase;
background:rgba(255,255,255,0.2); backdrop-filter:blur(10px);
padding:6px 16px; border-radius:30px; margin-bottom:20px; font-weight:500; color:#fff;
}

.hero-text h1{
font-size:64px; font-weight:700; margin-bottom:20px; line-height:1.2;
text-shadow:2px 2px 20px rgba(0,0,0,0.5); letter-spacing:-0.02em;
color:#fff; text-align:center !important;
}
.hero-text p{
font-size:18px; line-height:1.6; margin-bottom:30px; opacity:0.95;
max-width:550px; text-shadow:1px 1px 10px rgba(0,0,0,0.3);
color:#fff; text-align:center !important; margin-left:auto; margin-right:auto;
}

.hero-btn{
display:inline-block; padding:12px 28px; border:2px solid #fff;
border-radius:10px; color:#fff; text-decoration:none;
font-size:16px; font-weight:600; transition:0.3s; background:transparent; cursor:pointer;
}
.hero-btn:hover{ background:#fff; color:#000; }

.nav-dots{
position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
right:auto; display:flex; gap:12px; z-index:20;
}
.nav-dots span{ width:8px; height:8px; background:rgba(255,255,255,0.4); border-radius:50%; cursor:pointer; transition:all 0.4s ease; }
.nav-dots span:hover{ background:rgba(255,255,255,0.8); transform:scale(1.2); }
.nav-dots .active{ width:40px; border-radius:4px; background:#fff; }

.progress-bar{
position:absolute; bottom:0; left:0; width:0%; height:3px;
background:linear-gradient(90deg,#fff,rgba(255,255,255,0.5)); z-index:25; transition:width linear;
display:none;
}

@media(max-width:768px){
.hero-slider{ height:70vh; }
.hero-text{ bottom:15%; padding:0 5%; }
.text-category{ font-size:11px; letter-spacing:2px; padding:5px 14px; margin-bottom:15px; }
.hero-text h1{ font-size:32px; margin-bottom:12px; }
.hero-text p{ font-size:14px; margin-bottom:25px; line-height:1.5; }
.hero-btn{ padding:10px 24px; font-size:14px; border-radius:10px; }
.nav-dots{ bottom:25px; gap:10px; }
.nav-dots span{ width:7px; height:7px; }
.nav-dots .active{ width:30px; }
}
@media(max-width:480px){
.hero-text{ bottom:12%; }
.hero-text h1{ font-size:28px; }
.hero-text p{ font-size:13px; }
.hero-btn{ padding:8px 20px; font-size:13px; }
}

/* ========================= */
/* OWL CAROUSEL */
/* ========================= */

.owl-carousel .owl-dots{ position:relative !important; text-align:center !important; left:0 !important; transform:none !important; margin-top:20px !important; bottom:auto !important; }
.owl-carousel .owl-nav{ position:absolute !important; top:50% !important; transform:translateY(-50%) !important; width:100% !important; left:0 !important; }
.owl-carousel .owl-prev{ left:-20px !important; position:absolute !important; }
.owl-carousel .owl-next{ right:-20px !important; position:absolute !important; }
.banner-slider-area .banner-item-content{ width:100% !important; background:none !important; display:flex !important; justify-content:center !important; align-items:center !important; }
.bannnnr-text{ text-align:center !important; max-width:600px !important; margin:0 auto !important; }

/* ========================= */
/* ACTIVE MENU */
/* ========================= */

.navbar-light .navbar-nav li.current-menu-item > a.nav-link,
.navbar-light .navbar-nav li.current-menu-item > a,
.navbar-light .navbar-nav li.current-menu-parent > a.nav-link,
.navbar-light .navbar-nav li.current-menu-ancestor > a.nav-link,
.navbar-light .navbar-nav li > a.nav-link.active{
background:linear-gradient(0deg, rgba(50,126,174,1) 19%, rgba(74,187,229,1) 90%) !important;
color:#fff !important; font-weight:500 !important;
}
.main-nav nav .navbar-nav .nav-item a:visited,
.main-nav nav .navbar-nav .nav-item a.nav-link:visited,
.navbar-light .navbar-nav li > a.nav-link:visited{ color:#fff !important; }

/* ========================= */
/* MEGA MENU BASE */
/* ========================= */

.fixed-header,
.navbar-area,
.main-nav,
.main-nav .container,
.main-nav .navbar,
.main-nav .collapse,
.main-nav .mean-menu{ overflow:visible !important; }

.main-nav .navbar-nav{ display:flex; align-items:center; height:auto; }

.main-nav .navbar-nav > .nav-item{
position:relative; display:flex; align-items:stretch; height:100%; overflow:visible !important;
}
.main-nav .navbar-nav > .nav-item > .nav-link{
display:flex; align-items:center; gap:6px; height:100%; white-space:nowrap;
padding-top:20px !important; padding-bottom:20px !important;
}

.main-nav .navbar-nav > .mega-item > .nav-link .arrow{
display:inline-flex; align-items:center; justify-content:center;
font-size:10px; opacity:.85; transition:transform .2s ease;
}
.main-nav .navbar-nav > .mega-item:hover > .nav-link .arrow,
.main-nav .navbar-nav > .mega-item.mega-open > .nav-link .arrow{ transform:rotate(180deg); }

.main-nav .navbar-nav > .mega-item > .mega-menu:before,
.main-nav .navbar-nav > .mega-item > .mega-menu:after,
.main-nav .navbar-nav > .mega-item > .nav-link:before,
.main-nav .navbar-nav > .mega-item > .nav-link:after{
display:none !important; content:none !important; background:none !important; border:none !important; box-shadow:none !important;
}

.main-nav .mega-grid{ display:grid; gap:0 18px; align-items:start; justify-content:center; }
.main-nav .mega-grid.cols-1{ grid-template-columns:280px; }
.main-nav .mega-grid.cols-2{ grid-template-columns:repeat(2,280px); }
.main-nav .mega-grid.cols-3{ grid-template-columns:repeat(3,280px); }
.main-nav .mega-grid.cols-4{ grid-template-columns:repeat(4,280px); }

.main-nav .mega-col{ min-width:0; display:block !important; align-self:start; }

.main-nav .mega-menu a,
.main-nav .mega-menu a:link,
.main-nav .mega-menu a:visited{
position:static !important; top:auto !important; right:auto !important;
bottom:auto !important; left:auto !important; float:none !important; clear:none !important;
height:auto !important; min-height:0 !important; max-height:none !important;
line-height:1.22 !important; margin:0 !important; text-align:left !important;
box-shadow:none !important; transform:none !important;
}

.main-nav .mega-col a{
display:block !important; position:static !important; width:auto !important;
min-width:0 !important; height:auto !important; min-height:0 !important;
margin:0 !important; padding:5px 8px !important; color:#fff !important;
text-decoration:none !important; font-size:13px !important; font-weight:400 !important;
line-height:1.22 !important; white-space:normal;
border-bottom:0.5px solid rgba(255,255,255,0.08);
background:transparent !important;
transition:padding-left .15s ease, opacity .15s ease, color .15s ease;
}
.main-nav .mega-col a:last-child{ border-bottom:none; }
.main-nav .mega-col a:hover{ color:#fff !important; padding-left:13px !important; opacity:.75; background:transparent !important; }
.main-nav .mega-menu ul, .main-nav .mega-menu li{ list-style:none; margin:0; padding:0; }
.main-nav .mobile-submenu{ display:none; margin:0; padding:0; list-style:none; }
.main-nav .dropdown-menu.megamenu-layout,
.main-nav .megamenuboxx,
.main-nav .secnddd,
.main-nav .dancefloors{ all:unset; }

.main-nav .mega-menu a::after, .main-nav .mega-menu a::before,
.main-nav .mega-menu a:hover::after, .main-nav .mega-menu a:hover::before,
.main-nav .mega-menu a.active::after, .main-nav .mega-menu a.active::before{
display:none !important; content:none !important; width:0 !important;
height:0 !important; background:none !important; border:none !important; box-shadow:none !important;
}

@media (min-width:992px){ .main-nav .mobile-submenu{ display:none !important; } }

@media only screen and (max-width:991px){
.main-nav .mega-menu{
display:none !important; visibility:hidden !important; opacity:0 !important;
height:0 !important; overflow:hidden !important; padding:0 !important;
margin:0 !important; border:none !important; box-shadow:none !important;
}
.mean-container .mean-nav ul li .mega-menu{ display:none !important; }
.mean-container .mean-nav ul li .mobile-submenu{ display:none; }
.mean-container .mean-nav ul li .mobile-submenu li a{
padding:10px 18px !important; font-size:14px !important; font-weight:300 !important;
color:#fff !important; background:transparent !important;
border-top:1px solid rgba(255,255,255,0.08); text-align:left !important;
}
.mean-container .mean-nav ul li .mobile-submenu li a::after,
.mean-container .mean-nav ul li .mobile-submenu li a::before{ display:none !important; content:none !important; }
.main-nav .navbar-nav{ display:block; height:auto; }
.main-nav .navbar-nav > .nav-item{ display:block; height:auto; }
.main-nav .navbar-nav > .nav-item > .nav-link{ height:auto; }
}

/* ========================= */
/* STICKY HEADER */
/* ========================= */

.fixed-header{ position:fixed; top:0; left:0; width:100%; z-index:99999; }

/* ========================= */
/* main-nav display fix */
/* ========================= */
.main-nav{ display:block !important; }

/* ========================= */
/* FONT */
/* ========================= */

body,
h1, h2, h3, h4, h5, h6,
p, a, span, li, button, input, textarea, select,
.nav-link, .navbar-nav, .package-title, .package-desc,
.hero-title, .hero-desc, .hero-btn{
font-family:'Lexend Deca', sans-serif !important;
}

/* ========================= */
/* LOGO CONTROL */
/* ========================= */
.logo-mobile{ display:none; }
.logo-desktop{ display:block; }

/* ========================= */
/* DESKTOP HEADER (992px+) */
/* ========================= */

@media only screen and (min-width:992px){

.main-nav nav .navbar-nav .nav-item.mega-item > a.nav-link{ position:relative; }
.main-nav nav .navbar-nav .nav-item.mega-item > a.nav-link:after{
content:"" !important; position:absolute !important; width:0 !important;
height:2px !important; background:#4abae4 !important;
left:0 !important; bottom:0 !important; display:block !important;
}
.main-nav nav .navbar-nav .nav-item.mega-item:hover > a.nav-link:after,
.main-nav nav .navbar-nav .nav-item.mega-item.current-menu-parent > a.nav-link:after,
.main-nav nav .navbar-nav .nav-item.mega-item.current-menu-ancestor > a.nav-link:after,
.main-nav nav .navbar-nav .nav-item.mega-item > a.nav-link.active:after{ width:100% !important; }

.main-nav .navbar{ display:flex; align-items:center; padding-left:0; padding-right:0; }

.main-nav .navbar-collapse.mean-menu{
display:flex !important; align-items:center;
justify-content:flex-start !important;
width:100%; flex:1 1 auto;
}

/* Desktop: white logo show, blue hide */
.logo-mobile{ display:none !important; }
.logo-desktop{ display:block !important; width:120px; height:auto; }

.desktop-brand{
display:flex !important; align-items:center; justify-content:center;
flex:0 0 auto; margin-right:35px; padding:0; line-height:1; text-decoration:none;
}

/* Menu left aligned */
.main-nav .navbar-nav{
flex:0 0 auto;
margin-left:0 !important;
margin-right:auto !important;
}

.main-nav .others-option.nav-side.ml-auto{
display:flex !important; align-items:center; margin-left:auto !important; padding-left:18px;
}

.bld-mobile-icons{ display:none !important; }

/* Desktop search icon */
.desktop-search-icon{
display:flex; align-items:center; margin-right:16px;
}
.desktop-search-btn{
display:flex; align-items:center; justify-content:center;
color:#fff; font-size:17px; text-decoration:none;
width:36px; height:36px; border-radius:50%;
transition:color 0.2s, background 0.2s;
}
.desktop-search-btn:hover{
color:#aad4f5; background:rgba(255,255,255,0.1);
}

.navbar-area,
.main-nav,
.main-nav .container,
.main-nav .navbar,
.main-nav .navbar-collapse.mean-menu,
.main-nav .navbar-nav,
.main-nav .navbar-nav > .mega-item{ position:static !important; }

.main-nav .navbar-nav > .mega-item > .mega-menu{
display:none; position:fixed; top:58px;
left:50% !important; right:auto !important; transform:translateX(-50%) !important;
padding:14px 18px 16px !important; background:rgba(18,18,18,0.96);
z-index:9999; border:none !important; border-bottom:0 !important;
border-radius:0 0 14px 14px; box-shadow:0 18px 40px rgba(0,0,0,0.28) !important;
background-image:none !important; backdrop-filter:blur(2px);
width:auto; max-width:calc(100vw - 40px); overflow:visible;
}
.main-nav .navbar-nav > .mega-item:hover > .mega-menu{ display:block; }

.main-nav .products-menu,
.main-nav .packages-menu,
.main-nav .dancefloors-menu,
.main-nav .photobooths-menu{
left:50% !important; right:auto !important; transform:translateX(-50%) !important;
}

}

/* ========================= */
/* MOBILE HEADER (max 991px) */
/* ========================= */

.new-mobile-menu-btn{
display:flex; align-items:center; justify-content:center;
background:none; border:none; cursor:pointer; padding:4px;
}
.new-mobile-menu-btn svg{ display:block; }

@media only screen and (max-width:991px){

body{ padding-top:70px !important; }

.fixed-header{
position:fixed !important; top:0 !important; left:0 !important;
width:100% !important; z-index:99999 !important;
}

.fixed-header,
.navbar-area,
.main-nav{
width:100% !important;
left:0 !important;
right:0 !important;
margin:0 !important;
padding:0 !important;
background:#fff !important;
}

.main-nav .container{
max-width:100% !important;
width:100% !important;
margin:0 !important;
padding:0 15px !important;
box-sizing:border-box !important;
}

nav.navbar.navbar-expand-md{
width:100% !important;
background:#fff !important;
display:flex !important;
justify-content:space-between !important;
align-items:center !important;
padding:0 15px !important;
min-height:70px !important;
height:70px !important;
margin:0 !important;
box-sizing:border-box !important;
flex-wrap:nowrap !important;
}

/* Mobile: blue logo show, white logo hide */
.logo-desktop{ display:none !important; }
.logo-mobile{
display:block !important;
height:40px !important;
width:auto !important;
}

/* Logo LEFT */
.desktop-brand{
display:flex !important;
align-items:center !important;
flex:0 0 auto !important;
margin:0 !important;
margin-right:auto !important;
text-decoration:none !important;
z-index:10 !important;
}

/* Icons RIGHT */
.bld-mobile-icons{
display:flex !important;
align-items:center !important;
gap:18px !important;
margin-left:0 !important;
flex:0 0 auto !important;
z-index:10 !important;
}
.bld-mobile-icons a,
.bld-mobile-icons i{
color:#356D9A !important;
font-size:18px !important;
display:flex !important;
align-items:center !important;
text-decoration:none !important;
}
.new-mobile-menu-btn .hamburger-icon{ display:block !important; }
.new-mobile-menu-btn .close-icon{ display:none !important; }
.new-mobile-menu-btn.menu-is-open .hamburger-icon{ display:none !important; }
.new-mobile-menu-btn.menu-is-open .close-icon{ display:block !important; }
.mobile-search-icon-wrapper a{ color:#356D9A !important; }
.mobile-search-icon-wrapper a i,
.mobile-search-icon-wrapper a .fa{ color:#356D9A !important; fill:#356D9A !important; }

/* navbar-collapse hidden */
.navbar-collapse{
position:absolute !important; top:70px !important; left:0 !important;
width:0 !important; height:0 !important; overflow:hidden !important;
visibility:hidden !important; opacity:0 !important; pointer-events:none !important;
}

.get-quote{ display:none !important; }

}









/* ========================= */
/* CUSTOM GRAY SCROLLBAR */
/* ========================= */
::-webkit-scrollbar {
    width: 5px !important;
}

::-webkit-scrollbar-track {
    background: #f1f1f1 !important; 
}

::-webkit-scrollbar-thumb {
    background: #888 !important; 
    border-radius: 5px !important;
}

::-webkit-scrollbar-thumb:hover {
    background: #555 !important; 
}