.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: "Dosis", "Montserrat", sans-serif !important;
}
@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: 'Montserrat', sans-serif;
   font-size: clamp(2rem, 3vw, 2.8rem);
   font-weight: 800;
   color: #1a1a1a;
   line-height: 1;
}
.ic-editorial .ic-ed-suffix {
   font-family: 'Montserrat', 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.08em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   margin: 0 0 6px;
}
.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;
}
.card.product-card {
   background: var(--ecbz-white);
   border: 1px solid var(--ecbz-gray-soft) !important;
   border-radius: var(--ecbz-border-radius);
   overflow: hidden;
   cursor: pointer;
   transition: border-color 0.18s;
   position: relative;
   display: flex;
   flex-direction: column;
}
.card.product-card:hover {
   border-color: rgba(var(--ecbz-secondary-rgb), 0.6) !important;
}
.card.product-card.selected {
   border: 2px solid #1B6B45;
}
.card.product-card.popular {
   border: 2px solid var(--ecbz-primary) !important;
}
.badge {
   position: absolute;
   top: 10px;
   left: 10px;
   font-size: 11px;
   font-weight: 500;
   padding: 3px 10px;
   border-radius: var(--ecbz-border-radius);
   z-index: 2;
}
.badge-popular {
   background: var(--ecbz-primary);
   color: var(--ecbz-white-soft);
}
.badge-shares {
   background: rgba(var(--ecbz-secondary-rgb), 0.2);
   border: 1px solid var(--ecbz-secondary);
   color: var(--ecbz-secondary);
   padding: 5px 8px;
}
.img-wrap {
   width: 100%;
   aspect-ratio: 4/3;
   overflow: hidden;
   background: #e8f0e9;
   /*border-radius: var(--ecbz-border-radius);*/
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
}
.img-wrap svg {
   width: 72px;
   height: 72px;
   opacity: 0.18;
}
.product-img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.source-tag {
   position: absolute;
   bottom: 8px;
   right: 8px;
   background: rgba(var(--ecbz-secondary-rgb), 0.82);
   color: #fff;
   font-size: 10px;
   padding: 3px 8px;
   border-radius: var(--ecbz-border-radius);
   backdrop-filter: blur(2px);
}
.card.product-card .card-body {
   padding: 14px 14px 12px;
   flex: 1;
   display: flex;
   flex-direction: column;
   gap: 8px;
}
.card.product-card .product-name {
   /*font-size: 17px;*/
   font-weight: 500;
   color: var(--ecbz-primary);
   margin: 0;
}
.card.product-card .specs {
   display: flex;
   flex-direction: column;
   gap: 4px;
}
.card.product-card .spec-row {
   display: flex;
   align-items: center;
   gap: 6px;
   font-size: 13px;
   /*color: var(--ecbz-secondary);*/
}
.card.product-card .spec-row i {
   font-size: 13px;
   color: var(--ecbz-secondary-light);
   flex-shrink: 0;
}
.card.product-card .valid-row {
   display: flex;
   gap: 5px;
   flex-wrap: wrap;
   margin-top: 2px;
}
.card.product-card .valid-pill {
   font-size: 10px;
   font-weight: 500;
   padding: 3px 8px;
   border-radius: 999px;
   background: var(--ecbz-white-soft);
   color: var(--ecbz-secondary);
   border: 0.5px solid var(--ecbz-secondary);
}
.card.product-card .price-row {
   display: flex;
   align-items: baseline;
   justify-content: space-between;
   margin-top: auto;
   padding-top: 10px;
   border-top: 0.5px solid var(--ecbz-gray-soft);
}
.card.product-card .price {
   font-size: 12px;
   font-weight: 400;
   color: var(--ecbz-secondary);
}
.card.product-card .price-note {
   font-size: 11px;
   color: var(--ecbz-secondary);
}
.card.product-card .book-btn {
   margin-top: 8px;
   width: 100%;
   padding: 9px 0;
   border-radius: var(--ecbz-border-radius);
   border: none;
   font-size: 13px;
   font-weight: 500;
   cursor: pointer;
   transition: opacity 0.15s;
}
/*.btn-outline {*/
/*   background: transparent;*/
/*   color: #1B4332;*/
/*   border: 1.5px solid #1B4332;*/
/*}*/
/*.btn-outline:hover {*/
/*   background: #EAF3DE;*/
/*}*/
.card.product-card .tooltip-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 18px;
   height: 18px;
   border-radius: 50%;
   background: rgba(var(--ecbz-secondary), 0.1);
   border: 0.5px solid var(--ecbz-secondary);
   color: var(--ecbz-secondary);
   font-size: 14px;
   cursor: help;
   position: relative;
}
.tip-box {
   display: none;
   position: absolute;
   bottom: 120%;
   left: 50%;
   transform: translateX(-50%);
   width: 200px;
   background: var(--ecbz-white-soft);
   border: 0.5px solid var(--ecbz-secondary);
   border-radius: var(--ecbz-border-radius);
   padding: 8px 10px;
   font-size: 11px;
   color: var(--ecbz-secondary);
   line-height: 1.5;
   z-index: 1000000000;
}
.tooltip-icon:hover .tip-box {
   display: block;
}
.note-box {
   margin-top: 1rem;
   background: var(--ecbz-white-soft);
   border-radius: 0 var(--ecbz-border-radius) var(--ecbz-border-radius) 0;
   border-left: 3px solid var(--ecbz-secondary);
   padding: 12px 14px;
   display: flex;
   align-items: flex-start;
   gap: 10px;
   font-size: var(--ecbz-font-size);
   /*color: var(--ecbz-secondary);*/
   line-height: 1.55;
}
.note-box i {
   /*font-size: 16px;*/
   color: var(--ecbz-secondary);
   margin-top: 1px;
   flex-shrink: 0;
}
.wa-link {
   color: #1B6B45;
   text-decoration: none;
   font-weight: 600;
   display: flex;
   align-items: center;
}
.wa-link:hover {
   text-decoration: underline;
}
.selected-check {
   display: none;
   position: absolute;
   top: 10px;
   right: 10px;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   background: var(--ecbz-secondary);
   align-items: center;
   justify-content: center;
   z-index: 2;
}
.card.selected .selected-check {
   display: flex;
}
.selected-check i {
   font-size: 13px;
   color: #fff;
}
:root {
   --gold:          #B8860B;
   --gold-light:    #F5E6B8;
   --gold-pale:     #FDF8EC;
   --gold-dark:     #7A5800;
   --step-line:     #E8D9A8;
   --text-body:     #3a3228;
   --text-muted:    #7a6e62;
   --text-heading:  #1c1710;
   --surface:       #ffffff;
   --surface-warm:  #FDFAF4;
   --border-warm:   #e9dfc8;
   --radius-sm:     6px;
   --radius-md:     12px;
   --radius-lg:     20px;
   --shadow-card:   0 2px 16px rgba(184,134,11,0.08), 0 1px 4px rgba(0,0,0,0.04);
   --shadow-hover:  0 8px 32px rgba(184,134,11,0.14), 0 2px 8px rgba(0,0,0,0.06);
   --transition:    all 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.process-section {
   background: var(--surface-warm);
   padding: 80px 0 100px;
   position: relative;
   overflow: hidden;
}

.process-section::before {
   content: '';
   position: absolute;
   inset: 0;
   background-image: radial-gradient(circle at 15% 20%, rgba(184,134,11,0.04) 0%, transparent 50%),
   radial-gradient(circle at 85% 80%, rgba(184,134,11,0.05) 0%, transparent 50%);
   pointer-events: none;
}
.process-section__label {
   display: inline-block;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: var(--gold);
   background: var(--gold-pale);
   border: 1px solid var(--gold-light);
   border-radius: 999px;
   padding: 5px 16px;
   margin-bottom: 20px;
}

.process-section h2.section-title {
   font-size: clamp(1.75rem, 3.5vw, 2.6rem);
   font-weight: 700;
   color: var(--text-heading);
   line-height: 1.25;
   margin-bottom: 16px;
   letter-spacing: -0.02em;
}

.process-section .section-subtitle {
   font-size: 1.05rem;
   color: var(--text-muted);
   line-height: 1.75;
   max-width: 640px;
   margin: 0 auto 64px;
}
.process-timeline {
   position: relative;
   padding-left: 0;
   list-style: none;
   margin: 0;
}

.process-timeline::before {
   content: '';
   position: absolute;
   left: 39px;         /* center of the number bubble */
   top: 24px;
   bottom: 24px;
   width: 2px;
   background: linear-gradient(
      to bottom,
      transparent 0%,
      var(--step-line) 5%,
      var(--step-line) 95%,
      transparent 100%
   );
   z-index: 0;
}

.process-step {
   display: flex;
   align-items: flex-start;
   gap: 28px;
   margin-bottom: 40px;
   position: relative;
   z-index: 1;
   opacity: 0;
   transform: translateY(28px);
   transition: opacity 0.5s ease, transform 0.5s ease;
}

.process-step.is-visible {
   opacity: 1;
   transform: translateY(0);
}

.process-step:nth-child(1) { transition-delay: 0.05s; }
.process-step:nth-child(2) { transition-delay: 0.12s; }
.process-step:nth-child(3) { transition-delay: 0.19s; }
.process-step:nth-child(4) { transition-delay: 0.26s; }
.process-step:nth-child(5) { transition-delay: 0.33s; }
.process-step:nth-child(6) { transition-delay: 0.40s; }

.process-step__number {
   flex-shrink: 0;
   width: 80px;
   height: 80px;
   border-radius: 50%;
   background: var(--surface);
   border: 2px solid var(--step-line);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   position: relative;
   transition: var(--transition);
}

.process-step__number span.num-label {
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 0.1em;
   color: var(--text-muted);
   text-transform: uppercase;
   line-height: 1;
   margin-bottom: 2px;
}

.process-step__number span.num-value {
   font-size: 22px;
   font-weight: 800;
   color: var(--gold);
   line-height: 1;
}

.process-step:hover .process-step__number,
.process-step.is-active .process-step__number {
   border-color: var(--gold);
   background: var(--gold-pale);
   box-shadow: 0 0 0 6px rgba(184,134,11,0.08);
}
.process-step__card {
   flex: 1;
   background: var(--surface);
   border: 1px solid var(--border-warm);
   border-radius: var(--radius-lg);
   padding: 28px 32px;
   box-shadow: var(--shadow-card);
   transition: var(--transition);
   cursor: default;
}

.process-step:hover .process-step__card {
   box-shadow: var(--shadow-hover);
   border-color: var(--gold-light);
   transform: translateY(-2px);
}
.process-step__icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 44px;
   height: 44px;
   border-radius: var(--radius-md);
   background: var(--gold-pale);
   border: 1px solid var(--gold-light);
   margin-bottom: 14px;
   font-size: 22px;
   color: var(--gold);
}
.process-step__card h3 {
   font-size: 1.15rem;
   font-weight: 700;
   color: var(--text-heading);
   margin: 0 0 10px;
   line-height: 1.3;
}

