/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready

zigma*/
/* Add your custom styles here */

@import url('assets/fonts/fonts.css');
.elementor-heading-title{font-family: 'Nimbus Sans L'}
.container{margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; max-width:1140px;}
a{-moz-transition: all .2s linear;-webkit-transition: all .2s linear;}
.main-header.bar-short{background: #fff; box-shadow: rgb(0 0 0 / 9%) 0 0 15px;}
.main-header .elementskit-navbar-nav li.menu-btn{display: none}
.main-header .elementskit-navbar-nav li a{position: relative}
.main-header .elementskit-navbar-nav li a:after{position: absolute; left: 0; right: 0; width: 0; height: 2px;  bottom: 0; background:var( --e-global-color-primary ); content: ''; -moz-transition: all .2s linear;-webkit-transition: all .2s linear; margin: 0 auto}
.main-header .elementskit-navbar-nav li a:hover:after{width: 100%}
body {
overflow-x: hidden;
}
.single .site-main,
.archive .site-main{margin-left: auto; margin-right: auto; padding:100px 15px}
.archive .site-main > .page-content{display: flex; flex-wrap: wrap; margin-left:-15px; margin-right: -15px }
.single .site-main .post,
.archive .site-main .post{float: left; width: 33.3333%; padding: 15px}
.single .site-main .post .post-thumbnail,
.archive .site-main .post .post-thumbnail{margin-bottom: 15px}
.archive .site-main .post .post-thumbnail img{width: 100%; height: 250px; object-fit: cover;}
.single .site-main .post .post-thumbnail img{ height: auto}
.single .site-main .post .procaption,
.archive .site-main .post .procaption{padding: 15px 0 0 0}
.single .site-main .post .procaption .post-list,
.archive .site-main .post .procaption .post-list{display: flex; flex-wrap: wrap;gap:15px; padding: 0 0 15px 0}
.single .site-main .post .procaption .blog-title,
.archive .site-main .post .procaption .blog-title{margin:0 0 10px 0; padding:0; line-height: 1; font-size: 30px; font-weight: 600;}
.single .site-main .post .procaption .blog-title a,
.archive .site-main .post .procaption .blog-title a{color: #000; text-decoration: none}
.single .site-main .post .procaption .blog-title a:hover,
.archive .site-main .post .procaption .blog-title a:hover{color: #000; text-decoration: none}
.single .site-main .post .procaption .blog-desc,
.archive .site-main .post .procaption .blog-desc{}
.single-post .page-content h2.wp-block-heading,
.single-post .page-content h3.wp-block-heading,
.single-post .page-content h4.wp-block-heading,
.single-post .page-content h5.wp-block-heading,
.single-post .page-content h6.wp-block-heading{margin:0 0 15px 0; padding: 0;}
.single-post .page-content ul{margin:0 0 20px 18px; padding: 0;}
.single-post .page-content blockquote{font-size:20px;line-height:26px;border-left:5px solid #eee;margin:30px 0 35px 0;padding:0 20px;color:#000;font-weight:700;}
.single-post .post-content blockquote p{padding:0;margin:0;}
.single-post .page-content blockquote.no-sign{border:none;}
.single-post .page-content blockquote.quote-sign,
.single-post .page-content blockquote.has-sign{border:none;position:relative;padding:20px 20px 10px 60px;z-index:1;}
.single-post .page-content blockquote.quote-sign:before,
.single-post .page-content blockquote.has-sign:before{position:absolute;left:0;top:0;content:"“";height:25px;font-size:180px;line-height:0.8;font-weight:700;color:#eeeeee;z-index:-1;}
.single-post .page-content blockquote.double-quote-sign{border:none;position:relative;padding:20px 60px;z-index:1;}
.single-post .page-content blockquote.double-quote-sign:before,
.single-post .page-content blockquote.double-quote-sign:after{position:absolute;left:0;top:0px;content:"“";height:25px;font-size:180px;line-height:0.8;font-weight:700;color:#eeeeee;z-index:-1;}
.single-post .page-content blockquote.double-quote-sign:after{left:auto;right:0;top:auto;bottom:0;content:"”";}
.single-post .page-content blockquote.has-sign footer{padding-top:10px;font-size:14px;text-transform:uppercase;color:#808080;}
.wp-pagenavi{margin-top:35px;display:flex;flex-wrap:wrap;padding:0;justify-content:center;}
.wp-pagenavi > span,
.wp-pagenavi > a{background:transparent;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0.5rem 0.75rem;margin:0 1px; border:0}
.wp-pagenavi > span.pages{pointer-events:none;}
.wp-pagenavi > a{color:#000;text-decoration:none;}
.wp-pagenavi > a:hover{color:#000;}
.wp-pagenavi > .page-number,
.wp-pagenavi > .current,
.wp-pagenavi > span:hover,
.wp-pagenavi > a:hover{background:#000;color:#fff;border-radius:4px;}
.wp-pagenavi a:first-child:before{margin-right:0.5rem;}
.wp-pagenavi a:last-child:after{margin-left:0.5rem;}

/* Slider CSS */
.carousel-mainbanner .slick-track{height:calc(100vh - 89px)}
/*.carousel-mainbanner .banner-slider img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}*/
.home-box figure.elementor-image-box-img {
    background: #fff;
    border-radius: 100%;
    height: 90px;
    width: 115px;
}
.home-box.box-1 figure.elementor-image-box-img {
    padding: 26px 15px 15px 15px;
}
.home-box.box-2 figure.elementor-image-box-img {
    padding: 23px 15px 15px 22px;
}
.home-box.box-3 figure.elementor-image-box-img {
    padding: 21px 15px 15px 26px;
    width: 125px;
}
.about-text {
    color: #0278E7;
    font-weight: 500;
}
.about-white-text{
    color: #fff;
    font-weight: 500;
}
/* .ng-custom-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 30px;
  margin: 30px 0;
}

.ng-single-product-item {
  border: 1px solid #ddd;
  padding: 20px;
  background: #fff;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
} */

.ng-wedding-product-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  margin:0;
}

.ng-wedding-product-item {
  flex: 1 1 calc(25% - 30px); /* 4 columns with gap */
  max-width: calc(25% - 30px);
  background: #fff;
  border: 1px solid rgb(196, 196, 196);
  padding: 30px 20px 110px 20px;
  text-align: center;
  box-sizing: border-box;
  border-radius: 5px;
  transition: transform 0.3s ease;
  box-shadow: 0px 12px 32px 0px rgba(0, 0, 0, 0.04);
position: relative;

}

.ng-wedding-product-item:hover {
  transform: translateY(-5px);
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
  .ng-wedding-product-item {
    flex: 1 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}

@media (max-width: 600px) {
  .ng-wedding-product-item {
    flex: 1 1 100%;
    max-width: 100%;
  }
}


.ng-single-product-item:hover {
  transform: translateY(-5px);
}

.ng-product-image img {
  width: auto;
  height: 207px;
  object-fit: contain;
  margin-bottom: 15px;
}

.product-title {
  font-size: 18px;
  font-weight: 600;
  margin: 10px 0;
}

.product-description {
  font-size: 17px;
   
  line-height: 23px;
  margin-bottom: 15px;
}

.add_to_cart_button {
  background: #0073aa;
  color: #fff !important;
  padding: 10px 20px;
  text-decoration: none;
  display: inline-block;
  border-radius: 5px;
  transition: background 0.3s ease;
}

.add_to_cart_button:hover {
  background: #005f8d;
}

.offer-box .elementor-button {
background: #fff;
}
.section-error{text-align: center; padding:250px 15px 100px 15px}

.hero-banner h1{background: -webkit-linear-gradient(#00a7e4, #0153cc); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}


/* Table */
.ng-responsive-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 16px;
}

.ng-responsive-table thead {
  background-color: #f4f4f4;
}

.ng-responsive-table th,
.ng-responsive-table td {
  border: 1px solid #ddd;
  padding: 20px 28px 20px 30px;
  text-align: left;
  font-size: 17px;
    font-weight: 500;
    vertical-align: middle;
}
.t-price{
  font-size: 23px !important;
color: #0278e7;
font-weight: 700 !important;
}
.t-btn{
  font-size: 18px !important;
    padding: 10px !important;
    
}
.ng-btn {
    background-color: #fa5a40;
    color: white;
    padding: 15px 15px;
    text-decoration: none;
    border-radius: 4px;
    white-space: nowrap;
} 
.ng-btn:hover {
    background-color:#0278e7 !important;
    color: white;
}

.ng-btn:hover {
  background-color: #005f8d;
}
/* Products CSS */
.ws-products-list .product-title {
    color: #1a1f25;
    font-size: 23px;
    font-weight: 600;
    text-transform: capitalize;
}
/* .ng-wedding-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin: 30px 0;
}

.ng-wedding-product-item {
  background: #fff;
  border: 1px solid #ddd;
  padding: 20px;
  text-align: center;
  border-radius: 10px;
  transition: transform 0.3s ease;
} */

.ng-wedding-product-item:hover {
  transform: translateY(-5px);
}

.ng-product-img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  margin-bottom: 15px;
}

.ng-product-title {
  font-size: 22px;
  font-weight: bold;
  margin:0; padding: 0;
}

.ng-product-desc {
  font-size: 14px;
  color: #666;
  margin-bottom: 15px;
}
.t-color {
color: #0153cc !important;
}
.add_to_cart_button { position: absolute; left: 0; bottom: 40px; right: 0; margin: 0 auto;width: 133px;
  background:none; font-size: 17px; font-weight: 700;
  color: #fa5a40 !important; border: 1px solid #fa5a40; text-transform: uppercase;
  padding: 7px 15px;
  display: inline-block;
  border-radius: 5px;
  text-decoration: none; letter-spacing: 0.050rem;
}

.add_to_cart_button:hover {
  background: #fa5a40; color: #fff !important;
}
.home-newslater p{
 display:flex;
 gap:10px;
}
.home-newslater input[type="submit"] {border:0 !important;
padding:15px 35px 15px 35px !important;
background: #fa5a40 !important;
color: #fff !important;
height: 60px !important;outline: none !important;
}
.home-newslater input[type="submit"]:hover{background: #050f1c !important}
.home-newslater input[type=email] {outline: none !important;
      padding: 1rem 1rem !important;
  border-radius: 5px; border: 0; font-size: 16px;
  background-color: rgb(255, 255, 255);
   
   
  width: 420px;
  height: 60px;
  


}
.services-box .elementor-image-box-content {
margin-top: -15px;
}
.home-blog .elementskit-post-image-card {
box-shadow: none !important;
}
.home-blog  .elementskit-post-image-card:hover .elementskit-entry-thumb>img {transform:none !important}
.elementskit-entry-header img{

}
.home-table .t-heading {
font-size: 21px;;
line-height: 25px;
font-weight: 700;
}

.section-explore-product .ng-wedding-product-item{flex: 1 1 calc(20% - 30px);
    max-width: calc(20% - 30px);
  border-radius: 5px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 7px 22px 0px rgba(0, 0, 0, 0.08);
  border: 0; padding: 0 20px 120px 20px;
}
.section-explore-product .ng-product-img img{width: auto; height: 200px;}
.section-explore-product .ng-product-img{margin-top: -100px}
.section-explore-product .add_to_cart_button{width: 155px;}
.section-explore-product .ng-product-category{
  font-size: 16px;
  color: rgb(16, 46, 82);
  line-height: 1.5;
  text-align: center;
}
.section-explore-product .ng-product-category a{color: rgb(16, 46, 82);}


.section-pro-vending-machine .ng-product-img{margin-bottom: 25px;}
.section-pro-vending-machine .ng-product-img img{width: auto; height: 196px; margin: 0 auto}
.section-pro-vending-machine .ng-wedding-product-item{ margin: 0; padding:0 20px 100px 20px;max-width:none; border: 0; box-shadow: none; background: #fff;}
.section-pro-vending-machine .add_to_cart_button{width: 190px;}
.section-pro-vending-machine .ng-product-title{font-weight: 600; font-size: 20px; color: #1a1f25; margin: 0; padding: 0 0 20px 0}
.section-pro-vending-machine .ng-product-title a{color: #1a1f25}
.section-pro-vending-machine .ng-product-title a:hover{color: #fa5a40}
.section-pro-vending-machine .product-description{line-height: 25px;}
.section-pro-vending-machine .slick-track{display:flex !important;}
.section-pro-vending-machine .slick-slide{height:inherit !important;}
.section-pro-vending-machine .slick-dots{bottom: 0; text-align: center}
.section-pro-vending-machine .slick-dots{bottom: 0; text-align: center}
.section-pro-vending-machine .slick-dots li button{width: 8px; height: 8px; background: #9faece}
.section-pro-vending-machine .slick-dots li button:before{display: none}
.section-pro-vending-machine .slick-dots li.slick-active button{width:26px; background: #0278e7 !important;}

.custom-video1 .elementor-widget-container .elementor-open-lightbox{--video-aspect-ratio:0.99999 !important; border-radius: 4px !important;}
.custom-video1  .elementor-custom-embed-image-overlay img{border-radius: 4px !important;}


.section-clientsay .elementor-image-box-description{position: relative}
.section-clientsay .elementor-image-box-description:after{
  background-color: rgb(250, 90, 64);
  position: absolute;
  left: -40px;
  top: 0;
  width: 3px;
  height: 26px;
  content: '';
}

.home-contactfrm .mainrow{display: flex; flex-wrap: wrap}
.home-contactfrm .mainrow .col{width: 25%; padding: 0 10px; float: left;}
.home-contactfrm .mainrow br{display: none}
.home-contactfrm .mainrow p{ margin: 0; padding: 0}
.home-contactfrm .btnarea{text-align: center}
.home-contactfrm .wpcf7-spinner{position: absolute}

.main-footer .menu{ margin: 0; padding: 0; list-style: none}
.main-footer .menu li{ margin: 0 0 5px 0; padding: 0; list-style: none; font-size: 16px; color: #fff; }
.main-footer .menu li a{color: #fff; }
.main-footer .menu li a:hover{color: #01a7e5; }
.main-footer .ekit_social_media .icon{background: #1e2733; border-radius: 50%; width: 46px; height: 46px;display: flex
;margin-right: 5px;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;}
.main-footer .ekit_social_media a{display: flex !important; align-content: center; align-items: center;}
.main-footer .ekit_social_media li:last-child{margin-right: 0 !important}
.main-footer .ekit_social_media a:hover .icon{background: #373f49}
.main-footer .footer-copy{color: #fff; font-size: 16px; letter-spacing: 0.020rem;}
.main-footer .footer-copy p{ margin-bottom: 0; padding-bottom: 0}
.main-footer .footer-copy a{color: #fff;}
.main-footer .footer-copy a:hover{color: #01a7e5;}
.main-footer .footer-copy span{color: #505050; padding: 0 5px;font-size: 12px;}

@media only screen and (max-width: 1820px){
    .main-header .elementskit-navbar-nav li{margin-left:15px !important;margin-right:15px !important}
}

@media only screen and (max-width: 1730px){
    .main-header .elementskit-navbar-nav li{margin-left:10px !important;margin-right:10px !important}
    .main-header .elementskit-navbar-nav li a{font-size: 15px !important}
    .rightnavs{gap:20px !important}
}

@media only screen and (max-width: 1580px){
    .main-header .elementskit-navbar-nav li{margin-left:8px !important;margin-right:8px !important}
    .main-header .elementskit-navbar-nav li a{font-size: 14px !important}
    
}

@media only screen and (max-width: 1480px){
    .main-header .elementskit-navbar-nav li a{letter-spacing: 0.02em !important}
    .main-header .rightnavs .elementor-button{font-size: 15px !important; padding:35px 25px !important}
    
}

@media only screen and (max-width: 1380px){
    .main-header .elementskit-navbar-nav li a{letter-spacing: 0.015em !important; font-size: 13px !important;}
    .main-header .rightnavs .elementor-button{font-size: 13px !important; padding:31px 23px !important}
    .main-header .rightnavs .elementskit-menu-container{height:75px !important;}
}


@media only screen and (max-width: 1280px){
    .main-header .elementskit-navbar-nav li a{letter-spacing:-0.020rem !important; font-size: 13px !important;}
    .main-header .rightnavs .elementor-button{font-size: 13px !important; padding:33px 15px !important}
    .main-header .rightnavs{gap:5px !important}
}

@media only screen and (max-width: 1190px){
        .main-header .elementskit-navbar-nav li a { font-size: 11px !important; }
    .main-header .rightnavs .elementor-button{font-size: 11px !important; padding:25px 15px !important}
    .main-header .rightnavs .elementskit-menu-container{height:61px !important;}
        .main-header .elementskit-navbar-nav li {
        margin-left:6px !important;margin-right:6px !important
    }
    .carousel-mainbanner .slick-track{height:auto}
}





@media only screen and (max-width: 1199px){
    .blog .site-main, 
    .single .site-main, 
    .archive .site-main{padding: 60px 15px; max-width: 100% !important}   
    .section-explore-product .ng-wedding-product-item{    flex: 1 1 calc(33.3333% - 30px);
    max-width: calc(33.3333% - 30px); margin-top: 50px; margin-bottom: 50px;}
}

@media only screen and (max-width: 1024px){
    .ekit_menu_responsive_tablet .elementskit-submenu-indicator{border:0 !important; padding:0 !important; background:#00000029;width: 20px; height: 20px; display: flex !important; align-content: center; justify-content: center; align-items: center;}
    .elementskit-menu-overlay{display: none !important}
    .elementskit-menu-offcanvas-elements{max-width: 100% !important;-webkit-transition: left .2s ease-in-out !important; transition: left .2s ease-in-out !important;}
    .main-header .rightnavs .elementor-button{font-size: 16px !important; padding:30px 25px !important}
    .main-header .rightnavs .elementskit-menu-container{height:auto !important}
    .main-header .elementskit-navbar-nav li a{font-size: 16px !important;}
    .main-header .elementskit-navbar-nav li a:after{display: none}
    
    
}
    
@media only screen and (max-width: 991px){
.home-box figure.elementor-image-box-img {
    width: 140px;
}
.home-box.box-3 figure.elementor-image-box-img {
    width: 160px;
}
    .section-explore-product .ng-wedding-product-item{ flex: 1 1 calc(50% - 30px);
    max-width: calc(50% - 30px); margin-top: 50px; margin-bottom: 50px;}
}

@media only screen and (max-width: 767px){
    .blog .site-main .post,
    .single .site-main .post,
    .archive .site-main .post{width:100%;}
    .blog .site-main, 
    .single .site-main, 
    .archive .site-main{padding:40px 30px !important}
    .section-error{padding:130px 15px 50px 15px}
    .main-header .rightnavs .elementor-button {
        font-size: 15px !important;
        padding: 21px 18px 22px 18px !important;
    }

    .about-box .elementor-image-box-wrapper {
        display: flex

    }
    .about-box .elementor-image-box-content {
        margin-top: -12px;
    padding-left: 10px;
    padding-bottom: 10px;

    }
    .ng-custom-product-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ng-responsive-table thead {
    display: none;
  }

  .ng-responsive-table, .responsive-table tbody, .ng-responsive-table tr, .ng-responsive-table td {
    display: block;
    width: 100%;
  }

  .ng-responsive-table tr {
    margin-bottom: 15px;
    border: 0;
    padding: 0;
    background: #fff;
  }
    .ng-btn{padding: 10px 15px; font-size: 16px}

  .ng-responsive-table td {
    text-align: right;
    padding-left: 50%;
    position: relative;
  }

  .ng-responsive-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 15px;
    top: 12px;
    font-weight: bold;
    text-align: left;
  }

  .home-newslater p, .home-newslater input[type="submit"]  {
    display: block;
  }

 .home-newslater input[type="submit"] {
    margin-top: 20px;
  }
  .home-box figure.elementor-image-box-img, .home-box.box-3 figure.elementor-image-box-img {
    width: 92px;
}
.home-box .elementor-image-box-content { padding: 0 0 0 15px}
.home h2.elementor-heading-title {
font-size: 30px !important;
line-height: 40px !important;
}
    .home-box .elementor-image-box-wrapper{display: flex
;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;}
    .home-box .elementor-image-box-wrapper .elementor-image-box-img{width:96px}
    .home-box .elementor-image-box-wrapper .elementor-image-box-content{width: 75%}
    .add_to_cart_button { position: static; margin-top: 10px;}
    .ng-wedding-product-item{padding: 30px 20px 20px 20px}
    .section-explore-product .ng-wedding-product-item{ flex: 1 1 calc(100% - 30px);
    max-width: calc(100% - 30px); margin-top: 50px; margin-bottom: 50px;}
    .main-footer .ekit_social_media li{width: 100% !important}
    .main-footer .ekit_social_media .icon{margin-right: 8px;}
    .main-footer .footer-copy p{text-align: center}
    
    .section-pro-vending-machine .slick-dots {
    bottom: 30px; 
}
    .home-contactfrm .mainrow{    flex-direction: column;}
    .home-contactfrm .mainrow .col{width: 100%}
    .home-newslater input[type=email]{width: 100%}
}

@media (max-width: 480px) {
  .ng-custom-product-grid {
    grid-template-columns: 1fr;
  }
}


/* Zigma Reza */

/* === Category Title === */
.custom-category-title {
  font-size: 26px;
  font-weight: 700;
  color: #1a1f25;
  margin: 40px 0 20px;
  padding-left: 12px;
  border-left: 4px solid #0278E7;
}

/* === Product Grid Layout === */
.custom-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 30px;
  padding: 0 10px;
}

/* === Product Card === */
.custom-product-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 25px 20px 25px;
  text-align: center;
  box-shadow: 0px 12px 32px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease;
  position: relative;
}
.custom-product-card:hover {
  transform: translateY(-4px);
}

.custom-product-card img {
  width: auto;
  height: 190px;
  object-fit: contain;
  margin-bottom: 18px;
}

.custom-product-card h3 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 10px;
  color: #1a1f25;
  line-height: 1.3;
  height: 44px;
  overflow: hidden;
}

.custom-product-card .price {
  color: #0278E7;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 12px;
}

/* === ADD Button === */
/* === Modern Add Button === */
.modern-add-btn {
  background-color: #fa5a40 !important;
  color: white !important;
  border: none;
  padding: 10px 16px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 8px;
  transition: all 0.3s ease;
  width: 100%;
  text-align: center;
  display: inline-block;
  box-shadow: none;
}

.modern-add-btn:hover {
  background-color: #e14b34 !important;
  color: white !important;
}

/* === Quantity UI that replaces add button === */
.modern-qty-ui {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
}

/* === Circle + / - buttons === */
.modern-qty-ui button {
  background-color: #FA5A40!important;
  color: #fff!important;
  border: none!important;
  font-size: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  transition: background 0.3s ease;
}

.modern-qty-ui button:hover {
  background-color: #e14b32;
}

.modern-qty-ui .qty-count {
  font-size: 15px;
  font-weight: 600;
  color: #222;
  min-width: 24px;
  text-align: center;
}

/* Product Title - Modern Compact Style */
.custom-product-card h3,
.ng-wedding-product-item h2.product-title {
  font-size: 16px;
  font-weight: 600;
  color: #1a1f25;
  margin: 12px 0 6px;
  line-height: 1.4;
  text-transform: capitalize;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* === Quantity UI === */
 
@media (max-width: 600px) {
  .custom-product-card h3,
  .ng-wedding-product-item h2.product-title {
    font-size: 15px;
  }
	
	#floating-cart-box {
		
		max-height:300px;
	}
	
	
}
/* Modern quantity wrapper (already styled) */
 

/* === Floating Cart Box === */
#floating-cart-box {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #fff;
  border: 1px solid #ddd;
  padding: 15px;
  width: 300px;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  z-index: 9999;
  border-radius: 10px;
  font-family: sans-serif;
}

#floating-cart-box h4 {
  font-size: 16px;
  margin-bottom: 10px;
  color: #0278E7;
}

#floating-cart-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
#floating-cart-items li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding: 6px 0;
}
#floating-cart-items img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 6px;
  margin-right: 10px;
}
#floating-cart-items .item-meta {
  font-size: 13px;
  line-height: 1.2;
  color: #333;
}

.floating-cart-subtotal {
  font-weight: bold;
  font-size: 15px;
  margin: 10px 0 5px;
}

#floating-cart-box .button {
  display: block;
  background: #0278E7;
  color: white;
  padding: 10px 14px;
  text-align: center;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  margin-top: 10px;
}
#floating-cart-box .button:hover {
  background: #015bb9;
}

/* === Mobile Optimization === */
@media (max-width: 600px) {
  .custom-product-card {
    padding: 25px 15px 25px;
  }

  .custom-product-card img {
    height: 150px;
  }

  #floating-cart-box {
    width: 95%;
    right: 2.5%;
    bottom: 10px;
  }
}
/* Price above add button */
.modern-price {
  font-size: 14px;
  color: #888;
  margin-bottom: 10px;
  text-align: center;
}



/* Woocomerce buttons:

/* Unified WooCommerce Button Style */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .button {
    background-color: var(--e-global-color-accent) !important;
    font-family: "Inter", Sans-serif !important;
    font-size: 15px !important;   /* slightly smaller */
    font-weight: 600 !important;  /* not too bold */
    text-transform: none !important; /* no uppercase */
    line-height: 1.2em !important;
    letter-spacing: 0.04em !important;
    color: var(--e-global-color-19da735) !important;
    border-radius: 4px !important; /* softer edges */
    padding: 15px 25px !important; /* more natural button size */
    display: inline-block;
    text-align: center;
    border: none !important;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
	margin-top: 3em !important;
}

/* Hover / Focus */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-page .button:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}






.single-product h1  {
  font-size: 250% !important;
}


.single-product h2 { font-size: 100% !important;}


 
.entry-summary .cart .single_add_to_cart_button {
  margin-top:0em !important ;
}

















/* Zigma - Ryan */
/* Desktop column control via shortcode */
.ng-wedding-product-grid.ng-cols-1 .ng-wedding-product-item {
  flex: 1 1 100%;
  max-width: 100%;
}

.ng-wedding-product-grid.ng-cols-2 .ng-wedding-product-item {
  flex: 1 1 calc(50% - 30px);
  max-width: calc(50% - 30px);
}

.ng-wedding-product-grid.ng-cols-3 .ng-wedding-product-item {
  flex: 1 1 calc(33.333% - 30px);
  max-width: calc(33.333% - 30px);
}

.ng-wedding-product-grid.ng-cols-4 .ng-wedding-product-item {
  flex: 1 1 calc(25% - 30px);
  max-width: calc(25% - 30px);
}

/* Optional if you ever want 5–6 columns on wide screens */
.ng-wedding-product-grid.ng-cols-5 .ng-wedding-product-item {
  flex: 1 1 calc(20% - 30px);
  max-width: calc(20% - 30px);
}

.ng-wedding-product-grid.ng-cols-6 .ng-wedding-product-item {
  flex: 1 1 calc(16.666% - 30px);
  max-width: calc(16.666% - 30px);
}

