.home .bg-overlay {
   background: linear-gradient(90deg, var(--ecbz-primary), transparent) !important;
}
.home {
   background-image: url("../../dummy-image.jpg");
}
.home:before {
   content: "";
   position: absolute;
   inset: 0; /* top: 0; right: 0; bottom: 0; left: 0 */
   background-color: rgba(0, 0, 0, 0.5); /* black shadow with 50% opacity */
   z-index: 2;
}
.home .container {
   position: relative;
   z-index: 3;
}
.swi .swi-card {
   border: none;
   background: transparent;
   padding: 28px 29px;
   position: relative;
   border-radius: 10px;
}
.swi .swi-card:hover {
   color: rgba(0, 119, 109, 0.9);
}
.swi .swi-card:hover:before {
   height: 100%;
   width: 100%;
   background-color: rgba(0, 119, 109, 0.2);
}
.swi .swi-card::before {
   content: "";
   height: 80px;
   width: 80px;
   position: absolute;
   bottom: 0;
   left: 0;
   transition: all 0.5s ease;
   z-index: -1;
}
.swi .swi-heading {
   position: relative;
   font-size: 28px;
   margin-bottom: 4px;
}
.swi .swi-heading::before {
   content: "";
   position: absolute;
   background-color: rgba(0, 119, 109, 0.4);
   /*height: 50px;*/
   /*width: 50px;*/
   /*bottom: -14px;*/
   border-radius: 100% 38% 100% 51%/45% 49% 100% 100%;
   z-index: -1;
   transform: translateX(-50%);
   height: 38px;
   width: 38px;
   bottom: 0;
   left: 15px;
}
.swi .swi-list {
   margin: 30px 0;
   list-style: none;
   padding: 0;
}
.swi .swi-list li {
   position: relative;
   display: flex;
   padding: 15px 25px 15px 15px;
   margin: 0;
   border-bottom: 1px solid rgba(0, 119, 109, 0.09);
   transition: all 0.3s ease;
   font-size: 14px;
   color: #839393;
}
.swi .swi-list li:hover {
   background: rgba(0, 119, 109, 0.2);
   border-radius: 8px;
}
.swi .swi-list li i {
   margin-right: 8px;
   font-size: 22px;
   line-height: 19px;
}
div.fs-17 p {
   font-size: 17px !important;
}
.text-muted {
   color: #839393 !important;
   --bs-text-opacity: 1;
}
.text-muted p {
   color: #839393 !important;
   --bs-text-opacity: 1;
}
.btn-whatsapp {
   background-color: #075E54 !important;
}
.bg-half-80 {
   padding: 80px 0;
   background-size: cover;
   align-self: center;
   position: relative;
   background-position: center center;
}
.d-table {
   display: table !important;
}
.bg-gradient-overlay {
   background: linear-gradient(to bottom, rgba(22, 28, 45, 0.5) 0%, rgba(22, 28, 45, 0.6) 25%, rgba(22, 28, 45, 0.7) 50%, rgba(22, 28, 45, 0.8) 100%);
}
.bg-gradient-overlay-90 {
   background: linear-gradient(to left, rgba(22, 28, 45, 0.5) 0%, rgba(22, 28, 45, 0.6) 25%, rgba(22, 28, 45, 0.7) 50%, rgba(22, 28, 45, 0.8) 100%);
}
/*.bg-gradient-overlay-right-90 {*/
/*   background: linear-gradient(to right, rgba(22, 28, 45, 0.9) 25%, rgba(22, 28, 45, 0.7) 50%, rgba(22, 28, 45, 0.2) 75%, transparent 100%);*/
/*}*/
.bg-blue-overlay {
   background: linear-gradient(to bottom, rgba(22, 28, 45, 0.5) 0%, rgba(22, 28, 45, 0.6) 25%, rgba(22, 28, 45, 0.7) 50%, rgba(22, 28, 45, 0.8) 100%);
}
.bg-overlay:has(.bg-blue-overlay) {

}
.bg-primary-gradient-overlay {
   background: linear-gradient(
      to bottom,
      rgba(var(--ecbz-primary-rgb), 0.5) 0%,
      rgba(var(--ecbz-primary-rgb), 0.6) 25%,
      rgba(var(--ecbz-primary-rgb), 0.7) 50%,
      rgba(var(--ecbz-primary-rgb), 0.8) 100%
   ) !important;
}
.bg-secondary-gradient-overlay {
   background: linear-gradient(
      to bottom,
      rgba(var(--ecbz-secondary-rgb), 0.5) 0%,
      rgba(var(--ecbz-secondary-rgb), 0.6) 25%,
      rgba(var(--ecbz-secondary-rgb), 0.7) 50%,
      rgba(var(--ecbz-secondary-rgb), 0.8) 100%
   ) !important;
}
.title-heading {
   line-height: 26px;
}
.title-heading .heading.page-heading {
   font-size: 36px !important;
}
.title-heading .ttl-heading {
   font-size: 45px !important;
   letter-spacing: 1px;
}
@media (max-width: 768px) {
   .title-heading .heading.page-heading {
      font-size: 30px !important;
   }
}
.position-middle-bottom {
   position: absolute;
   bottom: 15px;
   left: 12px;
   right: 12px;
   text-align: center;
}
.contact-icon > span {
   display: block;
}
.contact-icon {
   display: flex;
   flex-direction: column;
   flex-grow: 1;
   column-gap: 10px;
   .list-inline-item:not(:last-child) {
      margin-bottom: 5px;
   }
   li {
      a {
         color: var(--ecbz-primary);
         border: 1px solid var(--ecbz-primary-light);
         display: inline-block;
         height: 32px;
         text-align: center;
         font-size: 15px;
         width: 32px;
         line-height: 30px;
         transition: all 0.4s ease;
         border-radius: 7px;
         margin-right: 5px;
         &:hover {
            background-color: #bbbaba14;
            color: var(--ecbz-primary);
         }
      }
   }
}
.section.partners {
   padding-top: 40px;
   padding-bottom: 40px;
   position: relative;
   background-color: rgba(187, 186, 186, 0.08) !important;
   overflow: hidden;
}
.image-wrapper img {
   width: 100%;
   height: 100%;
   object-fit: cover;     /* fills the area */
   object-position: center;
   display: block;
}
.owl-carousel img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 5px;
}
.owl-stage .owl-item {
   align-content: center !important;
   justify-items: center !important;
}
.team {
   background-color: inherit !important;
   overflow: hidden;
}
.component {
   /*background-color: rgba(187, 186, 186, 0.08);*/
   overflow: hidden;
}
.component .component-card {
   border-radius: 10px;
   box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
   background-color: var(--ecbz-white);
}
.component .component-card .component-card-img {
   position: relative;
   overflow: hidden;
}
.component .component-card .component-card-img img {
   transition: 0.5s ease-in-out;
   border-radius: 10px 10px 0 0;
}
.component .component-card .component-card-img .component-social-icons {
   position: absolute;
   left: 30px;
   bottom: 0;
}
.component .component-card .component-card-img .component-social-icons ul {
   margin: 0;
   padding: 0;
   list-style: none;
}
.component .component-card .component-card-img .component-social-icons ul li {
   display: inline-block;
   transition: 0.5s ease-in-out;
   transform: rotateX(90deg);
   transform-origin: bottom;
}
.component .component-card .component-card-img .component-social-icons ul li a {
   width: 35px;
   height: 30px;
   font-size: 15px;
   border-radius: 5px 5px 0 0;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: var(--ecbz-white);
   background-color: #252d31;
}
.component .component-card .component-card-img .component-social-icons ul li a:hover {
   background-color: var(--ecbz-primary);
}
.component .component-card .component-card-img .component-social-icons ul li:nth-child(odd) {
   transition: 0.9s ease-in-out;
}
.component .component-card .component-card-text-2 {
   padding: 22px;
}
.component .component-card:hover .component-card-img img {
   transform: scale(1.05);
}
.component .component-card:hover .component-card-img .component-social-icons ul li {
   transform: rotateX(0);
}

.navbar-custom .navbar-collapse .navbar-nav .nav-item .nav-link {
   /*color: #3c4858 !important;*/
   font-weight: 600;
}
/*.navbar-custom .navbar-collapse .navbar-nav .nav-item .nav-link.active {*/
/*   color: var(--ecbz-primary) !important;*/
/*}*/