.process-step__card p {
   font-size: 0.95rem;
   color: var(--text-muted);
   line-height: 1.75;
   margin: 0 0 12px;
}

.process-step__card p:last-child {
   margin-bottom: 0;
}

.process-step__list {
   list-style: none;
   padding: 0;
   margin: 10px 0 0;
}

.process-step__list li {
   position: relative;
   padding-left: 20px;
   font-size: 0.92rem;
   color: var(--text-muted);
   line-height: 1.65;
   margin-bottom: 6px;
}

.process-step__list li::before {
   content: '';
   position: absolute;
   left: 0;
   top: 9px;
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: var(--gold-light);
   border: 1.5px solid var(--gold);
}

.process-step__callout {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   background: var(--gold-pale);
   border-left: 3px solid var(--gold);
   border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
   padding: 10px 14px;
   margin-top: 16px;
   font-size: 0.85rem;
   color: var(--gold-dark);
   line-height: 1.6;
}

.process-step__callout i {
   flex-shrink: 0;
   font-size: 16px;
   margin-top: 1px;
}

.process-step__badges {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 14px;
}

.process-step__badge {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-size: 0.8rem;
   font-weight: 600;
   color: var(--gold-dark);
   background: var(--gold-pale);
   border: 1px solid var(--gold-light);
   border-radius: 999px;
   padding: 5px 12px;
}

