 body {
     font-family: 'Lato', sans-serif;
     font-size: 14px;
     padding-top: 0;
     margin: 0;
     color: white;
 }

 h1,
 h2,
 h3,
 h4,
 h6,
 .brand-name {
     text-transform: capitalize !important;
     font-family: 'Playfair Display', serif;
 }

 h1 {
     font-size: 3.05rem;
     text-transform: capitalize;
 }

 h2 {
     font-size: 2.50rem
 }

 h3 {
     font-size: 1.35rem
 }

 h5 {
     font-size: 1.12rem;
 }

 .navigation-wrapper {
     text-align: center;
     padding: 0.75rem;
     position: relative;
     background-color: #fff;
     box-shadow: rgba(0, 0, 0, 0.4);

 }

 .navigation-wrapper .navbar-nav .nav-link {
     color: #1d1d1d;
 }

 .hero-wrapper {
     height: 90vh;
     position: relative;
     background: url('../images/home/Top\ pic\ 2.jpg') center center/cover no-repeat;
     color: white;
     text-align: center;
     padding-bottom: 3rem;
 }

 .page-title {
     font-family: 'Playfair Display', serif;
     text-transform: capitalize !important;
     font-size: 60px;
     text-align: center;
     position: relative;
     margin-top: 15%;
     color: #fff;
     text-shadow: rgba(0, 0, 0, 0.4);
 }

 #aboutustopsection {
     height: 90vh;
     position: relative;
     padding: 20px;
     background: url('../images/about/DSC07470.jpg') center center/cover no-repeat;
     color: #fff;
 }

 #aboutustopsection::before,
 #aboutustopsection::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: rgba(0, 0, 0, 0.15);
     z-index: 0;
 }

 #nightwearsection {
     height: 90vh;
     position: relative;
     padding: 40px 20px;
     background: url('../images/Nightwear/Top\ Pic.jpg') center center/cover no-repeat;
     color: #fff;
 }

 #nightwearsection .page-title {
     color: #fff;
 }

 #nightwearsection::before,
 #nightwearsection::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: rgba(0, 0, 0, 0.2);
     z-index: 0;
 }

 #secondarysection {
     padding: 60px;
 }

 #secondarysection h3 {
     margin-bottom: 20px;
 }

 #gowncollectionsection {
     padding: 60px 20px;
     background-color: #d9d9d9;
 }

 .sizes {
     display: flex;
     gap: 30px;
     list-style: none;
     padding: 0;
     font-size: 22px;
 }

 .sizes li {
     width: 50px;
     height: 50px;
     line-height: 50px;
     border-radius: 10px;
     border: 1.5px solid #333;
     text-align: center;
 }

 .modal-content {
     color: #000;
 }

 .modal-header {
     background-color: blanchedalmond;
 }

 .modal-footer {
     background-color: #1d1d1d;
 }

 .brand-modal-name {
     text-align: center;
     font-size: 28px;
     font-family: 'Playfair Display', serif;
     text-transform: capitalize;
 }

 .thumb-img {
     cursor: pointer;
 }

 .whreetotrybtn {
     cursor: pointer;
     background-color: blanchedalmond;
     font-size: 20px;
     text-transform: uppercase;
     font-weight: 600;
     padding: 15px;
     width: 100%;
     box-shadow: 0px 2px 6px 0 rgba(0, 0, 0, 0.3);
 }

 .whreetotrybtn:hover {
     color: #fff;
     background-color: crimson;
 }

 #mainImage {
     width: 100%;
 }

 #accessoriessection {
     height: 90vh;
     position: relative;
     padding: 40px 20px;
     background: url('../images/Accessories/New\ folder/Veil 4.jpg') center center/cover no-repeat;
     color: #fff;
 }

 #accessoriessection .page-title {
     color: #fff;
 }

 #accessoriessection::before,
 #accessoriessection::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: rgba(0, 0, 0, 0.2);
     z-index: 0;
 }

 #loader {
     display: block;
     text-align: center;
 }

 #accessoriesproducts {
     background-color: #d9d9d9;
 }

 .card.h-100 .card-body {
     background-color: #efe2d0;
 }

 .card.h-100:hover {
     filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.5));
 }

 .card.h-100:hover .card-body {
     background-color: #FFF;
 }

 .card.h-100 a {
     text-decoration: none;
 }

 .card.h-100 img {
     cursor: pointer;
     height: 75vh;
 }

 .card.h-100 .card-title {
     font-family: 'Playfair Display', serif;
     color: #000;
     font-weight: 700;
 }

 .card.h-100 .card-text {
     color: #1d1d1d;
 }

 #aboutinfo {
     padding: 80px 40px
 }

 #aboutinfo .container {
     width: 90%;
 }

 #aboutmagic {
     padding: 80px 40px;
     background-color: #d9d9d9;
 }

 #abouttestimonials {
     background-color: floralwhite;
     padding: 80px 0;
 }

 .carousel-container {
     height: 400px;
     position: relative;
     overflow: hidden;
 }

 .carousel-track {
     display: flex;
     flex-direction: column;
     transition: transform 1s ease-in-out;
 }

 .carousel-slide {
     min-height: 400px;
     align-items: center;
     font-size: 16px;
     padding: 80px 50px 20px 50px;
 }

 .indicators {
     position: absolute;
     bottom: 10px;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     gap: 10px;
 }

 .indicator {
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background-color: #ccc;
     cursor: pointer;
 }

 .indicator.active {
     background-color: #333;
 }


 #bannerfull2 {
     position: relative;
     padding-top: 40px;
     background: url('../images/home/Banner\ 2.jpg') center center/cover no-repeat;
     color: #fff;
 }

 #bannerfull2::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: rgba(0, 0, 0, 0.4);
     z-index: 0;
 }

 #bannerfull2 .container {
     position: relative;
     z-index: 3;
 }

 /* Navbar inside hero-wrapper */
 nav.navbar {
     position: relative;
     background: transparent !important;
     box-shadow: none !important;
     z-index: 2;
     padding: 0 2.25rem;
     margin-bottom: 0.1rem;
 }

 /* Navbar text color */
 .navbar-nav .nav-link {
     font-weight: 500;
     font-size: 12px;
     text-transform: capitalize;
     color: white;
     padding: 0.5rem 1rem;
     transition: color 0.3s ease;
 }

 .navbar-nav .nav-link:hover {
     color: #000;
     font-weight: 600;
     border-color: crimson;
     background-color: rgba(255, 255, 255, 0.5);
 }

 .mega-menu {
     width: 100%;
     left: 0;
     right: 0;
     background-color: white;
     box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
 }

 .navbar-nav .dropdown-menu {
     border-top: 2px solid crimson !important;
 }

 .dropdown-menu {
     will-change: transform, opacity;
 }

 .dropdown-menu img {
     min-width: 170px;
     height: 200px;
 }

 .dropdown-item:hover {
     background-color: #f8f9fa;
 }

 .dropdown-header {
     font-size: 22px;
 }

 .dropdown-item {
     font-family: 'Playfair Display', serif;
     text-transform: capitalize;
 }

 .btn-appointment {
     background-color: crimson;
     border-radius: 0;
     border: 0;
     font-size: 12px;
     text-transform: capitalize;
     font-weight: 600;
     transition: background-color 0.3s ease, color 0.3s ease;
 }

 .btn-appointment:hover {
     background-color: #b88c9e;
     color: #1d1d1d;
 }

 .btn-aboutus {
     min-width: 200px;
     margin-top: 15px;
     margin-bottom: 20px;
     background-color: #d9d9d9;
     border-radius: 0;
     border: 0;
     font-size: 16px;
     text-transform: capitalize;
     font-weight: 600;
     transition: background-color 0.3s ease, color 0.3s ease;
 }

 .btn-aboutus:hover {
     border: 2px solid crimson;
     background-color: crimson;
     color: #fff;
 }

 .btn-sendmessage {
     width: 100%;
     background-color: crimson;
     border-radius: 0;
     border: 0;
     font-size: 20px;
     text-transform: uppercase;
     font-weight: 600;
     transition: background-color 0.3s ease, color 0.3s ease;
 }

 .btn-sendmessage:hover {
     background-color: #b88c9e;
     color: #1d1d1d;
 }

 /**/
 .hover-image-container {
     cursor: pointer;
     margin: 20px 0;
     position: relative;
     overflow: hidden;
 }

 .hover-image-container img {
     width: 100%;
     height: 65vh;
     display: block;
 }

 .hover-link {
     position: absolute;
     right: 0;
     width: 90%;
     left: 5%;
     bottom: 5%;
     height: 70px;
     background: rgba(0, 0, 0, 0.7);
     color: #fff;
     text-align: center;
     text-decoration: none;
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .hover-image-container:hover .hover-link {
     opacity: 1;
 }

 /**/
 #appointmentsection {
     padding: 60px 20px;
     background-color: #d9d9d9;
 }

 /* Home section inside hero-wrapper */
 #home {
     position: relative;
     z-index: 0;
     padding-top: 120px;
     padding-bottom: 3.75rem;
     color: white;
 }

 #home h1,
 #home p,
 #bannerfull2 h1,
 #bannerfull2 h2 {
     text-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
 }

 #home p {
     font-size: 15px;
     padding: 30px 100px;
 }

 #contact {
     background-color: #efe2d0;
     padding: 60px 20px;
 }

 #contact li {
     margin: 10px 0;
 }

 #contact li a {
     color: #1d1d1d;
     cursor: pointer;
     text-decoration: none;
 }

 #contact li a:hover {
     color: crimson;

 }

 #collection {
     background-color: #fff;
 }

 /* Other sections styling */
 section {
     padding: 20px 0;
     color: black;
     background: white;
 }

 /* Overlay for readability */
 .hero-wrapper::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: rgba(0, 0, 0, 0.4);
     z-index: 0;
 }

 /* Spinner if not using Bootstrap */
 .spinner-border {
     width: 3rem;
     height: 3rem;
     border: 0.25em solid rgba(0, 0, 0, 0.1);
     border-top-color: #007bff;
     border-radius: 50%;
     animation: spin 0.75s linear infinite;
     display: inline-block;
 }

 @keyframes spin {
     to {
         transform: rotate(360deg);
     }
 }

 .card:hover {
     transform: scale(1.02);
     transition: transform 0.3s;
     cursor: pointer;
 }

 /* Brand container inside hero-wrapper */
 .hero-wrapper .brand-container {
     position: relative;
     background: transparent !important;
     z-index: 2;
     border: none;
     padding: 0.5rem 1rem;
     color: white;
     justify-content: center;
     gap: 0.8rem;
     display: flex;
     flex-wrap: wrap;
     align-items: center;
 }

 .hero-wrapper .brand-name {
     color: white;
     font-size: 20px;
     font-weight: 700;
     white-space: nowrap;
 }

 .desktop-brand {
     display: block !important;
 }

 .mobile-brand {
     display: none !important;
 }

 .timeline-section {
     padding: 80px 20px;
     background-color: #fff;
 }

 .timeline-title {
     text-align: center;
     margin-bottom: 60px;
 }

 .timeline-container {
     overflow-x: auto;
     padding-bottom: 20px;
 }

 .timeline-steps {
     display: flex;
     gap: 20px;
     justify-content: center;
     min-width: 600px;
     width: fit-content;
     margin: 0 auto;
 }

 .timeline-step {
     flex: 0 0 auto;
     width: 160px;
     text-align: center;
 }

 .timeline-step-icon {
     font-size: 37px;
     margin-bottom: 10px;
 }

 .timeline-step-icon img {
     width: 85%;
 }

 .timeline-step {
     opacity: 0;
     transform: translateX(100px);
     transition: opacity 0.6s ease-out, transform 0.6s ease-out;
     transition-delay: var(--delay, 0s);
     will-change: opacity, transform;
 }

 .timeline-step.visible {
     opacity: 1;
     transform: translateX(0);
 }

 @media (max-width: 768px) {
     .timeline-steps {
         gap: 30px;
     }

     .timeline-step {
         width: 160px;
     }

     .timeline-step-icon {
         font-size: 32px;
     }
 }

 @media (max-width: 480px) {
     .card.h-100 img {
         height: 30vh;
     }

     .brand-modal-name {
         font-size: 15px !important;
     }

     #appointmentsection {
         padding: 15px;
         background-color: #d9d9d9;
     }

     .modal-body {
         padding: 0 !important;
     }

     .navbar-nav .dropdown-menu {
         text-align: center !important;
     }

     #gowncollectionsection {
         padding: 40px 10px;
     }

     .timeline-step {
         width: 110px;
     }

     .timeline-step-icon {
         font-size: 28px;
     }

     .navbar.navbar-expand-lg {
         padding: 0 !important;
         color: #000;
     }

     .navbar.navbar-expand-lg .brand-name {
         font-size: 12px;
         line-height: 55px;
         padding-left: 10px;
     }

     #home h1 {
         padding-top: 30%;
     }
 }

 /* Desktop: stacked */
 @media (min-width: 992px) {
     .navbar-expand-lg .navbar-nav .dropdown-menu {
         width: 70%;
         left: 12%;
         border-radius: 0;
     }

     .hero-wrapper .brand-container {
         flex-direction: column;
     }

     .navigation-wrapper .brand-container img,
     .hero-wrapper .brand-container img {
         width: 50px;
         margin-bottom: 0.3rem;
     }

     .hero-wrapper .brand-name {
         font-size: 1.6rem;
         text-align: center;
     }
 }


 /* Mobile: horizontal */
 @media (max-width: 999px) {
     .navbar.navbar-expand-lg .container {
         display: contents;
     }

     .mobile-brand {
         display: inline-flex !important;

     }

     #home {

         padding-top: 0px;
         padding-bottom: 3.75rem;
     }

     #home p {
         font-size: 16px;
         padding: 10px;
     }

     .desktop-brand {
         display: none !important;
     }

     .hero-wrapper .brand-container {
         flex-direction: row;
         padding: 0.75rem 1rem;
     }

     .navigation-wrapper .brand-container img,
     .hero-wrapper .brand-container img {
         width: 60px;
     }

     .hero-wrapper .brand-name {
         font-size: 0.6rem;
     }
 }