.banner-section {
   padding-top: 100px;
   padding-bottom: 100px;
   position: relative;
}
/*.bg-light {*/
/*   background-color: #f7f8fa !important;*/
/*}*/
.bg-ecb-primary {
   background-color: var(--ecbz-primary) !important;
}
.banner-section h2 {
   color: var(--ecbz-white);
}
.breadcrumb {
   letter-spacing: 0.5px;
   padding: 8px 24px;
   display: block;
}
.breadcrumb.breadcrumb-muted .breadcrumb-item a {
   color: rgba(255, 255, 255, 0.7);
}
.breadcrumb.breadcrumb-muted .breadcrumb-item a:hover {
   color: var(--ecbz-primary) !important;
}
/*.breadcrumb.breadcrumb-muted .breadcrumb-item:after {*/
/*   color: rgba(255, 255, 255, 0.5);*/
/*}*/
.breadcrumb.breadcrumb-muted .breadcrumb-item.active {
   color: var(--ecbz-primary) !important;
}
.breadcrumb .breadcrumb-item {
   text-transform: uppercase;
   font-size: 13px;
   font-weight: 500;
   padding-left: 0;
   display: inline-block;
}
.breadcrumb .breadcrumb-item a {
   color: #f7f8fa;
   transition: all ease-in-out 0.5s;
}
.breadcrumb .breadcrumb-item a:hover {
   color: var(--ecbz-secondary);
}
.breadcrumb .breadcrumb-item.active {
   color: var(--ecbz-primary);
}
.breadcrumb .breadcrumb-item:before {
   content: "";
}
.breadcrumb .breadcrumb-item:after {
   content: "\F0142" !important;
   font-size: 15px;
   color: #f7f8fa;
   font-family: 'Material Design Icons';
   padding-left: 7px;
}
.breadcrumb .breadcrumb-item:last-child:after {
   display: none;
}
.shadow {
   box-shadow: 0 0 3px rgba(60, 72, 88, 0.15) !important;
}
.rounded {
   border-radius: 6px !important;
}
.rounded-bottom-left-0 {
   border-bottom-left-radius: 0 !important;
}
.rounded-top-left-0 {
   border-top-left-radius: 0 !important;
}
.rounded-bottom-right-0 {
   border-bottom-right-radius: 0 !important;
}
.rounded-top-right-0 {
   border-top-right-radius: 0 !important;
}
.blog.blog-primary .title:hover,
.blog.blog-primary .link:hover {
   color: var(--ecbz-primary) !important;
}
.blog.blog-secondary .title:hover,
.blog.blog-secondary .link:hover {
   color: var(--ecbz-secondary) !important;
}
.blog.blog-success .title:hover,
.blog.blog-success .link:hover {
   color: #8dc351 !important;
}
.blog.blog-warning .title:hover,
.blog.blog-warning .link:hover {
   color: #f1af2d !important;
}
.blog.blog-info .title:hover,
.blog.blog-info .link:hover {
   color: #09a5be !important;
}
.blog.blog-danger .title:hover,
.blog.blog-danger .link:hover {
   color: #e84142 !important;
}
.blog.blog-dark .title:hover,
.blog.blog-dark .link:hover {
   color: #3c4858 !important;
}
.blog.blog-muted .title:hover,
.blog.blog-muted .link:hover {
   color: #8c98a4 !important;
}
.blog.blog-light .title:hover,
.blog.blog-light .link:hover {
   color: #f7f8fa !important;
}
.blog.blog-blue .title:hover,
.blog.blog-blue .link:hover {
   color: #3274f0 !important;
}
.blog.blog-footer .title:hover,
.blog.blog-footer .link:hover {
   color: #1e273e !important;
}
.blog {
   transition: all 0.5s ease;
}
.blog.blog-image .content {
   position: absolute;
   bottom: -30px;
   left: 0;
   transition: all 0.5s ease;
}
.blog.blog-image .content .author {
   opacity: 0;
   transition: all 0.5s ease;
}
.blog.blog-image:hover .content {
   bottom: 24px;
}
.blog.blog-image:hover .content .author {
   opacity: 1;
}
.blog .image .blog-tag {
   position: absolute;
   bottom: -30px;
   left: 24px;
   transition: all 0.5s ease;
   opacity: 0;
}
.blog:hover {
   box-shadow: 0 10px 25px rgba(60, 72, 88, 0.15) !important;
}
.blog:hover .image .blog-tag {
   bottom: 20px;
   opacity: 1;
}
.blog .blog-line {
   position: absolute;
   top: 50%;
   transform: translateY(50%);
   left: 0;
   right: 0;
   border-top: 1px dashed;
}
.blog .blog-icon {
   position: relative;
   width: 50px;
   height: 50px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #f8f9fa;
   font-size: 20px;
}
.card.blog {
   border: none;
}
.card .card-img .card-overlay {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   opacity: 0;
   background: linear-gradient(to bottom, transparent 0%, transparent 25%, transparent 35%, rgba(22,28,45,0.9) 100%);
   transition: all 0.5s ease;
}
.card:hover .card-img .card-overlay {
   opacity: 1;
}
.mt-100 {
   margin-top: 100px;
}
.mt-80 {
   margin-top: 80px;
}
.mt-30 {
   margin-top: 30px;
}
@media (max-width: 768px) {
   .mt-60 {
      margin-top: 60px;
   }
}
.sticky-bar {
   position: sticky !important;
   top: 80px;
}
.sidebar .widget .widget-title {
   font-weight: 500;
}
.sidebar .widget .title:hover {
   color: var(--ecbz-primary) !important;
}
.sidebar .widget .widget-search form {
   position: relative;
}
.sidebar .widget .widget-search input[type="text"], .sidebar .widget .searchform input[type="text"] {
   box-shadow: none;
   padding: 12px 15px;
   height: 45px;
   font-size: 14px;
   display: block;
   width: 100%;
   outline: none !important;
   padding-right: 45px;
}
.sidebar .widget .widget-search input[type="submit"], .sidebar .widget .searchform input[type="submit"] {
   position: absolute;
   top: 5px;
   right: 10px;
   opacity: 0;
   width: 40px;
   height: 40px;
}
.sidebar .widget .widget-search .searchform:after {
   content: "\F0349";
   position: absolute;
   font-family: "Material Design Icons";
   right: 16px;
   top: 15px;
   font-size: 20px;
   line-height: 20px;
   pointer-events: none;
}
.sidebar .widget .widget-title {
   font-weight: 500;
}
.sidebar .widget .tagcloud > a {
   background: #f8f9fa;
   display: inline-block;
   font-size: 10px;
   letter-spacing: 1px;
   margin: 5px;
   padding: 6px 10px;
   text-transform: uppercase;
   transition: all 0.5s ease;
}
.sidebar .widget .tagcloud > a:hover {
   background: var(--ecbz-primary);
   color: #ffffff !important;
}

.card.skill-card {
   border-left: none !important;
   border-top: none !important;
   border-bottom: none !important;
   border-right: 6px solid var(--ecbz-primary) !important;
   box-shadow: rgba(0, 0, 0, 0.04) 0 8px 24px !important;
   margin: 16px 0;
   border-radius: 10px !important;
   display: flex;
}
.card.skill-card .card-body {
   padding: 1rem !important;
}
.card.skill-card .skill-details p {
   margin: 0 !important;
}
.card.skill-card.shift-left {
   border-right-color: var(--ecbz-secondary);
}
@media (min-width: 991px) {
   .card.skill-card {
      width: 95%;
   }
   .card.skill-card.shift-left {
      margin-left: -30px;
   }
}
.skill-card .skill-heading {
   color: var(--ecbz-secondary);
   margin-bottom: 8px;
}
.skill-card .skill-details p {
   color: #9da9bb;
   font-size: 15px !important;
   line-height: 1.2 !important;
   text-wrap: wrap;
}
.object-cover {
   object-fit: cover;
   border-radius: 12px;
}
.image.card-img {
   position: relative;
   width: 100%;
   height: 100%; /* or set fixed height in inline or CSS */
}
.img-cover {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center; /* centers the crop */
   display: block;
}
.section .details ul {
   list-style: none;
   padding: 0;
   margin-bottom: 0 !important;
}
/*.section .details ol {*/
/*   padding: 0;*/
/*}*/
.section .details ul li {
   display: flex;
   /*text-align: start;*/
}
.text-muted.details ul li > p {
   margin-top: 0 !important;
   margin-bottom: 0 !important;
}
.section .details ul li:before {
   content: "\F09DF";
   font-family: 'Material Design Icons', system-ui;
   font-size: 30px;
   /*position: absolute;*/
   align-content: start;
   padding-right: 5px;
   color: var(--ecbz-secondary);
   line-height: 1; /* prevents extra vertical spacing */
   left: 0;
   top: 2px; /* tweak for vertical alignment */
}
.section .details.safari ul,
.section .details.excursion ul {
   margin-bottom: 10px !important;
}
.section .details.safari ul li,
.section .details.excursion ul li {
   position: relative;
   padding-left: 25px; /* space for the icon */
}
.section .details.safari ul li:before,
.section .details.excursion ul li:before {
   content: "\F09DF" !important;
   font-family: 'Material Design Icons';
   font-size: 30px;
   line-height: 1; /* prevents extra vertical spacing */
   position: absolute;
   left: 0;
   top: 2px; /* tweak for vertical alignment */
   color: var(--ecbz-secondary);
}
.section .details ul li > *, .section .details ol li p {
   margin-bottom: 0 !important;
   /*font-weight: 500;*/
}
.text-muted.details.room p {
   line-height: 1.4 !important;
}

.cart-count.updated {
   animation: pulse 0.3s ease-in-out;
}
@keyframes pulse {
   0% { transform: translate(-50%, -50%) scale(1); }
   50% { transform: translate(-50%, -50%) scale(1.2); }
   100% { transform: translate(-50%, -50%) scale(1); }
}
.empty-cart {
   background: #f8f9fa;
   border-radius: 8px;
   /*margin: 2rem 0;*/
}
.qty-controls input[type="number"] {
   -moz-appearance: textfield;
}
.qty-controls input[type="number"]::-webkit-outer-spin-button,
.qty-controls input[type="number"]::-webkit-inner-spin-button {
   -webkit-appearance: none;
   margin: 0;
}
.cart-items-container tr[data-cart-item] {
   transition: opacity 0.3s ease;
}

.property-title {
   font-size: 1.75rem;
   font-weight: 600;
}
.property-price {
   font-size: 1.5rem;
   font-weight: bold;
   color: var(--bs-primary);
}
.property-gallery img {
   width: 100%;
   display: block;
   object-fit: cover;
}
.agent-contact-card {
   background-color: #fff;
}
.agent-phone {
   font-size: 1.25rem;
}
.contact-form input,
.contact-form textarea {
   font-size: 0.9rem;
}
.bg-home.section-bg {
   height: 100vh !important;
}

/*
*  start luxella specific styles
*  these styles can be commented out
*  when we switch to other website git branches
*/
/*body {*/
/*   font-family: 'Dosis', 'Montserrat', 'Quicksand', 'Muli', 'Helvetica Neue', Arial, sans-serif !important;*/
/*   color: var(--ecbz-black) !important;*/
/*   font-size: 16px;*/
/*   font-weight: 400 !important;*/
/*}*/
/*h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {*/
/*   font-family: "Symphony", "Montserrat", "Muli", sans-serif !important;*/
/*   font-weight: 900;*/
/*   line-height: 1.4;*/
/*}*/
/*#topnav {*/
/*   font-family: "Abril Fatface", "Montserrat", "Poppins", sans-serif;*/
/*}*/
/*#topnav .navigation-menu.nav-light > li > a {*/
/*   color: var(--ecbz-primary) !important;*/
/*}*/
/*#topnav.nav-sticky .navigation-menu.nav-light > li:hover > a,*/
/*#topnav.nav-sticky .navigation-menu.nav-light > li.active > a {*/
/*   color: var(--ecbz-secondary) !important;*/
/*}*/
/*#topnav .navigation-menu.nav-light > li.active > a {*/
/*   color: var(--ecbz-secondary) !important;*/
/*}*/
/*.card, .custom-form, .social-icon li a, .empty-cart, input,*/
/*.input-group > .form-control, .form-control, .widget-title,*/
/*.dropdown-menu {*/
/*   border-radius: 0 !important;*/
/*}*/
/*
*  end luxella specific styles
*/