.process-step__badge i {
   font-size: 15px;
}
.process-step__checklist {
   list-style: none;
   padding: 0;
   margin: 10px 0 0;
}

.process-step__checklist li {
   display: flex;
   align-items: flex-start;
   gap: 8px;
   font-size: 0.92rem;
   color: var(--text-muted);
   line-height: 1.65;
   margin-bottom: 7px;
}

.process-step__checklist li i {
   flex-shrink: 0;
   font-size: 16px;
   color: #2d8a4e;
   margin-top: 2px;
}
.process-step__options {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 12px;
   margin-top: 16px;
}

.process-step__option {
   background: var(--surface-warm);
   border: 1px solid var(--border-warm);
   border-radius: var(--radius-md);
   padding: 14px 16px;
   text-align: center;
   font-size: 0.875rem;
   color: var(--text-body);
}

.process-step__option i {
   display: block;
   font-size: 26px;
   color: var(--gold);
   margin-bottom: 6px;
}

.process-step__option strong {
   display: block;
   font-size: 0.8rem;
   font-weight: 700;
   color: var(--text-heading);
   margin-bottom: 4px;
}
@media (max-width: 575.98px) {
   .process-section {
      padding: 56px 0 72px;
   }

   .process-timeline::before {
      left: 28px;
   }

   .process-step {
      gap: 16px;
   }

   .process-step__number {
      width: 58px;
      height: 58px;
   }

   .process-step__number span.num-label {
      display: none;
   }

   .process-step__number span.num-value {
      font-size: 18px;
   }

   .process-step__card {
      padding: 20px 20px;
   }

   .process-step__options {
      grid-template-columns: 1fr;
   }

   .process-section h2.section-title {
      font-size: 1.65rem;
   }
}
@media (min-width: 576px) and (max-width: 991.98px) {
   .process-timeline::before {
      left: 39px;
   }
}
.process-step__number::after {
   content: '';
   position: absolute;
   right: -16px;
   top: 50%;
   transform: translateY(-50%);
   width: 14px;
   height: 2px;
   background: var(--step-line);
}
.svc-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: 14px;
}
.svc-card {
   background: var(--ecbz-white);
   border: 0.5px solid var(--ecbz-border-color);
   border-radius: var(--ecbz-border-radius);
   overflow: hidden;
   cursor: pointer;
   transition: border-color 0.18s, box-shadow 0.18s;
   position: relative;
   display: flex;
   flex-direction: column;
}
.svc-card:hover {
   border-color: var(--ecbz-secondary);
}
.svc-card.selected-udhiya {
   border: 2px solid #C9973A;
}
.svc-card.selected-aqiqah {
   border: 2px solid #1B6B45;
}
.svc-card.selected-sadaqah {
   border: 2px solid #185FA5;
}
.card-accent {
   height: 5px;
   width: 100%;
}
.accent-udhiya {
   background: #C9973A;
}
.accent-aqiqah {
   background: #1B6B45;
}
.accent-sadaqah {
   background: #185FA5;
}
.svc-icon-wrap {
   padding: 20px 20px 0;
}
.svc-icon {
   width: 44px;
   height: 44px;
   border-radius: var(--ecbz-border-radius);
   display: flex;
   align-items: center;
   justify-content: center;
}
.icon-udhiya {
   background: #FAEEDA;
}
.icon-udhiya i {
   color: #854F0B;
   font-size: 22px;
}
.icon-aqiqah {
   background: #EAF3DE;
}
.icon-aqiqah i {
   color: #3B6D11;
   font-size: 22px;
}
.icon-sadaqah {
   background: #E6F1FB;
}
.icon-sadaqah i {
   color: #185FA5;
   font-size: 22px;
}
.svc-body {
   padding: 14px 20px 18px;
   flex: 1;
   display: flex;
   flex-direction: column;
   gap: 10px;
}
.svc-tag {
   display: inline-block;
   font-size: 10px;
   font-weight: 500;
   padding: 2px 9px;
   border-radius: 999px;
}
.tag-udhiya {
   background: #FAEEDA;
   color: #854F0B;
   border: 0.5px solid #FAC775;
}
.tag-aqiqah {
   background: #EAF3DE;
   color: #3B6D11;
   border: 0.5px solid #C0DD97;
}
.tag-sadaqah {
   background: #E6F1FB;
   color: #185FA5;
   border: 0.5px solid #B5D4F4;
}
.svc-name {
   font-size: 18px;
   font-weight: 500;
   color: var(--ecbz-primary);
   margin: 0;
}
.svc-arabic {
   font-size: 13px;
   color: var(--ecbz-secondary);
   margin: 0;
   font-style: italic;
}
.svc-desc {
   font-size: 13px;
   color: var(--ecbz-secondary);
   line-height: 1.6;
   margin: 0;
}
.detail-list {
   display: flex;
   flex-direction: column;
   gap: 5px;
   padding: 10px 0 0;
   border-top: 0.5px solid var(--ecbz-border-color);
}
.detail-row {
   display: flex;
   align-items: flex-start;
   gap: 7px;
   font-size: 12px;
   color: var(--ecbz-secondary);
   line-height: 1.5;
}
.detail-row i {
   font-size: 13px;
   margin-top: 1px;
   flex-shrink: 0;
}
.di-udhiya {
   color: #BA7517;
}
.di-aqiqah {
   color: #3B6D11;
}
.di-sadaqah {
   color: #185FA5;
}
.svc-btn {
   margin-top: auto;
   padding-top: 14px;
}
.svc-btn button {
   width: 100%;
   padding: 9px 0;
   border-radius: var(--ecbz-border-radius);
   font-size: 13px;
   font-weight: 500;
   cursor: pointer;
   transition: opacity 0.15s;
   border: none;
}
.btn-udhiya {
   background: #C9973A;
   color: #fff;
}
.btn-udhiya:hover {
   opacity: 0.88;
}
.btn-aqiqah {
   background: #1B4332;
   color: #fff;
}
.btn-aqiqah:hover {
   opacity: 0.88;
}
.btn-sadaqah {
   background: #185FA5;
   color: #fff;
}
.btn-sadaqah:hover {
   opacity: 0.88;
}
.sel-check {
   display: none;
   position: absolute;
   top: 14px;
   right: 14px;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   align-items: center;
   justify-content: center;
   z-index: 2;
}
.check-udhiya {
   background: #C9973A;
}
.check-aqiqah {
   background: #1B6B45;
}
.check-sadaqah {
   background: #185FA5;
}
.svc-card.selected-udhiya .sel-check,
.svc-card.selected-aqiqah .sel-check,
.svc-card.selected-sadaqah .sel-check {
   display: flex;
}
.sel-check i {
   font-size: 13px;
   color: #fff;
}
.booking-wizard {
   --amr-gold:       #B8860B;
   --amr-gold-pale:  #FDF8EC;
   --amr-gold-light: #F5E6B8;
   --amr-green:      #1B4332;
   --amr-green-mid:  #1B6B45;
   --amr-green-pale: #EAF3DE;
   --amr-border:     #e9dfc8;
}