.centered-logo-header .header-wrapper {
   display: flex;
   align-items: center;
   justify-content: space-between;
   position: relative;
   padding: 1rem 0;
}
.centered-logo-header .logo-center {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   z-index: 10;
   background: transparent;
}
.centered-logo-header .logo-center .logo {
   display: flex;
   align-items: center;
   justify-content: center;
}
.centered-logo-header .nav-left {
   flex: 1;
   display: flex;
   justify-content: flex-start;
   padding-right: 2rem;
}
.centered-logo-header .nav-left .navigation-menu {
   display: flex;
   align-items: center;
   list-style: none;
   margin: 0;
   padding: 0;
   gap: 0;
}
.centered-logo-header .nav-left .navigation-menu > li {
   display: inline-block;
   position: relative;
   margin: 0;
}
.centered-logo-header .nav-left .navigation-menu > li > a {
   padding: 1rem 1.25rem;
   display: block;
   color: rgba(255, 255, 255, 0.9);
   font-size: 14px;
   font-weight: 500;
   letter-spacing: 0.5px;
   text-transform: uppercase;
   transition: all 0.3s ease;
}
.centered-logo-header .nav-left .navigation-menu > li > a:hover,
.centered-logo-header .nav-left .navigation-menu > li.active > a {
   color: #ffffff;
}
.centered-logo-header .nav-right {
   flex: 1;
   display: flex;
   justify-content: flex-end;
   padding-left: 2rem;
}
.centered-logo-header .nav-right .navigation-menu {
   display: flex;
   align-items: center;
   list-style: none;
   margin: 0;
   padding: 0;
   gap: 0;
}
.centered-logo-header .nav-right .navigation-menu > li {
   display: inline-block;
   position: relative;
   margin: 0;
}
.centered-logo-header .nav-right .navigation-menu > li > a {
   padding: 1rem 1.25rem;
   display: block;
   color: rgba(255, 255, 255, 0.9);
   font-size: 14px;
   font-weight: 500;
   letter-spacing: 0.5px;
   text-transform: uppercase;
   transition: all 0.3s ease;
}
.centered-logo-header .nav-right .navigation-menu > li > a:hover,
.centered-logo-header .nav-right .navigation-menu > li.active > a {
   color: #ffffff;
}
.centered-logo-header .navigation-menu .has-submenu .submenu {
   position: absolute;
   top: 100%;
   left: 0;
   min-width: 220px;
   background: #ffffff;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
   border-radius: 4px;
   opacity: 0;
   visibility: hidden;
   transform: translateY(10px);
   transition: all 0.3s ease;
   z-index: 1000;
   padding: 0.5rem 0;
}
.centered-logo-header .navigation-menu .has-submenu:hover > .submenu {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}
.centered-logo-header .navigation-menu .submenu li {
   display: block;
   margin: 0;
}
.centered-logo-header .navigation-menu .submenu li a {
   display: block;
   padding: 0.75rem 1.5rem;
   color: #333;
   font-size: 13px;
   font-weight: 500;
   text-transform: none;
   letter-spacing: normal;
   transition: all 0.3s ease;
}
.centered-logo-header .navigation-menu .submenu li a:hover {
   background: #f8f9fa;
   color: #4CAF50;
   padding-left: 1.75rem;
}
.centered-logo-header .header-actions {
   display: flex;
   align-items: center;
   gap: 1rem;
   margin-left: 1.5rem;
}
.centered-logo-header .header-actions li {
   margin: 0;
}
.centered-logo-header .header-actions a,
.centered-logo-header .header-actions button {
   color: rgba(255, 255, 255, 0.9);
   transition: all 0.3s ease;
}
.centered-logo-header .header-actions a:hover,
.centered-logo-header .header-actions button:hover {
   color: #ffffff;
}
.centered-logo-header .menu-extras {
   display: none;
   z-index: 20;
}
.centered-logo-header.sticky {
   background: rgba(255, 255, 255, 0.98);
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.centered-logo-header.sticky .nav-left .navigation-menu > li > a,
.centered-logo-header.sticky .nav-right .navigation-menu > li > a {
   color: #333;
}
.centered-logo-header.sticky .nav-left .navigation-menu > li > a:hover,
.centered-logo-header.sticky .nav-left .navigation-menu > li.active > a,
.centered-logo-header.sticky .nav-right .navigation-menu > li > a:hover,
.centered-logo-header.sticky .nav-right .navigation-menu > li.active > a {
   color: #4CAF50;
}
.centered-logo-header.sticky .header-actions a,
.centered-logo-header.sticky .header-actions button {
   color: #333;
}
.mobile-navigation {
   display: none;
}
@media (max-width: 1199px) {
   .centered-logo-header .nav-left .navigation-menu > li > a,
   .centered-logo-header .nav-right .navigation-menu > li > a {
      padding: 1rem 1rem;
      font-size: 13px;
   }
}
@media (max-width: 991px) {
   .centered-logo-header .header-wrapper {
      flex-wrap: wrap;
      justify-content: space-between;
   }
   .centered-logo-header .logo-center {
      position: static;
      transform: none;
      order: 1;
   }
   .centered-logo-header .nav-left,
   .centered-logo-header .nav-right {
      display: none;
   }
   .centered-logo-header .header-actions {
      order: 2;
      margin-left: auto;
      margin-right: 1rem;
   }
   .centered-logo-header .menu-extras {
      display: block;
      order: 3;
   }
   .mobile-navigation {
      display: block;
      width: 100%;
      order: 4;
      margin-top: 1rem;
      background: #ffffff;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
   }
   .mobile-navigation.show {
      max-height: 500px;
      overflow-y: auto;
   }
   .mobile-navigation .navigation-menu {
      list-style: none;
      padding: 1rem 0;
      margin: 0;
   }
   .mobile-navigation .navigation-menu > li {
      display: block;
      border-bottom: 1px solid #f0f0f0;
   }
   .mobile-navigation .navigation-menu > li:last-child {
      border-bottom: none;
   }
   .mobile-navigation .navigation-menu > li > a {
      display: block;
      padding: 1rem 1.5rem;
      color: #333;
      font-size: 14px;
      font-weight: 500;
      text-transform: uppercase;
   }
   .mobile-navigation .navigation-menu .submenu {
      display: none;
      background: #f8f9fa;
      padding: 0.5rem 0;
   }
   .mobile-navigation .navigation-menu .has-submenu.open > .submenu {
      display: block;
   }
   .mobile-navigation .navigation-menu .submenu li a {
      padding: 0.75rem 2.5rem;
      font-size: 13px;
      color: #666;
   }
}
@media (max-width: 768px) {
   .centered-logo-header .logo-center img {
      max-height: 50px !important;
   }
   .centered-logo-header .header-actions {
      gap: 0.5rem;
   }
   .centered-logo-header .header-actions .ti {
      font-size: 1.25rem;
   }
}

.video-section {
   position: absolute;
   background-color: rgba(0, 0, 0, 0.4);
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   overflow: hidden;
}
.video-section video {
   pointer-events: none;
}
/*.hero-video {*/
/*   width: 100%;*/
/*   height: auto;*/
/*   min-height: 100%;*/
/*   object-fit: cover;*/
/*   display: block;*/
/*}*/
.video-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(
      to right,
      rgba(0,0,0,.7),
      rgba(0,0,0,.4),
      rgba(0,0,0,.2)
   );
   pointer-events: none;
}
video::-moz-media-controls-enclosure {
   display: none !important;
}
/* or for specific buttons */
video::-moz-media-controls-fullscreen-button {
   display: none !important;
}
.hero-slide {
   position: relative;
}
.hero-video-wrapper{
   position: absolute;
   inset: 0;
   overflow: hidden;
   z-index: 0;
}
.hero-video{
   position: absolute;
   top: 50%;
   left: 50%;
   width: 100vw;
   height: 56.25vw;
   min-width: 177.77vh;
   min-height: 100vh;
   transform: translate(-50%,-50%);
   pointer-events: none;
   border: none;
}

.navbar .navbar-nav .nav-item > .nav-link {
   /*text-transform: capitalize;*/
   color: var(--ecbz-primary);
}
.text-muted.details p, .details p, .details {
   /*margin: 0 !important;*/
   /*line-height: 1.8;*/
   color: var(--ecbz-body-text-color) !important;
}
/*.section .text-muted.details h1,*/
/*.section .text-muted.details h2,*/
/*.section .text-muted.details h3,*/
/*.section .text-muted.details h4,*/
/*.section .text-muted.details h5,*/
/*.section .text-muted.details h6 {*/
/*   color: var(--ecbz-primary) !important;*/
/*}*/
.btn.btn-icon.btn-sm.btn-whatsapp {
   height: auto;
   width: auto;
}
.title {
   color: var(--ecbz-primary);
   box-shadow: none !important;
   text-shadow: none !important;
}
.sub-title {
   color: var(--ecbz-secondary) !important;
   font-family: 'Montserrat', system-ui !important;
   font-size: 12px;
   font-weight: 500;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}
/*.title {*/
/*   margin-bottom: 1.5rem;*/
/*}*/
.service .image img {
   min-height: 230px;
   max-height: 250px;
   border-radius: 6px 6px 0 0;
   object-fit: cover;
}
@media (min-width: 991px) {
   .safari.image img, .excursion.image img, .destination.image img {
      min-height: 450px;
      max-height: 480px;
      border-radius: 6px 6px 0 0;
      object-fit: cover;
   }
}

#topnav .navigation-menu.nav-right > li:last-child a {
   padding-right: 20px;
}
.navbar .navbar-nav .nav-item.dropdown nav-link,
.navbar .navbar-nav .nav-item.dropdown .dropdown-menu li .nav-link.active {
   color: var(--ecbz-secondary);
}
@media (min-width: 768px) {
   #topnav .navigation-menu > li.has-submenu:hover > .submenu {
      visibility: visible;
      opacity: 1;
      margin-top: 0;
   }
}
@media (min-width: 768px) {
   #topnav .navigation-menu > li.has-submenu:hover > .submenu > li.has-submenu:hover > .submenu {
      margin-right: 3px;
   }
}
.navbar-nav .dropdown:hover > .dropdown-menu {
   display: block;
   margin-top: 0;
}
.dropdown-menu .dropdown-menu {
   right: 100%;
   top: 0;
   margin-top: -1px;
}
.dropdown-menu > li:hover > .dropdown-menu {
   display: block;
}
.card.service .card-body.content p {
   line-height: 1.8 !important;
}
.section:has(#sub-services-wrapper) {
   overflow: visible !important;
}
#sub-services-wrapper {
   position: relative;
}
#sub-services-nav {
   position: sticky;
   top: 80px;
   z-index: 10;
   /*background: #f8f9fa;*/
}
#sub-services-wrapper {
   overflow: visible;
}
.sub-service-link {
   position: relative;
   padding: 10px 18px;
   font-size: 14px;
   background-color: #f7f8fa !important;
   color: var(--ecbz-secondary) !important;
   text-decoration: none;
   transition: all 0.5s ease-in-out;
}
.sub-service-link:hover, .sub-service-link:hover, .sub-service-link.active {
   background-color: var(--ecbz-primary) !important;
   color: var(--ecbz-white) !important;
}
.sub-service-link a:hover {
   color: var(--ecbz-secondary) !important;
}
.sub-service-link.active a:hover {
   color: var(--ecbz-white) !important;
}
/*.sub-service-link.active::after {*/
/*   content: "";*/
/*   position: absolute;*/
/*   left: 0;*/
/*   bottom: -4px;*/
/*   width: 100%;*/
/*   height: 2px;*/
/*   background: var(--ecbz-primary);*/
/*}*/
.card.course, .card.safari {
   border: 1px solid #e9ecef !important;
   background-color: #f6f6f8;
}
/*.section .card.course .details ul li:before {*/
/*   content: "." !important;*/
/*   font-weight: 900 !important;*/
/*   justify-content: start !important;*/
/*   align-content: center !important;*/
/*}*/
.btn.btn-clear {
   color: var(--ecbz-white);
   background-color: transparent !important;
   border-color: var(--ecbz-white) !important;
}
.fw-bold {
   font-weight: 900 !important;
}
.pb-80 {
   padding-bottom: 80px !important;
}
#course-link-wrapper {
   padding-bottom: 80px;
   overflow: visible;
}
#course-links-nav {
   position: sticky !important;
   top: 90px !important; /* match the header height */
   z-index: 100 !important;
   background: #f8f9fa;
}
.course-links {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}
.course-links .course-link {
   padding: 0 50px 0 50px;
   border-right: 1px solid #414249;
   text-decoration: none;
   font-size: 15px;
}
.course-links .course-link:last-child {
   border-right: none;
   padding-right: 0;
}
.course-links .course-link:first-child {
   padding-left: 0;
}
[id^="course-"],
#training-methodology,
#who-should-attend {
   scroll-margin-top: 90px;
}