/* ── Progress steps ─────────────────────────────────────── */
.wizard-steps {
   display: flex;
   align-items: center;
   gap: 0;
   margin-bottom: 2rem;
   overflow-x: auto;
   padding-bottom: 4px;
}
.wizard-step {
   display: flex;
   flex-direction: column;
   align-items: center;
   flex: 1;
   min-width: 80px;
   position: relative;
   cursor: default;
   user-select: none;
}
.wizard-step:not(:last-child)::after {
   content: '';
   position: absolute;
   top: 18px;
   left: calc(50% + 18px);
   right: calc(-50% + 18px);
   height: 2px;
   background: var(--amr-border);
   z-index: 0;
   transition: background .3s;
}
.wizard-step.done:not(:last-child)::after,
.wizard-step.active:not(:last-child)::after {
   background: var(--amr-gold-light);
}
.step-bubble {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   border: 2px solid var(--amr-border);
   background: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 13px;
   font-weight: 600;
   color: #aaa;
   position: relative;
   z-index: 1;
   transition: all .3s;
}
.wizard-step.done .step-bubble {
   background: var(--amr-green-pale);
   border-color: var(--amr-green-mid);
   color: var(--amr-green-mid);
}
.wizard-step.active .step-bubble {
   background: var(--amr-gold);
   border-color: var(--amr-gold);
   color: #fff;
   box-shadow: 0 0 0 4px rgba(184,134,11,.15);
}
.step-label {
   font-size: 10px;
   font-weight: 500;
   color: #aaa;
   margin-top: 5px;
   text-align: center;
   white-space: nowrap;
   transition: color .3s;
   letter-spacing: .03em;
   text-transform: uppercase;
}
.wizard-step.done .step-label,
.wizard-step.active .step-label {
   color: var(--amr-green);
}

/* ── Panels ─────────────────────────────────────────────── */
.booking-panel { display: none; }
.booking-panel.active { display: block; }

/* ── Service selector cards ──────────────────────────────── */
.svc-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   gap: 12px;
}
/*.svc-card {*/
/*   border: 1.5px solid var(--amr-border);*/
/*   border-radius: 10px;*/
/*   padding: 18px 16px 14px;*/
/*   cursor: pointer;*/
/*   transition: border-color .2s, box-shadow .2s;*/
/*   position: relative;*/
/*   background: #fff;*/
/*   overflow: hidden;*/
/*}*/
/*.svc-card::before {*/
/*   content: '';*/
/*   display: block;*/
/*   height: 4px;*/
/*   border-radius: 10px 10px 0 0;*/
/*   position: absolute;*/
/*   top: 0; left: 0; right: 0;*/
/*}*/
/*.svc-card[data-svc="udhiya"]::before { background: #C9973A; }*/
/*.svc-card[data-svc="aqiqah"]::before  { background: #1B6B45; }*/
/*.svc-card[data-svc="sadaqah"]::before { background: #185FA5; }*/
/*.svc-card:hover { border-color: #aaa; box-shadow: 0 2px 10px rgba(0,0,0,.06); }*/
/*.svc-card.selected {*/
/*   border-color: var(--amr-gold) !important;*/
/*   box-shadow: 0 0 0 3px rgba(184,134,11,.12);*/
/*}*/
/*.svc-check {*/
/*   position: absolute;*/
/*   top: 10px; right: 10px;*/
/*   width: 20px; height: 20px;*/
/*   border-radius: 50%;*/
/*   background: var(--amr-gold);*/
/*   color: #fff;*/
/*   font-size: 11px;*/
/*   display: none;*/
/*   align-items: center;*/
/*   justify-content: center;*/
/*}*/
.svc-card.selected .svc-check, .svc-card.selected .sel-check {
   display: flex;
}
.tag-udhiya  { background:#FAEEDA; color:#854F0B; border: .5px solid #FAC775; }
.tag-aqiqah  { background:#EAF3DE; color:#3B6D11; border: .5px solid #C0DD97; }
.tag-sadaqah { background:#E6F1FB; color:#185FA5; border: .5px solid #B5D4F4; }

.dist-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 12px;
}
.dist-card {
   border: 1.5px solid var(--amr-border);
   border-radius: 10px;
   padding: 18px;
   cursor: pointer;
   transition: border-color .2s, box-shadow .2s;
   position: relative;
   background: #fff;
   overflow: hidden;
}
.dist-card::before {
   content: '';
   display: block;
   height: 4px;
   border-radius: 10px 10px 0 0;
   position: absolute;
   top: 0; left: 0; right: 0;
}
.dist-card[data-dist="deliver"]::before { background: var(--amr-gold); }
.dist-card[data-dist="donate"]::before  { background: var(--amr-green-mid); }
.dist-card:hover { border-color: #aaa; }
.dist-card.selected { border-color: var(--amr-gold) !important; box-shadow: 0 0 0 3px rgba(184,134,11,.12); }
.dist-icon {
   width: 42px; height: 42px;
   border-radius: 8px;
   display: flex; align-items: center; justify-content: center;
   font-size: 20px; margin-bottom: 10px;
}
.dist-card[data-dist="deliver"] .dist-icon { background:#FDF3D5; color:#854F0B; }
.dist-card[data-dist="donate"]  .dist-icon { background:#EAF3DE; color:#27500A; }
.dist-title { font-size: 14px; font-weight: 600; color: var(--amr-green); margin: 0 0 4px; }
.dist-desc  { font-size: 12px; color: #888; margin: 0; line-height: 1.5; }
.dist-check {
   position: absolute; top: 14px; right: 14px;
   width: 20px; height: 20px; border-radius: 50%;
   background: var(--amr-gold); color: #fff;
   font-size: 11px; display: none;
   align-items: center; justify-content: center;
}
.dist-card.selected .dist-check { display: flex; }

/* ── Name rows ───────────────────────────────────────────── */
.name-row {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 8px;
   align-items: center;
   margin-bottom: 8px;
}
.name-row .remove-name {
   width: 32px; height: 32px;
   border-radius: 6px;
   border: 1px solid #e0e0e0;
   background: #fafafa;
   color: #999;
   display: flex; align-items: center; justify-content: center;
   cursor: pointer; font-size: 14px;
   transition: all .15s;
}
.name-row .remove-name:hover { border-color: #dc3545; color: #dc3545; background: #fff5f5; }

/* ── Wakalah callout ─────────────────────────────────────── */
.wakalah-callout {
   background: var(--amr-gold-pale);
   border-left: 4px solid var(--amr-gold);
   border-radius: 0 8px 8px 0;
   padding: 18px 20px;
}
.wakalah-callout ol { margin: 12px 0 0; padding-left: 20px; }
.wakalah-callout li { font-size: 13px; color: #555; line-height: 1.7; margin-bottom: 4px; }

/* ── Payment method cards ────────────────────────────────── */
.pay-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
   gap: 10px;
}
.pay-card {
   border: 1.5px solid var(--amr-border);
   border-radius: 10px;
   padding: 14px 12px;
   cursor: pointer;
   text-align: center;
   transition: border-color .2s;
   background: #fff;
   position: relative;
}
.pay-card:hover { border-color: #aaa; }
.pay-card.selected { border-color: var(--amr-green-mid) !important; box-shadow: 0 0 0 3px rgba(27,107,69,.1); }
.pay-icon { font-size: 26px; margin-bottom: 6px; display: block; }
.pay-name { font-size: 12px; font-weight: 600; color: var(--amr-green); margin: 0 0 2px; }
.pay-for  { font-size: 10px; color: #999; margin: 0; }
.pay-check {
   position: absolute; top: 8px; right: 8px;
   width: 16px; height: 16px; border-radius: 50%;
   background: var(--amr-green-mid); color: #fff;
   font-size: 10px; display: none;
   align-items: center; justify-content: center;
}
.pay-card.selected .pay-check { display: flex; }

/* ── Nav buttons ─────────────────────────────────────────── */
.wizard-nav {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-top: 1.5rem;
   padding-top: 1rem;
   border-top: 1px solid var(--amr-border);
}
.btn-amr-gold {
   background: var(--amr-gold);
   border-color: var(--amr-gold);
   color: #fff;
}
.btn-amr-gold:hover { background: #9e7309; border-color: #9e7309; color: #fff; }
.btn-amr-green {
   background: var(--amr-green);
   border-color: var(--amr-green);
   color: #fff;
}
.btn-amr-green:hover { background: #122e22; border-color: #122e22; color: #fff; }

/* ── Misc ────────────────────────────────────────────────── */
.section-eyebrow {
   font-size: 10px;
   font-weight: 600;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: var(--amr-gold);
   margin-bottom: 4px;
}
.field-error {
   display: none;
   font-size: 12px;
   color: #dc3545;
   margin-top: 3px;
}
.is-invalid ~ .field-error {
   display: block;
}
.conditional-field {
   display: none;
}
.recipients-list .recipient-block {
   background: #f8f9fa;
   border: 1px solid #e9ecef;
   border-radius: 8px;
   padding: 14px;
   margin-bottom: 10px;
   position: relative;
}
.recipient-block .remove-recipient {
   position: absolute;
   top: 10px;
   right: 10px;
   background: none;
   border: none;
   color: #999;
   font-size: 16px;
   cursor: pointer;
   padding: 0
}
.recipient-block .remove-recipient:hover {
   color: #dc3545;
}
.summary-table td:first-child {
   font-weight: 500;
   color: #555;
   width: 40%;
}
.summary-table td:last-child  {
   color: var(--amr-green);
   font-weight: 600;
}

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;*/
}

.card {
   /*border-style: var(--ecbz-border-style) !important;*/
   border-color: var(--ecbz-border-color) !important;
   border-radius: var(--ecbz-border-radius) !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 {
   box-shadow: var(--ecbz-card-shadow) !important;
}
.card.card-1 .title:hover {
   color: rgba(var(--ecbz-primary-rgb), 0.3) !important;
}
.accent-1 {
   background: var(--ecbz-primary) !important;
}
.card.card-2 .title:hover {
   color: rgba(var(--ecbz-secondary-rgb), 0.3) !important;
}
.accent-2 {
   background: var(--ecbz-secondary) !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.card-4 .title:hover {
   color: rgba(var(--ecbz-secondary-light-rgb), 0.3) !important;
}
.accent-4 {
   background: var(--ecbz-secondary-light) !important;
}
.card.card-1, .card.card-2, .card.card-3, .card.card-4 {
   border: 1.5px solid var(--ecbz-border-color) !important;
}
.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.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;
}
.hero-section {
   min-height: 777px;
   padding-block: 180px 100px;
}
.home-subtitle {
   font-size: clamp(0.75rem, 2vw, 1rem);
}
.hero-section h3 {
   font-size: clamp(1.5rem, 4vw, 2.5rem);
}
.home-desc-2 {
   font-size: clamp(0.8rem, 1.8vw, 1rem);
}
@media (max-width: 991px) {
   .hero-section {
      min-height: unset;
      padding-block: 100px 60px;
   }
}
.hero-section .card {
   max-height: 70vh;
   overflow-y: auto;
   border-radius: 0;
   scrollbar-width: thin;
}
@media (max-width: 1199px) {
   .hero-section .card {
      max-height: 55vh;
      font-size: 0.875rem;
   }
   .hero-section .card .card-body {
      padding: 1rem;
   }
}
.quote-block {
   display: grid;
   grid-template-columns: 1fr 1fr;
   border: 1px solid #e5e7eb;
   border-radius: 12px;
   overflow: hidden;
}
.quote-label {
   grid-column: 1 / -1;
   background: #f9fafb;
   border-bottom: 1px solid #e5e7eb;
   padding: 0.5rem 1.25rem;
   font-size: 11px;
   font-weight: 500;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   color: #6b7280;
}
.quote-en {
   padding: 1.5rem 1.25rem;
   font-size: 14px;
   line-height: 1.85;
}
.quote-ar {
   padding: 1.5rem 1.25rem;
   font-size: 17px;
   line-height: 2.1;
   letter-spacing: 0;          /* critical — never use letter-spacing on Arabic */
   direction: rtl;
   text-align: right;
   border-left: 1px solid #e5e7eb;
   font-family: 'Noto Sans Arabic', sans-serif;
}
.quote-ar .topic-ar {
   font-size: 20px;
   font-weight: 500;
}
@media (max-width: 767px) {
   .quote-block { grid-template-columns: 1fr; }
   .quote-en    { order: 1; }
   .quote-ar    { order: 2; border-left: none; border-top: 1px solid #e5e7eb; }
}
.float-booking-btn {
   position: fixed;
   bottom: 30px;
   left: 100px;
   z-index: 20;
   animation: float-bounce 2.4s ease-in-out infinite;
}
.float-booking-link {
   display: inline-flex;
   align-items: center;
   background-color: var(--ecbz-primary);
   color: var(--ecbz-secondary);
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   text-decoration: none;
   padding: 12px 20px;
   border-radius: var(--ecbz-border-radius);
   border: 1px solid var(--ecbz-primary);
   box-shadow: 0 4px 20px rgba(var(--ecbz-primary-rgb), 0.35);
   white-space: nowrap;
   transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
.float-booking-link:hover,
.float-booking-link:focus {
   background-color: var(--ecbz-secondary);
   color: var(--ecbz-primary);
   box-shadow: 0 6px 28px rgba(201, 168, 76, 0.5);
   text-decoration: none;
}
@keyframes float-bounce {
   0%, 100% {
      transform: translateY(0);
   }
   45% {
      transform: translateY(-10px);
   }
   65% {
      transform: translateY(-6px);
   }
   80% {
      transform: translateY(-10px);
   }
}
@media (max-width: 575px) {
   .float-booking-btn {
      bottom: 24px;
      right: 12px;
      animation-duration: 3.2s;
   }
   .float-booking-link {
      font-size: 10px;
      padding: 10px 14px;
   }
   .float-booking-link i {
      display: none;
   }
}


.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
   }
}