.navbar .navbar-nav .nav-item > .nav-link {
   font-family: var(--ecbz-body-font), "Montserrat", sans-serif !important;
   font-size: 11px;
   font-weight: 400;
   letter-spacing: 0.14em;
   text-transform: uppercase;
}
@media(max-width: 991px) {
   section.section:has(.aos-init), .section:has(.aos-init) {
      overflow: hidden !important;
   }
}
.bg-home-2.hero-slide {
   max-height: 500px;
   min-height: 450px;
}
@media(min-width: 587px) {
   .bg-home-2.hero-slide {
      max-height: 850px;
      min-height: 850px;
   }
}
.bg-overlay img {
   background-attachment: fixed !important;
}


.sticky-pricing-bar {
   /*position: fixed;*/
   /*bottom: 0;*/
   /*left: 0;*/
   /*width: 100%;*/
   background: var(--ecbz-secondary);
   /*box-shadow: 0 -5px 15px rgba(0,0,0,0.1);*/
   padding: 12px 0;
   flex: 1;
   display: flex;
   align-items: center;
   /*z-index: 999;*/
}
.pricing-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 1rem;
   align-items: center;
}
@media (min-width: 768px) {
   .pricing-grid {
      grid-template-columns: repeat(4, 1fr); /* one row on desktop */
   }
}
.sticky-pricing-bar .price {
   font-size: 24px;
   font-weight: 700;
   color: var(--ecbz-primary);
}
.sticky-pricing-bar .text {
   font-size: 24px;
   font-weight: 700;
   color: var(--ecbz-primary);
}
.sticky-pricing-bar small {
   display: block;
   font-size: 14px;
   color: #ffffff !important;
}
.sticky-pricing-bar .pricing-info {
   text-align: center;
}
body {
   --pricing-bar-height: 0px;
}
body:has(.pricing-sticky) .whatsapp-icon,
body:has(.pricing-sticky) .back-to-top {
   bottom: calc(var(--pricing-bar-height) + 20px); /* extra spacing */
}
body:has(.pricing-sticky) {
   padding-bottom: 107px;
}
@media (max-width: 768px) {
   .sticky-pricing-bar {
      padding: 10px;
   }
   .sticky-pricing-bar .pricing-info {
      text-align: start;
      padding-bottom: 1.5rem;
   }
   body:has(.pricing-sticky) {
      padding-bottom: 180px;
   }
   body:has(.pricing-sticky) .whatsapp-icon {
      bottom: 190px !important;
   }
   body:has(.pricing-sticky) .back-to-top {
      bottom: 190px !important;
   }
}
@media (max-width: 576px) {
   body:has(.pricing-sticky) {
      padding-bottom: 180px;
   }
   body:has(.pricing-sticky) .whatsapp-icon {
      bottom: 250px !important;
   }
   body:has(.pricing-sticky) .back-to-top {
      bottom: 250px !important;
   }
}
.border-gray {
   border-color: #A0AABA2B;
}
.border-top-bottom {
   border-top: 0.01rem solid rgba(255,255,255,0.5);
   border-bottom: 0.01rem solid rgba(255,255,255,0.5);
}
.service .text-muted.service-desc,
.service-item .service-desc, .service-desc {
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
}
@media (min-width: 992px) {
   #topnav .navigation-menu > .has-submenu .menu-arrow {
      display: block;
      color: #3c4858;
      right: -5px;
      top: 33px !important;
      transition: all 0.5s ease-in-out;
   }
   #topnav .navigation-menu.nav-light > li > a {
      color: var(--ecbz-white);
   }
   #topnav .navigation-menu.nav-light > li:hover > a {
      color: var(--ecbz-secondary) !important;
   }
   #topnav .navigation-menu.nav-light > li.active > a {
      color: var(--ecbz-primary) !important;
   }
   #topnav .navigation-menu.nav-light > li:hover > .menu-arrow {
      border-color: var(--ecbz-secondary) !important;
   }
   #topnav .navigation-menu > .has-submenu:hover .menu-arrow,
   #topnav .navigation-menu > .has-submenu.active .menu-arrow{
      top: 33px !important;
   }
   #topnav .navigation-menu.nav-light .has-submenu.active .menu-arrow {
      border-color: var(--ecbz-primary) !important;
   }
   #topnav .navigation-menu > li .submenu li a.sub-menu-item.active {
      color: var(--ecbz-primary) !important;
   }
}
.btn-whatsapp {
   background-color: #2db742 !important;
   border-radius: 50%;
   --webkit-border-radius: 50%;
   --moz-border-radius: 50%;
   height: 56px !important;
   width: 56px !important;
}
.btn-whatsapp::before {
   box-sizing: border-box;
   --webkit-box-sizing: border-box;
   --moz-box-sizing: border-box;
}
.wa-popup-txt {
   background-color: #f5f7f9;
   border-radius: 4px;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   color: #43474e;
   font-size: 12px;
   letter-spacing: -.03em;
   line-height: 1.5;
   margin-right: 7px;
   padding: 8px;
   position: absolute;
   right: 100%;
   top: 50%;
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   transform: translateY(-50%);
   transition: all .4s ease;
   -webkit-transition: all .4s ease;
   -moz-transition: all .4s ease;
   width: 156px;
}
/*.btn.btn-icon.btn-sm.btn-whatsapp {*/
/*   height: auto;*/
/*   width: auto;*/
/*}*/
.desc-italic, .desc-italic p {
   font-style: italic;
}
.section.counter {
   padding: 80px 0 !important;
}
.ic-cinematic {
   background: #0d0d0d;
   padding: 5rem 0;
   font-family: 'DM Sans', sans-serif;
}
.ic-cinematic .ic-eyebrow {
   font-family: 'IBM Plex Mono', monospace;
   font-size: 11px;
   letter-spacing: .18em;
   color: #888;
   text-transform: uppercase;
   margin-bottom: .5rem;
}
.ic-cinematic .ic-title {
   font-family: 'Syne', sans-serif;
   font-size: clamp(1.8rem, 4vw, 2.6rem);
   font-weight: 800;
   color: #fff;
   line-height: 1.15;
   margin-bottom: 3rem;
}
.ic-cinematic .ic-title .ic-accent {
   color: #c9f31d;
}
.ic-cinematic .ic-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
   gap: 1px;
   background: #222;
   border-radius: 14px;
   overflow: hidden;
}
.ic-cinematic .ic-card {
   background: #0d0d0d;
   padding: 2rem 1.5rem;
   display: flex;
   flex-direction: column;
   gap: .35rem;
   transition: background .2s ease;
}
.ic-cinematic .ic-card:hover {
   background: #141414;
}
.ic-cinematic .ic-num-wrap {
   display: flex;
   align-items: flex-start;
   gap: 2px;
}
.ic-cinematic .ic-num {
   font-family: 'Syne', sans-serif;
   font-size: clamp(2.2rem, 5vw, 3rem);
   font-weight: 800;
   color: #fff;
   line-height: 1;
}
.ic-cinematic .ic-suffix {
   font-family: 'Syne', sans-serif;
   font-size: 1.4rem;
   font-weight: 800;
   color: #c9f31d;
   margin-top: 5px;
}
.ic-cinematic .ic-label {
   font-size: 13px;
   color: #888;
   font-weight: 400;
   line-height: 1.4;
}
.ic-cinematic .ic-bar {
   height: 2px;
   background: #c9f31d;
   border-radius: 2px;
   width: 0;
   transition: width 1.8s cubic-bezier(.22, 1, .36, 1);
   margin-top: .75rem;
}
/* Respect section background overrides from CMS */
.ic-cinematic.section-bg {
   position: relative;
   overflow: hidden;
}
.ic-cinematic.section-bg .ic-grid {
   position: relative;
   z-index: 1;
}
.ic-editorial {
   background: #f5f2ec;
   padding: 5rem 0;
}
/* Override: support CMS light/dark background settings */
.ic-editorial.bg-white    { background: #fff !important; }
.ic-editorial.bg-light    { background: #f5f2ec !important; }
.ic-editorial.bg-dark,
.ic-editorial.bg-primary  { background: #1a1a1a !important; }

.ic-editorial .ic-ed-header {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 1.5rem;
   border-bottom: 1.5px solid #c8c3b5;
   padding-bottom: 1.75rem;
   margin-bottom: 0;
}
.ic-editorial .ic-ed-headline {
   font-family: 'Playfair Display', serif;
   font-size: clamp(1.5rem, 4vw, 2.1rem);
   font-weight: 700;
   color: #1a1a1a;
   line-height: 1.2;
   margin: 0;
   max-width: 360px;
}
.ic-editorial .ic-ed-sub {
   font-size: 13px;
   color: #7a7060;
   line-height: 1.65;
   max-width: 280px;
   margin: 0;
}
.ic-editorial .ic-ed-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.ic-editorial .ic-ed-item {
   padding: 2rem 1.25rem 2rem 0;
   border-right: 1px solid #c8c3b5;
}
.ic-editorial .ic-ed-item:not(:first-child) {
   padding-left: 1.5rem;
}
.ic-editorial .ic-ed-item:last-child {
   border-right: none;
}
.ic-editorial .ic-ed-num-wrap {
   display: flex;
   align-items: flex-start;
   gap: 2px;
}
.ic-editorial .ic-ed-num {
   font-family: 'Syne', sans-serif;
   font-size: clamp(2rem, 3vw, 2.8rem);
   font-weight: 800;
   color: #1a1a1a;
   line-height: 1;
}
.ic-editorial .ic-ed-suffix {
   font-family: 'Syne', sans-serif;
   font-size: 1.5rem;
   font-weight: 800;
   color: #b85c2a;
   margin-top: 6px;
}
.ic-editorial .ic-ed-label {
   font-size: 11px;
   color: #7a7060;
   text-transform: uppercase;
   letter-spacing: .1em;
   font-weight: 500;
   margin-top: .6rem;
   display: flex;
   align-items: center;
   gap: 6px;
}
.ic-editorial .ic-ed-dot {
   display: inline-block;
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: #b85c2a;
   flex-shrink: 0;
}
.ic-editorial .ic-ed-desc {
   font-size: 12px;
   color: #a09880;
   margin-top: .3rem;
   line-height: 1.45;
}
/* Mobile stacked */
@media (max-width: 575.98px) {
   .ic-editorial .ic-ed-header {
      flex-direction: column;
      align-items: flex-start;
   }
   .ic-editorial .ic-ed-item {
      border-right: none;
      border-bottom: 1px solid #c8c3b5;
      padding: 1.5rem 0 !important;
   }
   .ic-editorial .ic-ed-item:last-child {
      border-bottom: none;
   }
}
.section-label {
   font-size: 12px;
   font-weight: 500;
   letter-spacing: 0.24em;
   text-transform: uppercase;
   color: var(--ecbz-primary);
   margin-bottom: 0.75rem;
   display: block;
}
.section-title.title {
   font-size: 22px;
   font-weight: 500;
   color: var(--ecbz-primary);
   margin: 0 0 6px;
}
.section-sub {
   font-size: 14px;
   color: var(--ecbz-secondary);
   margin: 0 0 1.5rem;
   line-height: 1.6;
}
.grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 14px;
}

code {
   font-size: .875em;
   font-style: italic;
   color: var(--ecbz-primary);
   word-wrap: break-word;
   /*background-color: #f6f6f8;*/
   /*border-left: 3px solid var(--ecbz-black-soft);*/
   /*padding-left: 10px;*/
}
blockquote, blockquote p, blockquote h1, blockquote h2,
blockquote h3, blockquote h4, blockquote h5, blockquote h6,
.story-quote {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: clamp(42px, 3.5vw, 42px) !important;
   font-weight: 300 !important;
   font-style: italic !important;
   color: var(--ecbz-secondary);
   line-height: 1.4 !important;
   letter-spacing: 0.02em !important;
   /*margin-bottom: 1.5rem !important;*/
}
blockquote p {
   margin: 0 !important;
}
.btn.btn-text-dark, .btn-default.btn-text-dark {
   color: #222222 !important;
}

.card {
   /*border-style: var(--ecbz-border-style) !important;*/
   border-color: var(--ecbz-border-color) !important;
   border-radius: var(--ecbz-border-radius) !important;
   border-width: 1px !important;
   box-shadow: var(--ecbz-card-shadow) !important;
   overflow: hidden;
}

.card.shadow, .card.shadow-sm, .card.shadow-md, .card.shadow-lg, .card.shadow-xl,
.shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl, .nav-sticky.navbar {
   box-shadow: var(--ecbz-card-shadow) !important;
}
.card:hover, .features.features-classic:hover {
   box-shadow: var(--ecbz-card-shadow) !important;
}
.card-1 {
   border-top: 2px solid var(--ecbz-primary) !important;
}
.card.card-1 .title:hover {
   color: rgba(var(--ecbz-primary-rgb), 0.3) !important;
}
.card-2 {
   border-top: 2px solid var(--ecbz-secondary) !important;
}
.card.card-2 .title:hover {
   color: rgba(var(--ecbz-secondary-rgb), 0.3) !important;
}
.card-3 {
   border-top: 2px solid var(--ecbz-primary-light) !important;
}
.card.card-3 .title:hover {
   color: rgba(var(--ecbz-primary-light-rgb), 0.3) !important;
}
.accent-3 {
   background: var(--ecbz-primary-light) !important;
}
.card-4 {
   border-top: 2px solid var(--ecbz-secondary-light) !important;
}
.card.card-4 .title:hover {
   color: rgba(var(--ecbz-secondary-light-rgb), 0.3) !important;
}
.card.card-1, .card.card-2, .card.card-3, .card.card-4 {
   border: 1px solid var(--ecbz-border-color);
}
.rounded, .rounded-1, .rounded-2, .rounded-3, .rounded-4, .rounded-5 {
   border-radius: var(--ecbz-border-radius) !important;
}
.form-control {
   border-radius: var(--ecbz-input-border-radius) !important;
   background-color: var(--ecbz-input-bg-color) !important;
   border: 1px solid var(--ecbz-input-border-color) !important;
}
.form-control:focus {
   border-color: var(--ecbz-input-focus-color) !important;
}
.btn {
   font-weight: normal !important;
}
.btn.btn-primary, .btn.btn-soft-primary, .btn.btn-outline-primary, .btn-primary, .btn-soft-primary, .btn-outline-primary,
.btn.btn-secondary, .btn.btn-soft-secondary, .btn.btn-outline-secondary, .btn-secondary, .btn-soft-secondary, .btn-outline-secondary,
.btn.btn-success, .btn.btn-soft-success, .btn.btn-outline-success, .btn-success, .btn-soft-success, .btn-outline-success,
.btn.btn-warning, .btn.btn-soft-warning, .btn.btn-outline-warning, .btn-warning, .btn-soft-warning, .btn-outline-warning,
.btn.btn-danger, .btn.btn-soft-danger, .btn.btn-outline-danger, .btn-danger, .btn-soft-danger, .btn-outline-danger,
.btn.btn-info, .btn.btn-soft-info, .btn.btn-outline-info, .btn-info, .btn-soft-info, .btn-outline-info,
.btn.btn-blue, .btn.btn-soft-blue, .btn.btn-outline-blue, .btn-blue, .btn-soft-blue, .btn-outline-blue,
.btn.btn-dark, .btn.btn-soft-dark, .btn.btn-outline-dark, .btn-dark, .btn-soft-dark, .btn-outline-dark,
.btn.btn-light, .btn.btn-soft-light, .btn.btn-outline-light, .btn-light, .btn-soft-light, .btn-outline-light,
.btn.btn-muted, .btn.btn-soft-muted, .btn.btn-outline-muted, .btn-muted, .btn-soft-muted, .btn-outline-muted,
.btn.btn-footer, .btn.btn-soft-footer, .btn.btn-outline-footer, .btn-footer, .btn-soft-footer, .btn-outline-footer,
.btn.btn-default, .btn.btn-soft-default, .btn.btn-outline-default, .btn-default, .btn-soft-default, .btn-outline-default {
   /*padding: 8px 15px !important;*/
   border-radius: var(--ecbz-border-radius) !important;
   border-style: var(--ecbz-border-style) !important
}
.btn-whatsapp {
   border-radius: var(--ecbz-border-radius) !important;
   border-style: var(--ecbz-border-style) !important
}
.border {
   border-color: var(--ecbz-border-color) !important;
}
.navbar {
   backdrop-filter: blur(14px);
   -webkit-backdrop-filter: blur(14px);
   /*border-bottom: 1px solid var(--ecbz-primary-light);*/
   opacity: 0.98;
}
.nav-text {
   font-size: 20px !important;
   font-weight: 300;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   white-space: nowrap;
}
.hero {
   position: relative;
   height: 80vh;
   min-height: 700px;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   background: var(--ecbz-primary-light);
   color: var(--ecbz-white);
}
.hero-bg {
   position: absolute;
   inset: 0;
   background: linear-gradient(135deg, var(--ecbz-secondary) 0%, var(--ecbz-secondary) 40%, var(--ecbz-secondary) 100%);
   animation: heroZoom 12s ease-out forwards;
}
@keyframes heroZoom {
   from { transform: scale(1.08); }
   to   { transform: scale(1); }
}
.hero-pattern {
   position: absolute;
   inset: 0;
   opacity: 0.04;
   background-image: repeating-linear-gradient( 45deg, var(--ecbz-primary) 0px, var(--ecbz-primary) 1px, transparent 1px, transparent 20px ), repeating-linear-gradient( -45deg, var(--ecbz-primary) 0px, var(--ecbz-primary) 1px, transparent 1px, transparent 20px );
}
.hero-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(to bottom, rgba(16,13,6,0.2) 0%, rgba(16,13,6,0.6) 100%);
}
.hero-content {
   position: relative;
   z-index: 2;
   text-align: center;
   padding: 0 1.5rem;
   animation: heroFadeIn 1.4s ease-out 0.3s both;
}
@keyframes heroFadeIn {
   from { opacity: 0; transform: translateY(24px); }
   to   { opacity: 1; transform: translateY(0); }
}
.hero-eyebrow {
   font-size: 11px;
   letter-spacing: 0.28em;
   text-transform: uppercase;
   color: rgba(var(--ecbz-primary-rgb), 0.5);
   margin-bottom: 1.5rem;
   font-weight: 400;
}
.hero-title {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: clamp(48px, 8vw, 96px) !important;
   font-weight: 300;
   color: var(--ecbz-secondary-light);
   line-height: 1.05;
   letter-spacing: 0.03em;
   margin-bottom: 0.5rem;
}
.hero-title em {
   font-style: italic;
   color: rgba(var(--ecbz-primary-rgb), 0.5);
}
.hero-subtitle {
   font-family: var(--ecbz-font-family), sans-serif;
   font-size: clamp(18px, 2.5vw, 28px);
   font-weight: 300;
   font-style: italic;
   color: rgba(var(--ecbz-primary-light-rgb), 0.8);
   margin-bottom: 2rem;
   letter-spacing: 0.04em;
}
.hero-body {
   font-size: 14px;
   font-weight: 300;
   letter-spacing: 0.06em;
   color: rgba(var(--ecbz-primary-rgb), 0.8);
   max-width: 480px;
   margin: 0 auto 2.5rem;
   line-height: 1.8;
}
.hero-ctas { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.hero-scroll {
   position: absolute;
   bottom: 2rem;
   left: 50%;
   transform: translateX(-50%);
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 8px;
   color: var(--ecbz-primary-light);
   font-size: 10px;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   z-index: 2;
   animation: bounce 2s infinite;
}
@keyframes bounce {
   0%, 100% { transform: translateX(-50%) translateY(0); }
   50%       { transform: translateX(-50%) translateY(6px); }
}
.hero-scroll::before {
   content: '';
   display: block;
   width: 1px;
   height: 40px;
   background: var(--ecbz-primary);
   opacity: 0.5;
}
.page-banner {
   padding-top: 72px;
   background: var(--ecbz-secondary);
   position: relative;
   overflow: hidden;
   max-height: 520px;
   display: flex;
   align-items: center;
}
.page-banner-pattern {
   position: absolute;
   inset: 0;
   opacity: 0.035;
   background-image:
      repeating-linear-gradient(45deg,  var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 28px),
      repeating-linear-gradient(-45deg, var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 28px);
   background-size: 28px 28px;
}
.page-banner-glow {
   position: absolute;
   top: 50%; left: -10%;
   transform: translateY(-50%);
   width: 500px; height: auto;
   border-radius: 50%;
   background: radial-gradient(ellipse, rgba(201,168,76,0.07) 0%, transparent 70%);
   pointer-events: none;
}
.page-banner-content {
   position: relative;
   z-index: 2;
   padding: 5rem 2.5rem 5rem 0;
   max-width: 760px;
   animation: fadeUp 1s ease 0.2s both;
}
@keyframes fadeUp {
   from { opacity: 0; transform: translateY(20px); }
   to   { opacity: 1; transform: translateY(0); }
}
.page-banner-eyebrow {
   font-size: 11px;
   letter-spacing: 0.26em;
   text-transform: uppercase;
   color: var(--ecbz-primary);
   font-weight: 500;
   margin-bottom: 1.25rem;
}
.page-banner-title {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: clamp(44px, 6vw, 80px) !important;
   font-weight: 300;
   color: var(--ecbz-secondary-light);
   line-height: 1.05;
   letter-spacing: 0.03em;
   margin-bottom: 1.5rem;
}
.page-banner-title em {
   font-style: italic;
   color: var(--ecbz-primary-light);
}
.page-banner-lead {
   font-size: 16px;
   font-weight: 300;
   color: var(--ecbz-secondary-light);
   line-height: 1.9;
   letter-spacing: 0.03em;
   max-width: 580px;
}
.collection-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   grid-template-rows: repeat(2, 380px);
   gap: 16px;
   max-width: 1100px;
   margin: 0 auto !important;
   padding: 0 2rem;
}
.collection-card {
   position: relative;
   overflow: hidden;
   cursor: pointer;
   background: var(--ecbz-secondary);
   border-radius: var(--ecbz-border-radius) !important;
}
.collection-card:first-child {
   grid-row: span 2;
}
.collection-bg {
   position: absolute;
   inset: 0;
   background: linear-gradient(135deg, var(--ecbz-secondary) 0%, #2a1f10 100%);
   transition: transform 0.7s ease;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
}
/* Decorative pattern per card */
.collection-bg-kaftans {
   background: linear-gradient(160deg, #1a0e06 0%, #2d1a08 50%, #1a1208 100%);
}
.collection-bg-bridal {
   background: linear-gradient(135deg, #0d0d14 0%, #1a1424 100%);
}
.collection-bg-abayas {
   background: linear-gradient(135deg, #0a1008 0%, #141e10 100%);
}
.collection-bg-accessories {
   background: linear-gradient(135deg, #100808 0%, #1e1010 100%);
}
.collection-pattern {
   position: absolute;
   inset: 0;
   opacity: 0.06;
}
.collection-pattern-hex {
   background-image: repeating-linear-gradient(60deg, var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 50%),
   repeating-linear-gradient(120deg, var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 50%);
   background-size: 30px 52px;
}
.collection-pattern-dia {
   background-image: repeating-linear-gradient(45deg, var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 40px),
   repeating-linear-gradient(-45deg, var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 40px);
   background-size: 40px 40px;
}
.collection-pattern-dot {
   background-image: radial-gradient(circle, var(--ecbz-primary) 1px, transparent 1px);
   background-size: 24px 24px;
}
.collection-number {
   position: absolute;
   top: 1.25rem;
   left: 1.5rem;
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: 13px;
   color: var(--gold);
   letter-spacing: 0.1em;
   opacity: 0.7;
   z-index: 2;
}
.collection-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(to top, rgba(10,8,4,0.9) 0%, rgba(10,8,4,0.1) 50%, transparent 100%);
   z-index: 1;
   transition: opacity 0.5s;
}
.collection-card:hover .collection-bg { transform: scale(1.04); }
.collection-card:hover .collection-overlay { opacity: 0.7; }
.collection-info {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   padding: 2rem;
   z-index: 2;
   transition: transform 0.4s ease;
}
.collection-name {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: 30px;
   font-weight: 300;
   color: var(--ecbz-secondary-light);
   letter-spacing: 0.04em;
   margin-bottom: 0.25rem;
   line-height: 1.1;
}
.collection-desc {
   font-size: 12px;
   color: var(--ecbz-primary-light);
   letter-spacing: 0.08em;
   margin-bottom: 1rem;
   opacity: 0;
   transform: translateY(8px);
   transition: opacity 0.4s ease 0.05s, transform 0.4s ease 0.05s;
}
.collection-card:hover .collection-desc { opacity: 1; transform: translateY(0); }
.collection-link {
   font-size: 10px;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: var(--ecbz-primary);
   border-bottom: 1px solid var(--ecbz-primary);
   padding-bottom: 2px;
   opacity: 0;
   transform: translateY(8px);
   transition: opacity 0.4s ease 0.1s, transform 0.4s ease 0.1s;
   display: inline-block;
}
.collection-card:hover .collection-link { opacity: 1; transform: translateY(0); }
@media (max-width: 575.8px) {
   .collection-grid {
      min-width: 100%;
      grid-template-columns: repeat(1, 1fr);
      grid-template-rows: auto;
   }
   .collection-card {
      min-height: 280px;
   }
   .collection-card:first-child {
      grid-row: span 1;
   }
   .collection-card:hover .collection-link { opacity: 1; transform: translateY(0); }
}
@media (min-width: 576px) {
   .collection-grid {
      min-width: 100%;
      grid-template-columns: repeat(1, 1fr);
      grid-template-rows: auto;
   }
   .collection-card {
      min-height: 320px;
   }
   .collection-card:first-child {
      grid-row: span 1;
   }
   .collection-card:hover .collection-link { opacity: 1; transform: translateY(0); }
}
@media (min-width: 768px) {
   .collection-grid {
      min-width: 100%;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
   }
   .collection-card {
      min-height: 350px;
   }
   .collection-card:first-child {
      grid-row: span 1;
   }
   .collection-card:hover .collection-link { opacity: 1; transform: translateY(0); }
}
@media (min-width: 992px) {
   .collection-grid {
      max-width: 100%;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(2, 380px);
   }
   /*.collection-card {*/
   /*   min-height: 320px;*/
   /*}*/
   .collection-card:first-child {
      grid-row: span 2;
   }
   .collection-card:last-child {
      grid-column: span 2;
   }
   .collection-card:hover .collection-link { opacity: 1; transform: translateY(0); }
}
@media (min-width: 992px) {
   .collection-grid {
      max-width: 100%;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
   }
   /*.collection-card {*/
   /*   min-height: 320px;*/
   /*}*/
   .collection-card:first-child {
      grid-row: span 2;
   }
   .collection-card:last-child {
      grid-column: span 2;
   }
   .collection-card:hover .collection-link { opacity: 1; transform: translateY(0); }
}
@media (min-width: 1200px) {
   .collection-grid {
      max-width: 1100px;
      padding: 0 2rem;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(2, 380px);
   }
   /*.collection-card {*/
   /*   min-height: 320px;*/
   /*}*/
   .collection-card:first-child {
      grid-row: span 2;
   }
   .collection-card:last-child {
      grid-column: span 2;
   }
}
.products-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 4px;
   /*background: var(--ecbz-secondary)*/
}
.product-card {
   background: var(--ecbz-secondary-light);
   cursor: pointer;
   position: relative;
   overflow: hidden;
   transition: background 300ms;
   border-radius: var(--ecbz-border-radius) !important;
}
.product-card:hover {
   background: #f5f1e8
}
.product-img {
   aspect-ratio: 2/3;
   background: var(--ecbz-secondary);
   position: relative;
   overflow: hidden;
   /*border-radius: var(--ecbz-border-radius) !important;*/
}
.product-img-inner {
   width: 100%;
   height: 100%;
   transition: transform 600ms ease
}
.product-card:hover .product-img-inner {
   transform: scale(1.04);
}
.product-badge {
   position: absolute;
   top: 14px;
   left: 14px;
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 9px;
   font-weight: 600;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   padding: 5px 10px;
   z-index: 2;
   border-radius: var(--ecbz-border-radius) !important;
}
.badge-new {
   background: var(--ecbz-primary);
   color: var(--ecbz-secondary);
   border-radius: var(--ecbz-border-radius) !important;
}
.badge-collection {
   background: var(--ecbz-secondary);
   color: var(--ecbz-primary);
   border: 1px solid var(--ecbz-primary);
   border-radius: var(--ecbz-border-radius) !important;
}
.badge-sale {
   background: #8B0000;
   color: #FAF7F0;
   border-radius: var(--ecbz-border-radius) !important;
}
.wishlist-btn {
   position: absolute;
   top: 12px;
   right: 12px;
   width: 32px;
   height: 32px;
   border: 1px solid rgba(250, 247, 240, 0.3);
   background: rgba(26, 18, 8, 0.4);
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: all 300ms;
   z-index: 2;
   border-radius: var(--ecbz-border-radius) !important;
}
.wishlist-btn:hover {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
}
.wishlist-btn svg {
   width: 14px;
   height: 14px;
   stroke: #FAF7F0;
   fill: none;
   stroke-width: 1.5;
}
.wishlist-btn.active svg {
   fill: var(--ecbz-primary);
   stroke: var(--ecbz-primary);
}
.product-info {
   padding: 16px 16px 20px;
   border-radius: var(--ecbz-border-radius) !important;
}
.product-origin {
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 9px;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   margin-bottom: 4px;
}
.product-name {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: 18px;
   font-weight: 400;
   color: var(--ecbz-secondary);
   line-height: 1.2;
   margin-bottom: 8px
}
.product-price-row {
   display: flex;
   align-items: center;
   gap: 10px
}
.product-price {
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0.1em;
   color: var(--ecbz-secondary)
}
.product-price-old {
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 11px;
   color: var(--ecbz-secondary);
   text-decoration: line-through
}
.product-colors {
   display: flex;
   gap: 6px;
   margin-top: 10px
}
.color-dot {
   width: 12px;
   height: 12px;
   border-radius: 50%;
   border: 1px solid rgba(0, 0, 0, 0.12);
   cursor: pointer
}
.quick-add {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background: var(--ecbz-secondary);
   color: var(--ecbz-primary);
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   text-align: center;
   padding: 13px;
   transform: translateY(100%);
   transition: transform 300ms ease;
   cursor: pointer;
   z-index: 3;
   border: none;
   /*border-radius: var(--ecbz-border-radius) !important;*/
}
.product-card:hover .quick-add {
   transform: translateY(0)
}
@media (min-width: 359px) {
   .products-grid { grid-template-columns: repeat(1, 1fr); }
   .product-img {
      aspect-ratio: 1 / 1;
   }
}
@media (max-width: 358.8px) {
   .products-grid { grid-template-columns: repeat(1, 1fr); }
   .product-img {
      aspect-ratio: 1 / 1;
   }
}
@media (min-width: 576px) {
   .products-grid { grid-template-columns: repeat(1, 1fr); }
   .product-img {
      aspect-ratio: 1 / 1;
   }
}
@media (min-width: 768px) {
   .products-grid { grid-template-columns: repeat(2, 1fr); }
   .product-img {
      aspect-ratio: 2 / 3;
   }
}
@media (min-width: 992px) {
   .products-grid { grid-template-columns: repeat(3, 1fr); }
   .product-img {
      aspect-ratio: 2 / 3;
   }
}
@media (min-width: 1200px) {
   .products-grid { grid-template-columns: repeat(4, 1fr); }
   .product-img {
      aspect-ratio: 3 / 4;
   }
}
.section-grid {
   display: grid;
   grid-template-columns: 40% 60%;
   gap: 6rem;
   align-items: center;
   max-width: calc(100% - 80px);
   margin: 0 auto;
}
.section-visual {
   position: relative;
}
.section-img-frame {
   aspect-ratio: 5/4;
   background: linear-gradient(145deg, var(--ecbz-secondary) 0%, rgba(var(--ecbz-secondary), 0.5) 60%, var(--ecbz-secondary) 100%);
   position: relative;
   overflow: hidden;
}
.section-img-pattern {
   position: absolute;
   inset: 0;
   opacity: 0.06;
   background-image: repeating-linear-gradient(0deg, var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 36px), repeating-linear-gradient(90deg, var(--ecbz-primary) 0, var(--ecbz-primary) 1px, transparent 0, transparent 36px);
}
.section-content {
   padding-right: 1rem;
   padding-left: 0;
}
.section-grid.sct-img-right {
   grid-template-columns: 60% 40%;
}
.section-grid.sct-img-right .section-content {
   padding-left: 1rem;
   padding-right: 0;
}
.section-title {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: clamp(30px, 3.5vw, 48px) !important;
   font-weight: 300;
   color: var(--ecbz-secondary);
   line-height: 1.15;
   letter-spacing: 0.02em;
   margin-bottom: 1.75rem;
}
.section-title em {
   font-style: italic;
   color: var(--ecbz-primary-light);
}
.section-body, .section-body p {
   font-size: 15px;
   font-weight: 300;
   /*color: #3a3020;*/
   line-height: 1.95;
   letter-spacing: 0.02em;
   margin-bottom: 1.5rem;
}
@media (max-width: 900px) {
   .section-grid {
      grid-template-columns: 1fr;
      gap: 3rem;
   }
}
.section-inner {
   max-width: 720px;
   margin: 0 auto;
}
.section .details li {
   font-size: 13px !important;
   /*color: var(--tan);*/
   letter-spacing: 0.06em !important;
   display: flex !important;
   align-items: center !important;
   gap: 12px !important;
}
.section .details li::before {
   content: '◆' !important;
   color: var(--ecbz-primary) !important;
   font-size: 8px !important;
   flex-shrink: 0 !important;
}
.details.text-primary p {
   color: var(--ecbz-primary) !important;
}
.details.text-primary-light p {
   color: var(--ecbz-primary-light) !important;
}
.details.text-secondary p {
   color: var(--ecbz-secondary) !important;
}
.details.text-secondary-light p {
   color: var(--ecbz-secondary-light) !important;
}
.testimonial-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
   gap: 24px;
   max-width: 1100px;
   margin: 0 auto;
}
.testimonial-card {
   background: var(--ecbz-secondary-light);
   padding: 2rem 1.75rem;
   border-top: 2px solid var(--ecbz-primary);
   position: relative;
   border-radius: var(--ecbz-border-radius) !important;
}
.testimonial-stars {
   color: var(--ecbz-primary);
   font-size: 14px;
   letter-spacing: 3px;
   margin-bottom: 1rem;
}
.testimonial-text {
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 14px;
   font-style: italic;
   font-weight: 300;
   color: var(--ecbz-primary-light);
   line-height: 1.7;
   margin-bottom: 1.5rem;
   letter-spacing: 0.02em;
}
.testimonial-author {
   font-size: 12px;
   font-weight: 500;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
}
.testimonial-occasion {
   font-size: 14px;
   color: var(--ecbz-primary-light);
   letter-spacing: 0.08em;
   margin-top: 4px;
}
.testimonial-mark {
   position: absolute;
   top: 1.5rem;
   right: 1.75rem;
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 60px;
   color: var(--ecbz-primary);
   opacity: 0.12;
   line-height: 1;
}

.ll-shop-section {
   padding-top: var(--ecbz-section-padding-top);
   padding-bottom: var(--ecbz-section-padding-bottom);
   background: var(--ecbz-body-color);
   min-height: 60vh;
}
.ll-shop-container {
   width: 90%;
   margin-inline: auto;
}
.ll-divider {
   width: 100%;
   height: 1px;
   background: var(--ecbz-border-color);
   margin: 0 0 48px;
   position: relative;
}
.ll-divider::after {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   width: 60px;
   height: 1px;
   background: var(--ecbz-primary);
   opacity: 0.6;
}
.ll-search-wrap {
   margin-bottom: 28px;
}
.ll-search-inner {
   display: flex;
   align-items: center;
   gap: 0;
   border: 1px solid var(--ecbz-border-color);
   background: var(--ecbz-input-bg-color);
   transition: border-color var(--ecbz-transition-speed);
   max-width: 560px;
}
.ll-search-inner:focus-within {
   border-color: var(--ecbz-input-focus-color);
}
.ll-search-diamond {
   padding: 0 14px;
   font-size: 11px;
   color: var(--ecbz-primary);
   opacity: 0.7;
   pointer-events: none;
   line-height: 1;
}
.ll-search-input {
   flex: 1;
   border: none;
   background: transparent;
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: var(--ecbz-font-size);
   letter-spacing: var(--ecbz-letter-spacing);
   color: var(--ecbz-body-text-color);
   padding: 14px 0;
   outline: none;
   line-height: 1;
}
.ll-search-input::placeholder {
   color: var(--ecbz-primary-light);
   opacity: 0.6;
}
.ll-search-clear {
   padding: 0 16px;
   background: transparent;
   border: none;
   cursor: pointer;
   font-size: 12px;
   color: var(--ecbz-primary-light);
   transition: color var(--ecbz-transition-speed);
   line-height: 1;
   height: 100%;
}
.ll-search-clear:hover {
   color: var(--ecbz-secondary);
}
.ll-search-meta {
   margin-top: 10px;
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: var(--ecbz-primary-light);
   min-height: 16px;
}
.ll-skeleton-grid {
   margin-top: 1px;
}
.ll-skeleton-img {
   width: 100%;
   height: 100%;
   background: linear-gradient(
      90deg,
      rgba(201, 168, 76, 0.05) 25%,
      rgba(201, 168, 76, 0.12) 50%,
      rgba(201, 168, 76, 0.05) 75%
   );
   background-size: 200% 100%;
   animation: ll-shimmer 1.4s infinite;
}
.ll-skeleton-line {
   background: linear-gradient(
      90deg,
      rgba(201, 168, 76, 0.05) 25%,
      rgba(201, 168, 76, 0.1) 50%,
      rgba(201, 168, 76, 0.05) 75%
   );
   background-size: 200% 100%;
   animation: ll-shimmer 1.4s infinite;
   border-radius: 2px;
}
@keyframes ll-shimmer {
   0%   { background-position: 200% 0; }
   100% { background-position: -200% 0; }
}
.ll-empty-state {
   grid-column: 1 / -1;
   text-align: center;
   padding: 80px 40px;
   background: var(--ecbz-body-color);
}
.ll-empty-diamond {
   display: block;
   font-size: 24px;
   color: var(--ecbz-primary);
   opacity: 0.3;
   margin-bottom: 20px;
}
.ll-empty-title {
   font-family: var(--ecbz-heading-font), serif;
   font-size: 32px;
   font-weight: 300;
   font-style: italic;
   color: var(--ecbz-secondary);
   margin-bottom: 10px;
}
.ll-empty-text {
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 13px;
   color: var(--ecbz-primary-light);
   margin-bottom: 28px;
   letter-spacing: var(--ecbz-letter-spacing);
}
.ll-load-more-wrap {
   text-align: center;
   padding: 48px 0 0;
}
.ll-load-more-line {
   width: 1px;
   height: 40px;
   background: var(--ecbz-border-color);
   margin: 0 auto 24px;
}
.ll-load-more-btn {
   display: inline-flex;
   flex-direction: column;
   align-items: center;
   gap: 6px;
   padding: 16px 40px;
   background: transparent;
   border: 1px solid var(--ecbz-border-color);
   cursor: pointer;
   border-radius: var(--ecbz-border-radius);
   transition: all var(--ecbz-transition-speed);
   position: relative;
   overflow: hidden;
}
.ll-load-more-btn::before {
   content: '';
   position: absolute;
   inset: 0;
   background: var(--ecbz-secondary);
   transform: scaleX(0);
   transform-origin: left;
   transition: transform var(--ecbz-transition-speed) ease;
}
.ll-load-more-btn:hover::before {
   transform: scaleX(1);
}
.ll-load-more-btn:hover .ll-lm-label,
.ll-load-more-btn:hover .ll-lm-count {
   color: var(--ecbz-primary);
}
.ll-lm-label {
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   position: relative;
   z-index: 1;
   transition: color var(--ecbz-transition-speed);
}
.ll-lm-count {
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 11px;
   color: var(--ecbz-primary-light);
   letter-spacing: 0.06em;
   position: relative;
   z-index: 1;
   transition: color var(--ecbz-transition-speed);
}
.ll-load-more-btn.ll-loading .ll-lm-label::after {
   content: ' …';
   animation: ll-ellipsis 1s steps(4, end) infinite;
}
@keyframes ll-ellipsis {
   0%   { content: ' '; }
   25%  { content: ' .'; }
   50%  { content: ' ..'; }
   75%  { content: ' ...'; }
   100% { content: ' '; }
}
.ll-btn-outline {
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   padding: 12px 28px;
   background: transparent;
   border: 1px solid var(--ecbz-primary);
   color: var(--ecbz-secondary);
   cursor: pointer;
   border-radius: var(--ecbz-border-radius);
   transition: all var(--ecbz-transition-speed);
}
.ll-btn-outline:hover {
   background: var(--ecbz-secondary);
   color: var(--ecbz-primary);
   border-color: var(--ecbz-secondary);
}
@keyframes ll-fadeUp {
   from { opacity: 0; transform: translateY(16px); }
   to   { opacity: 1; transform: translateY(0); }
}
.ll-card-enter {
   animation: ll-fadeUp 400ms ease both;
}
.timeline {
   position: relative;
   max-width: 800px;
   margin: 0 auto;
   z-index: 2;
}
.timeline::before {
   content: '';
   position: absolute;
   top: 0; bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   width: 2px;
   background: linear-gradient(to bottom, transparent, rgba(var(--ecbz-primary-rgb),0.4) 10%, rgba(var(--ecbz-primary-rgb),0.4) 90%, transparent);
}
.timeline-item {
   display: grid;
   grid-template-columns: 1fr 40px 1fr;
   gap: 0 2rem;
   margin-bottom: 4rem;
   align-items: start;
}
.timeline-item:last-child { margin-bottom: 0; }
.timeline-item:nth-child(odd) .timeline-content { grid-column: 1; text-align: right; }
.timeline-item:nth-child(odd) .timeline-dot   { grid-column: 2; }
.timeline-item:nth-child(odd) .timeline-empty { grid-column: 3; }
.timeline-item:nth-child(even) .timeline-empty   { grid-column: 1; }
.timeline-item:nth-child(even) .timeline-dot     { grid-column: 2; }
.timeline-item:nth-child(even) .timeline-content { grid-column: 3; }
.timeline-dot {
   width: 40px;
   display: flex;
   flex-direction: column;
   align-items: center;
   padding-top: 4px;
}
.timeline-dot-circle {
   width: 12px; height: 12px;
   border-radius: 50%;
   background: var(--ecbz-primary);
   border: 2px solid var(--ecbz-secondary);
   outline: 1px solid var(--ecbz-primary);
   flex-shrink: 0;
}
.timeline-content { padding: 0 0 0.5rem; }
.timeline-empty {}
.timeline-year {
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   font-size: 13px;
   color: var(--ecbz-primary);
   letter-spacing: 0.16em;
   font-weight: 400;
   margin-bottom: 0.5rem;
   display: block;
}
.timeline-event-title {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: 20px !important;
   font-weight: 400;
   color: var(--ecbz-secondary-light);
   letter-spacing: 0.03em;
   margin-bottom: 0.5rem;
   line-height: 1.25;
}
.timeline-event-body {
   font-size: 13px;
   color: var(--ecbz-primary-light);
   line-height: 1.85;
   font-weight: 300;
   letter-spacing: 0.02em;
}
.values-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
   gap: 0;
   max-width: 1100px;
   margin: 0 auto;
   border: 1px solid rgba(var(--ecbz-primary-light-rgb),0.2);
}
.value-card {
   padding: 3rem 2rem;
   border-right: 1px solid rgba(var(--ecbz-primary-light-rgb),0.2);
   border-bottom: 1px solid rgba(var(--ecbz-primary-light-rgb),0.2);
   position: relative;
   transition: background 0.4s;
}
.value-card:nth-child(4n) { border-right: none; }
.value-card:hover { background: var(--ecbz-secondary-light); }
.value-number {
   font-family: var(--ecbz-heading-font);
   font-size: 52px;
   font-weight: 300;
   color: rgba(201,168,76,0.18);
   line-height: 1;
   margin-bottom: 1.25rem;
   display: block;
   letter-spacing: -0.02em;
}
.value-icon-line {
   width: 32px;
   height: 1px;
   background: var(--ecbz-primary);
   margin-bottom: 1.25rem;
}
.value-name {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: 22px !important;
   font-weight: 400;
   color: var(--ecbz-secondary);
   letter-spacing: 0.03em;
   margin-bottom: 0.75rem;
   line-height: 1.2;
}
.value-body {
   font-size: 13px !important;
   color: var(--ecbz-secondary);
   line-height: 1.85;
   font-weight: 300;
   letter-spacing: 0.02em;
}
.whatsapp-float {
   position: fixed;
   bottom: 2rem;
   right: 2rem;
   z-index: 200;
   display: flex;
   align-items: center;
   gap: 10px;
   background: #25D366;
   color: #fff;
   padding: 12px 20px 12px 16px;
   border-radius: var(--ecbz-border-radius);
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: 12px;
   font-weight: 500;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   box-shadow: 0 4px 20px rgba(37, 211, 102, 0.3);
   transition: var(--transition);
   cursor: pointer;
}
.whatsapp-float:hover { background: #1ebe5d; transform: translateY(-2px); }
.whatsapp-float-icon { font-size: 18px; }
footer {
   border-top: 1px solid rgba(var(--ecbz-primary-light), 0.15);
   padding: 5rem 2rem 2rem;
}
.footer-grid {
   display: grid;
   grid-template-columns: 2fr 1fr 1fr 1fr;
   gap: 3rem;
   /*max-width: 1200px;*/
   margin: 0 auto;
   padding-bottom: 3rem;
   border-bottom: 1px solid rgba(201, 168, 76, 0.1);
}
.footer-brand-name {
   font-family: var(--ecbz-heading-font);
   font-size: 22px;
   font-weight: 300;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: var(--ecbz-primary);
   margin-bottom: 1rem;
}
.footer-brand-desc {
   font-size: 13px;
   color: var(--ecbz-primary-light);
   line-height: 1.8;
   letter-spacing: 0.03em;
   margin-bottom: 1.5rem;
   max-width: 260px;
}
.footer-socials { display: flex; gap: 12px; flex-wrap: wrap; }
.footer-social {
   width: 36px;
   height: 36px;
   border: 1px solid rgba(var(--ecbz-primary-light-rgb), 0.2);
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--ecbz-primary-light);
   font-size: 14px;
   transition: 300ms;
   cursor: pointer;
   font-family: var(--ecbz-body-font), sans-serif;
   font-weight: 300;
   font-size: 11px;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   padding: 0 10px;
   width: auto;
   height: 32px;
   border-radius: 0;
}
.footer-social:hover { background: var(--ecbz-primary); color: var(--ecbz-secondary); border-color: var(--ecbz-primary); }
.footer-col-title {
   font-size: 11px;
   font-weight: 500;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: var(--ecbz-primary);
   margin-bottom: 1.25rem;
}
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
.footer-links a {
   font-size: 13px;
   color: var(--ecbz-primary-light);
   letter-spacing: 0.04em;
   transition: color 0.3s;
}
.footer-links a:hover { color: var(--ecbz-primary); }
.footer-contact-item {
   font-size: 13px;
   color: var(--ecbz-primary-light);
   letter-spacing: 0.04em;
   margin-bottom: 0.6rem;
   line-height: 1.6;
}
.footer-contact-item a { color: var(--ecbz-primary-light); transition: color 0.3s; }
.footer-contact-item a:hover { color: var(--ecbz-primary); }
.footer-bottom {
   display: flex;
   align-items: center;
   justify-content: space-between;
   max-width: 1200px;
   margin: 2rem auto 0;
   flex-wrap: wrap;
   gap: 1rem;
}
.footer-copy {
   font-size: 12px;
   color: rgba(var(--ecbz-primary-light-rgb), 0.6);
   letter-spacing: 0.06em;
}
.footer-backlink {
   display: flex;
   gap: 8px;
   align-items: center;
}
.footer-payment {
   display: flex;
   gap: 8px;
   align-items: center;
}
.payment-badge {
   font-size: 10px;
   font-weight: 500;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   padding: 4px 10px;
   border: 1px solid rgba(var(--ecbz-primary-light-rgb), 0.2);
   color: rgba(var(--ecbz-primary-rgb), 0.7);
   border-radius: 0;
}



.owl-carousel .owl-dots {
   margin-top: -30px !important;
   position: relative !important;
}
.owl-theme .owl-dots .owl-dot span {
   background: var(--ecbz-secondary-light) !important;
}
.owl-theme .owl-dots .owl-dot:hover span {
   background: var(--ecbz-secondary) !important;
}
.owl-theme .owl-dots .owl-dot.active span {
   background: var(--ecbz-secondary) !important;
}
.owl-carousel .fadeOut {
   animation-name: fadeOut;
}
.owl-carousel .fadeIn {
   animation-name: fadeIn;
}
@keyframes fadeOut {
   from { opacity: 1; }
   to { opacity: 0; }
}
@keyframes fadeIn {
   from { opacity: 0; }
   to { opacity: 1; }
}

.w__1 { width: 1%; }
.w__2 { width: 2%; }
.w__3 { width: 3%; }
.w__4 { width: 4%; }
.w__5 { width: 5%; }
.w__6 { width: 6%; }
.w__7 { width: 7%; }
.w__8 { width: 8%; }
.w__9 { width: 9%; }
.w__10 { width: 10%; }
.w__11 { width: 11%; }
.w__12 { width: 12%; }
.w__13 { width: 13%; }
.w__14 { width: 14%; }
.w__15 { width: 15%; }
.w__16 { width: 16%; }
.w__17 { width: 17%; }
.w__18 { width: 18%; }
.w__19 { width: 19%; }
.w__20 { width: 20%; }
.w__21 { width: 21%; }
.w__22 { width: 22%; }
.w__23 { width: 23%; }
.w__24 { width: 24%; }
.w__25 { width: 25%; }
.w__26 { width: 26%; }
.w__27 { width: 27%; }
.w__28 { width: 28%; }
.w__29 { width: 29%; }
.w__30 { width: 30%; }
.w__31 { width: 31%; }
.w__32 { width: 32%; }
.w__33 { width: 33%; }
.w__34 { width: 34%; }
.w__35 { width: 35%; }
.w__36 { width: 36%; }
.w__37 { width: 37%; }
.w__38 { width: 38%; }
.w__39 { width: 39%; }
.w__40 { width: 40%; }
.w__41 { width: 41%; }
.w__42 { width: 42%; }
.w__43 { width: 43%; }
.w__44 { width: 44%; }
.w__45 { width: 45%; }
.w__46 { width: 46%; }
.w__47 { width: 47%; }
.w__48 { width: 48%; }
.w__49 { width: 49%; }
.w__50 { width: 50%; !important }
.w__51 { width: 51%; !important }
.w__52 { width: 52%; !important }
.w__53 { width: 53%; !important }
.w__54 { width: 54%; !important }
.w__55 { width: 55%; !important }
.w__56 { width: 56%; !important }
.w__57 { width: 57%; !important }
.w__58 { width: 58%; !important }
.w__59 { width: 59%; !important }
.w__60 { width: 60%; !important }
.w__61 { width: 61%; !important }
.w__62 { width: 62%; !important }
.w__63 { width: 63%; !important }
.w__64 { width: 64%; !important }
.w__65 { width: 65%; !important }
.w__66 { width: 66%; !important }
.w__67 { width: 67%; !important }
.w__68 { width: 68%; !important }
.w__69 { width: 69%; !important }
.w__70 { width: 70%; !important }
.w__71 { width: 71%; !important }
.w__72 { width: 72%; !important }
.w__73 { width: 73%; !important }
.w__74 { width: 74%; !important }
.w__75 { width: 75%; !important }
.w__76 { width: 76%; !important }
.w__77 { width: 77%; !important }
.w__78 { width: 78%; !important }
.w__79 { width: 79%; !important }
.w__80 { width: 80%; !important }
.w__81 { width: 81%; !important }
.w__82 { width: 82%; !important }
.w__83 { width: 83%; !important }
.w__84 { width: 84%; !important }
.w__85 { width: 85%; !important }
.w__86 { width: 86%; !important }
.w__87 { width: 87%; !important }
.w__88 { width: 88%; !important }
.w__89 { width: 89%; !important }
.w__90 { width: 90%; !important }
.w__91 { width: 91%; !important }
.w__92 { width: 92%; !important }
.w__93 { width: 93%; !important }
.w__94 { width: 94%; !important }
.w__95 { width: 95%; !important }
.w__96 { width: 96%; !important }
.w__97 { width: 97%; !important }
.w__98 { width: 98%; !important }
.w__99 { width: 99%; !important }
.w__100 { width: 100%; !important }
@media(max-width: 587px) {
   .w__1, .w__2, .w__3, .w__4, .w__5, .w__6, .w__7, .w__8, .w__9, .w__10,
   .w__11, .w__12, .w__13, .w__14, .w__15, .w__16, .w__17, .w__18, .w__19, .w__20,
   .w__21, .w__22, .w__23, .w__24, .w__25, .w__26, .w__27, .w__28, .w__29, .w__30,
   .w__31, .w__32, .w__33, .w__34, .w__35, .w__36, .w__37, .w__38, .w__39, .w__40,
   .w__41, .w__42, .w__43, .w__44, .w__45, .w__46, .w__47, .w__48, .w__49, .w__50,
   .w__51, .w__52, .w__53, .w__54, .w__55, .w__56, .w__57, .w__58, .w__59, .w__60,
   .w__61, .w__62, .w__63, .w__64, .w__65, .w__66, .w__67, .w__68, .w__36, .w__70,
   .w__71, .w__72, .w__73, .w__74, .w__75, .w__76, .w__77, .w__78, .w__79, .w__80,
   .w__81, .w__82, .w__83, .w__84, .w__85, .w__86, .w__87, .w__88, .w__89, .w__90,
   .w__91, .w__92, .w__93, .w__94, .w__95, .w__96, .w__97, .w__98, .w__99, .w__100
   {
      width: 100%; !important
   }
}

