﻿/* font-display: swap on every custom font — without it the browser hides
   text entirely until each font file finishes downloading (FOIT), which
   directly delays First/Largest Contentful Paint. swap paints text in a
   fallback font immediately and swaps in the real font once it's ready. */
@font-face {
    font-family: "BonVivant";
    src: url("../fonts/BonVivant-Regular.woff2") format("woff2"),
         url("../fonts/BonVivant-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
  font-family: "Marcellus";
  src: url("../fonts/Marcellus-Regular.woff2") format("woff2"),
       url("../fonts/Marcellus-Regular.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "SansationBold";
  src: url("../fonts/Sansation-Bold.woff2") format("woff2"),
       url("../fonts/Sansation-Bold.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "SansationBoldItalic";
  src: url("../fonts/Sansation-BoldItalic.woff2") format("woff2"),
       url("../fonts/Sansation-BoldItalic.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "SansationItalic";
  src: url("../fonts/Sansation-Italic.woff2") format("woff2"),
       url("../fonts/Sansation-Italic.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "SansationLight";
  src: url("../fonts/Sansation-Light.woff2") format("woff2"),
       url("../fonts/Sansation-Light.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Sansation";
  src: url("../fonts/Sansation-Regular.woff2") format("woff2"),
       url("../fonts/Sansation-Regular.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "bootstrap-icons";
  src: url("../fonts/bootstrap-icons.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "brother-signature";
  src: url("../fonts/BrotherSignature-7BWnK.woff2") format("woff2"),
       url("../fonts/BrotherSignature-7BWnK.otf") format("opentype");
  font-display: swap;
}
*,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
li,
a,
label,
span {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  margin: 0px;
  padding: 0px;
  line-height: normal;
  font-family: "Sansation";
  font-style: normal;
  font-weight: 400;
  overflow-x: hidden;
}

ul {
  list-style-type: none;
  padding: 0px;
}

/* ── Image loading placeholder ──────────────────────────────────────────────
   Grey shade shown behind every lazy-loaded image until it finishes loading;
   assets/js/main.js toggles the .img-loaded class on load/error so the grey
   never lingers behind transparent PNGs/SVGs (icons, logos, decor shapes). */
img[loading="lazy"] {
  background-color: #f5f5f5;
  transition: background-color 0.3s ease;
}
img[loading="lazy"].img-loaded {
  background-color: transparent;
}

a {
  color: #fff;
  text-decoration: none;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

h1 {
  color: #FFF;
  text-align: center;
  font-family: "Marcellus";
  font-size: 60px;
  font-style: normal;
  font-weight: 400;
  line-height: 64px;
}

h2 {
  color: #000;
  font-family: "Marcellus";
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 46px;
}

p {
  color: #333;
  font-family: "Sansation";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  /* 150% */
}

bdi {
  color: #65095B;
  text-align: center;
  font-family: "BonVivant";
  font-size: 60px;
  font-style: normal;
  font-weight: 400;
  line-height: 56px;
}

.primary-btn {
  display: inline-flex;
  height: 50px;
  padding: 16px 30px;
  align-items: center;
  gap: 10px;
  border-radius: 160px;
  background: #65095B;
  color: #FFF;
  font-family: "Sansation";
  font-size: 16px;
	border:none;
}

.slider-button-controls span {
  cursor: pointer;
}

.primary-outline-btn {
  display: inline-flex;
  padding: 16px 30px;
  align-items: center;
  gap: 10px;
  border-radius: 160px;
  border: 1px solid #FFF;
  background: rgba(10, 86, 73, 0);
  color: #FFF;
  font-family: "Sansation";
  font-size: 16px;
}

.view-gallery-btn {
  display: inline-flex;
  height: 50px;
  padding: 16px 20px;
  align-items: center;
  gap: 10px;
  border-radius: 160px;
  background: #FFF;
  color: #65095B;
  font-family: "Sansation";
  font-size: 16px;
}

header {
  position: relative;
}
header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 998;
  pointer-events: none;
}
header .mobile-logo {
  display: none;
}
header .nav-bottom-links {
  display: none;
}
header .mobile-nav-links-container {
  display: none !important;
}
header nav,
header .nav-bar {
  position: absolute;
  z-index: 9999;
  height: 100%;
  width: 100%;
  top: 20px;
  left: 0px;
}
header .nav-links-container {
  display: flex;
  align-items: center;
  gap: 20px;
}
header .nav-links-container li {
  color: #FFF;
  font-family: "Sansation";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
header .nav-links-container li.contact {
  -moz-column-gap: 7px;
       column-gap: 7px;
}
header .nav-call-icon path {
  fill: #fff;
  stroke: #fff;
}
header .nav-call-text {
  gap: 5px;
}
header .nav-call-label {
  color: #fff;
  font-size: 12px;
  line-height: 1;
}
header .nav-call-number {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
header .nav-call-number a {
  color: #fff;
  text-decoration: none;
}

/* ── Light header: pages with no dark hero behind the header (e.g. Blog
   Details) — repaint logo/nav/phone/button dark instead of white-on-white ── */
body.header-light header::before {
  display: none;
}
body.header-light header .nav-bar {
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
body.header-light header .nav-links-container:not(.mobile-nav-links-container) li {
  color: #222;
}
body.header-light header .nav-call-icon path {
  fill: #222;
  stroke: #222;
}
body.header-light header .nav-call-label,
body.header-light header .nav-call-number,
body.header-light header .nav-call-number a {
  color: #222;
}
body.header-light header .nav-book-btn {
  background: #65095B;
  color: #fff;
}
body.header-light header .nav-book-btn svg path {
  fill: #fff;
}
/* Mobile hamburger lines are white by default — dark on the white bar
   (they turn white again while the purple mobile menu is open). */
body.header-light .hamburger:not(.active) .bar {
  background-color: #222;
}
header .nav-links-container .dropdown .service-arrow {
  transition: 0.3s linear;
}
header .nav-links-container .dropdown:hover .service-arrow {
  transform: rotate(180deg);
}
header .nav-links-container .dropdown:hover .dropdown-menu {
  display: block;
  padding: 25px 0px 0px;
  background-color: transparent;
  border: none;
  left: -200px;
}

header .nav-links-container .dropdown {
  position: relative;
}

/* Top-level items with a dropdown (e.g. "Catering") don't navigate anywhere
   — they only reveal their submenu on hover — so the link shouldn't show a
   clickable hand cursor. The dropdown itself still opens via :hover above. */
header .nav-links-container .dropdown > a.nav-link {
  cursor: default;
}

header .nav-links-container .dropdown .simple-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  padding: 15px 0 8px;
  min-width: 180px;
  z-index: 999;
}

header .nav-links-container .dropdown:hover .simple-dropdown-menu {
  display: block;
}

header .nav-links-container .dropdown .simple-dropdown-menu li {
  margin-bottom: 0;
}

header .nav-links-container .dropdown .simple-dropdown-menu li a {
  display: block;
  padding: 10px 20px;
  color: #333333;
  font-size: 15px;
  white-space: nowrap;
}

header .nav-links-container .dropdown .simple-dropdown-menu li:hover {
  background: #F8F8F8;
}
header .nav-links-container .dropdown .mega-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding-top: 26px;
  z-index: 999;
}
header .nav-links-container .dropdown:hover .mega-dropdown {
  display: block;
}
header .nav-links-container .dropdown .wht-box {
  border-radius: 10px;
  border: 1px solid #DFDFDF;
  background: #fff;
  width: 740px;
  position: relative;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}
header .nav-links-container .dropdown .wht-box::before {
  position: absolute;
  width: 17px;
  height: 17px;
  content: "";
  transform: rotate(45deg);
  top: -9px;
  left: 54%;
  border-top: 1px solid grey;
  border-left: 1px solid grey;
  background-color: white;
}
header .nav-links-container .dropdown .wht-box h5 {
  font-size: 16px;
  line-height: normal;
  margin-bottom: 5px;
  color: #1a1a1a !important;
	padding:0 !important;
}
header .nav-links-container .dropdown .wht-box p {
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 0;
  color: #555;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
header .nav-links-container .dropdown .wht-box li {
  margin-bottom: 10px;
  border-radius: 8px;
  background: #F8F8F8;
}
header .nav-links-container .dropdown .wht-box li:hover {
  background: #FBEAF7;
}
header .nav-links-container .dropdown .wht-box li a {
  cursor: pointer;
  padding: 15px 15px !important;
  text-decoration: none;
  display: flex;
  width: 100%;
}
header .nav-links-container .dropdown .wht-box .menu-links {
  padding: 20px 20px 20px 20px;
}
header .nav-links-container .dropdown .wht-box .menu-links ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  width: 100%;
}
header .nav-links-container .dropdown .wht-box .dropdown-description {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-radius: 0 0 10px 10px;
  border: 1px solid #DFDFDF;
  background: #F9F9F9;
  padding: 20px 30px;
}
/* Without min-width:0 a flex item never shrinks below its text's natural
   width, so the description was pushing the button instead of truncating —
   that's also why the ellipsis (see .wht-box p) wasn't kicking in sooner. */
header .nav-links-container .dropdown .wht-box .dropdown-description > div {
  flex: 1 1 auto;
  min-width: 0;
}
header .nav-links-container .dropdown .wht-box .dropdown-description .mega-cta-btn {
  background: #65095B;
  color: #fff;
  flex-shrink: 0;
  white-space: nowrap;
}

footer {
  background-color: #65095B;
  position: relative;
 overflow:hidden;
}
footer::before {
  content: "";
  position: absolute;
  width: 300px;
  height: 382px;
  left: -130px;
  top: 220px;
  z-index: 999;
  background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/07/foot-img.png");
  background-size: contain;
  background-repeat: no-repeat;
  transform-origin: center center;
  transform: rotate(var(--plate-rotate, 0deg));
}

@keyframes moveSide {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(15px);
    }
    100% {
        transform: translateY(0);
    }
}

footer .footer-plate {
    display: inline-block;
}

footer .footer-plate img {
    animation: plateRotate 20s linear infinite;
    transform-origin: center center;
}

@keyframes plateRotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

footer .reach-out {
  /* Loaded via JS (see main.js) once this section nears the viewport instead
     of here — CSS background-images have no native lazy-loading, so this
     1.1MB file was downloading on every page load despite sitting in the
     footer, below the fold, on every single page. */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 80px 0px;
  position: relative;
  z-index: 99;
background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/08/Rectangle-12263-1.jpg") !important;
}
footer .reach-out::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0.72) 39.42%, rgba(0, 0, 0, 0) 100%);
  z-index: -1;
}
footer .reach-out bdi {
  color: #FFF;
}
footer .reach-out h2 {
  color: #fff;
  font-size: 40px;
  margin: 0 0 10px;
}
footer .reach-out p {
  color: #fff;
  margin-bottom: 30px;
}
footer .reach-out .call-us span {
  color: #FFF;
  font-size: 13px;
  font-family: "Sansation";
  line-height: normal;
}
footer .reach-out .call-us a {
  color: #fff;
}
footer .main-footer {
  padding-bottom: 40px;
}
footer .main-footer h3 {
  font-size: 30px;
}
footer .main-footer p {
  line-height: 26px;
  margin-bottom: 20px;
}
footer .main-footer a {
  color: #fff;
  font-size: 18px;
  text-decoration: underline;
}
footer .main-footer .social-links {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 12px;
}
footer .main-footer .social-links p {
  margin-bottom: 0;
}
footer .footer-links {
  padding-top: 65px;
}
footer .footer-links h4 {
  color: #FFF;
  font-size: 16px;
  font-weight: 700;
  font-family: "Sansation";
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 18px;
}
footer .footer-links p {
  color: #fff;
  margin-top: 28px;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  width: 344px;
}
footer .footer-social span {
  display: block;
  margin-bottom: 16px;
  margin-top: 20px;
  color: #FFF;
  font-family: "Sansation";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
footer .footer-social-icons {
  display: flex;
  align-items: center;
  gap: 15px;
}
footer .footer-social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  padding: 0;
  transition: opacity 0.25s ease;
}
footer .footer-social-icons a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
footer .footer-social-icons a:hover {
  opacity: 0.75;
}
footer .footer-links ul {
  padding-left: 0;
}
footer .footer-links ul li {
  list-style-type: none;
  margin-bottom: 16px;
  position: relative;
}
footer .footer-links ul li a {
  color: #FFF;
  font-family: "Sansation";
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  transition: all 0.3s ease;
}
footer .footer-links ul li a:hover {
  color: #F479E7;
  margin-left: 20px;
}
footer .footer-links ul li a:hover::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  width: 13px;
  height: 1px;
  background-color: #F479E7;
  border-radius: 50%;
}
footer .footer-links .policy {
  margin-top: 20px;
  color: #fff;
}
footer .footer-links .policy ul {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 8px;
}
footer .footer-links .policy ul li {
  margin-bottom: 0;
}
footer .footer-links .policy ul li:hover a {
  margin-left: 0;
}
footer .footer-links .policy ul li:hover a::before {
  display: none;
}
footer .footer-links .company-address-contact {
  margin-bottom: 30px;
}
footer .footer-links .company-address-contact h6 {
  color: #FFF;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  font-family: "Sansation";
  text-transform: uppercase;
  margin-bottom: 6px;
}
footer .footer-links .company-address-contact a {
  color: #fff;
  font-family: "Sansation";
  font-size: 16px;
  line-height: normal;
}
footer .footer-links .company-address-contact p {
  color: #E8DAE7;
  font-size: 16px;
  font-family: "Sansation";
  font-weight: 400;
  line-height: 20px;
  margin: 0 0 15px;
	width:65%;
}
footer .footer-links .company-address-contact .footer-address-link {
  display: block;
  text-decoration: none;
  transition: opacity 0.25s ease;
}
footer .footer-links .company-address-contact .footer-address-link:hover {
  opacity: 0.75;
}
footer .footer-links h5 {
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-family: "Sansation";
  font-weight: 400;
  line-height: normal;
}
footer .border-line {
  position: relative;
}
footer .border-line::before {
  content: "";
  position: absolute;
  border-left: 1px solid #8C177F;
  width: 1px;
  height: 75%;
  top: 0;
  left: -50px;
}
footer .border-line::after {
  content: "";
  position: absolute;
  border-right: 1px solid #8C177F;
  width: 1px;
  height: 75%;
  top: 0;
  right: -10px;
}
footer .footer-links .company-address-contact {
	margin-bottom:0;
	margin-top:30px;
}

footer .footer-links .policy{
	margin-top:0;
}
footer .copy-rights {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #8C177F;
  padding-top: 26px;
  margin-top: 20px;
  margin-bottom: 20px;
}
footer .copy-rights p {
  font-size: 14px;
  line-height: 22px;
  color: #fff;
  font-family: "Sansation";
}
footer .copy-rights p a {
  color: #fff;
  transition: color 0.3s ease;
}
footer .copy-rights p a:hover {
  color: #f27c22;
}
footer .main-footer-img {
  display: flex;
  align-items: center;
}
footer .main-footer-img h6 {
  color: #79106E;
  font-size: 140px;
  font-family: "Sansation";
  font-weight: 900;
  line-height: normal;
  text-transform: uppercase;
}

@keyframes slideLeft {
  0% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.arrow-animate {
  cursor: pointer;
  transition: transform 0.3s ease;
}
.arrow-animate span,
.arrow-animate svg {
  transition: transform 0.3s ease;
}
.arrow-animate:hover span, .arrow-animate:hover svg {
  transform: translateX(5px);
}

/* "Copied!" tooltip flashed on tel: links for desktop visitors — see main.js */
.indus-copied-tooltip {
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translate(-50%, 4px);
  margin-bottom: 8px;
  padding: 4px 10px;
  border-radius: 6px;
  background: #65095B;
  color: #fff;
  font-family: "Sansation", sans-serif;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 20;
}
.indus-copied-tooltip.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

@keyframes shake {
  0% {
    transform: translateY(15px);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(15px);
  }
}
.partners-logo {
  padding: 0px 0px 100px;
  overflow: hidden;
}
.partners-logo h3 {
  color: #333;
  text-align: center;
  font-size: 30px;
  font-weight: 400;
  line-height: normal;
  text-transform: capitalize;
}
.partners-logo .logos {
  margin-top: 50px;
}
/* Widen past Bootstrap's col-xl-6/col-lg-8 (sized for the old 2-row layout)
   so 4 real-world logos plus gaps actually fit on one row instead of
   wrapping mid-row. */
.partners-logo .row.logos > [class*="col-"] {
  flex: 0 0 100%;
  max-width: 1100px;
  width: 100%;
}
.partners-logo .partners-logo-images {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  max-width: 1100px;
  margin: 0 auto;
}
.partners-logo .partners-logo-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  width: 100%;
}
.partners-logo .partners-logo-images img {
  filter: grayscale(1);
}
.partners-logo .partners-logo-images img:hover {
  filter: grayscale(0);
}

.hamburger {
  display: none;
  cursor: pointer;
}
.hamburger .bar {
  display: block;
  width: 31px;
  height: 2px;
  margin: 5px auto;
  transition: all 0.3s ease-in-out;
  background-color: #fff;
  border-radius: 4px;
}
.hamburger .bar:nth-child(5) {
  width: 20px;
  margin-right: inherit;
}

.top-arrow-animate svg path {
  fill: none;
}

.top-arrow-animate {
  position: fixed;
  bottom: 3%;
  right: 25px;
  opacity: 0;
  cursor: pointer;
  transform: translateY(-100px);
  transition: all 0.6s ease;
  z-index: 999;
}

.top-arrow-animate.show {
  opacity: 1;
  transform: translateY(0);
}

.top-arrow-animate .top-arrow-animate-img {
  background: rgb(255 255 255 / 78%);
  padding: 0px;
  border-radius: 50%;
}

/* WhatsApp chat widget (mindz-chat.js) positioning overrides — the widget's
   own core styling is injected by that external script; these just move it
   so it doesn't collide with the back-to-top button. */
.mindzchatmodal {
  z-index: 999;
  bottom: 145px;
  right: 25px;
}
.mindzchatboxbody .mindzchathead .usercolforminzchat .mindzchatusername p {
  color: #fff;
}
.mindzchatmodal form {
  margin-top: 0;
}
.mindzchatwhatsappgreenbg {
  bottom: 100px;
}

.home-video-section {
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.home-video-section .video-container {
  position: absolute;
  inset: 0;
  overflow: hidden;
  height: 100%;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease;
  z-index: 0;
}
.home-video-section .video-container.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.home-video-section .video-container video,
.home-video-section .video-container .hero-slide-media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 0;
}
.home-video-section .video-container::after {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #00000099;
  /* z-index: 1; */
  pointer-events: none;
}
.home-video-section .main-text-container {
  position: absolute;
  bottom: 30px;
  left: 0px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}
.home-video-section .main-text-container h1{
	width: 45%;
	color: #FFF;
	text-align: center;
	font-family: "Marcellus", serif;
	font-size: 40px;
	font-style: normal;
	font-weight: 400;
	line-height: 44px;
}
.home-video-section .main-text-container .metal-box span {
  color: #FFF;
  font-family: "Sansation";
  font-size: 18px;
  line-height: 25px;
}
.home-video-section .main-text-container .metal-box span span {
  font-size: 20px;
  font-weight: 700;
}
.home-video-section .main-text-container .best {
  color: #FFF;
  font-family: "BonVivant";
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.home-video-section .main-text-container .description {
  color: #FFF;
  font-family: "Sansation";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px;
  margin-top: 15px;
  /* 130% */
}
.home-video-section .main-text-container .vertical-line {
  width: 1px;
  height: 50px;
  background-color: #fff;
  margin: 30px 20px;
}
.home-video-section .main-text-container .enquiry-now {
  color: #FFF;
  font-family: "Sansation";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  margin-top: 25px;
  line-height: 26px;
  text-decoration: underline;
  text-transform: uppercase;
}

/* Hero slider hover-zones / arrows */
.home-video-section .hero-hover-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  z-index: 5;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.home-video-section .hero-hover-zone.left { left: 0; justify-content: flex-start; }
.home-video-section .hero-hover-zone.right { right: 0; justify-content: flex-end; }
.home-video-section .hero-hover-zone .hero-slider-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  margin: 0 30px;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.home-video-section .hero-hover-zone:hover .hero-slider-arrow {
  opacity: 1;
  transform: scale(1);
}

/* Hero banner floating contact icons (Call Us / Instagram / Facebook) */
.hero-contact-icons {
  display: none;
  position: absolute;
  right: 0px;
  top: 25%;
  transform: translateY(-50%);
  z-index: 6;
  flex-direction: column;
  gap: 10px;
}
.hero-contact-icons a {
  display: block;
  text-decoration: none;
}
.hero-contact-icons .wht-box {
  width: 80px;
  padding: 10px 10px;
  background: rgba(182, 182, 182, 0.5);
  border: none;
  border-radius: 15px 0 0 15px;
  backdrop-filter: blur(22px);
  transition: background 0.25s ease;
}
.hero-contact-icons .wht-box:hover {
  background: #fff;
}
.hero-contact-icons .wht-box svg {
  display: block;
  margin: 0 auto;
}
.hero-contact-icons .wht-box svg path,
.hero-contact-icons .wht-box svg rect,
.hero-contact-icons .wht-box svg circle {
  transition: fill 0.25s ease, stroke 0.25s ease;
}
.hero-contact-icons .wht-box:hover svg [fill]:not([fill="none"]) {
  fill: #65095B;
}
.hero-contact-icons .wht-box:hover svg [stroke] {
  stroke: #65095B;
}
.hero-contact-icons .wht-box p {
  color: #fff;
  font-family: "Sansation";
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  margin: 6px 0 0;
  white-space: nowrap;
  transition: color 0.25s ease;
}
.hero-contact-icons .wht-box:hover p {
  color: #65095B;
}
@media screen and (min-width: 992px) {
  .hero-contact-icons {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .hero-contact-icons .wht-box {
    width: 80px;
    padding: 15px 14px 15px 14px;
  }
}

.about-us-section {
  position: relative;
  padding: 150px 0px 108px;
}

@media (min-width: 992px) {
  .about-us-section {
    background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/08/Vector-133.png");
    background-repeat: no-repeat;
    background-position: center bottom 150px;
    background-size: 1920px 558px;
  }
}
.about-us-section .part2-image {
  padding-top: 60px;
}
@media (min-width: 992px) {
  .about-us-section .part2-image {
    width: 571px !important;
    margin-left: 100px !important;
    height: 397px !important;
  }
  .about-us-section .abt-rgt-img {
    width: 100%;
  }
}
.about-us-section p {
  margin-top: 15px;
  margin-bottom: 0px !important;
  width: 608px;
  line-height: 26px !important;
}
.about-us-section .primary-btn {
  margin-top: 30px;
}
.about-us-section .middle-image {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.about-us-section .rotate-image {
  transition: transform 0.1s linear;
  will-change: transform;
}

.services-section .title-content-row {
  margin-bottom: 60px;
}
.services-section .service-image-container {
  position: relative;
}
.services-section .service-image-container #servicesSlider > button {
  display: none;
}
.services-section .service-image-container #servicesSlider .slick-dots {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  display: none !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 2;
}
.services-section .service-image-container #servicesSlider .slick-dots li {
  margin: 0;
}
.services-section .service-image-container #servicesSlider .slick-dots li button {
  display: block;
  font-size: 0;
  line-height: 0;
  border: none;
  background: transparent;
  padding: 0;
}
.services-section .service-image-container #servicesSlider .slick-dots li button:before {
  content: "";
  display: block;
  transition: all 0.3s ease;
  background: #CCCCCC;
  width: 15px;
  height: 15px;
  border-radius: 50px;
  opacity: 1;
}
.services-section .service-image-container #servicesSlider .slick-dots li.slick-active button:before {
  background: #65095B;
  width: 40px;
  height: 14px;
}
.services-section .service-image-container .service {
  position: relative;
}
.services-section .service-image-container .service::after {
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%);
}
.services-section .service-image-container .main-text-content {
  position: absolute;
  bottom: 60px;
  width: 100%;
  z-index: 9999;
  color: #fff;
}
.services-section .service-image-container .main-text-content span {
  color: #FFF;
  font-family: "Marcellus";
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.services-section .service-image-container .main-text-content p {
  color: #fff;
  margin-bottom: 25px;
}
.services-section .service-image-container .slider-controlls {
  position: absolute;
  bottom: 106px;
  width: 100%;
  z-index: 9999;
  color: #fff;
}
.services-section .service-image-container .slider-controlls span {
  cursor: pointer;
}

.testimonials-section {
  padding: 150px 0px;
  overflow: hidden;
}
.testimonials-section .text-content {
  margin-bottom: 60px;
}
.testimonials-section .slider-nav {
  padding-left: 125px;
  height: 520px;
}
.testimonials-section .testimonial-slider {
  margin-top: 60px;
}
.testimonials-section .testimonial-slider .card {
  border: 1px solid #EDEDED;
  border-radius: 0;
  background: #F5F5F5;
  margin: auto 20px;
  min-height: 418px;
  padding: 40px;
  box-sizing: border-box;
  transition: background-color 0.25s ease;
}
.testimonials-section .testimonial-slider .card:hover {
  background-color: #65095B;
}
.testimonials-section .testimonial-slider .card:hover .card-body p{
	color:#fff;
}

.testimonials-section .testimonial-slider .card:hover .card-footer h4 {
	color:#fff;
}
.testimonials-section .testimonial-slider .card:hover .card-footer span {
	color:#fff;
}
.testimonials-section .testimonial-slider .card:hover svg path{
	 fill: #831E78;
}
.testimonials-section .testimonial-slider .card .card-body {
  padding: 80px 0 10px 0;
}
.testimonials-section .testimonial-slider .card .card-body p {
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
}
.testimonials-section .testimonial-slider .card .card-footer {
  background: transparent;
  border: 0;
  padding: 0;
}
.testimonials-section .testimonial-slider .card .card-footer h4 {
  color: #000;
  font-family: "brother-signature";
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.testimonials-section .testimonial-slider .card .card-footer span {
  color: #333;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}
.testimonials-section .testimonial-slider .video-card {
  margin: auto 20px;
  min-height: 418px;
  position: relative;
  border-radius: 0;
  box-sizing: border-box;
}
.testimonials-section .testimonial-slider .video-card::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}
.testimonials-section .testimonial-slider .video-card img {
  width: 100%;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0;
}
.testimonials-section .testimonial-slider .video-card .card-footer {
  position: absolute;
  bottom: 30px;
  left: 30px;
  background: transparent;
  border: 0;
  padding: 0;
}
.testimonials-section .testimonial-slider .video-card .card-footer h4 {
  color: #fff;
  font-family: "brother-signature";
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.testimonials-section .testimonial-slider .video-card .card-footer span {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}
.testimonials-section .testimonial-slider .video-card .ply-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.testimonials-section .testimonial-slider .video-card .ply-icon button {
  background: transparent;
  border: 0;
}

/* ── Inline video playback (plays in place — no popup) ─────────────────────── */
.video-card,
.works-video-wrap {
  position: relative;
}
.gallery-item {
  position: relative;
}
.video-card.is-playing .ply-icon,
.video-card.is-playing::before,
.video-card.is-previewing .ply-icon,
.video-card.is-previewing::before,
.works-video-wrap.is-playing .works-play-overlay {
  display: none;
}
/* .gallery-item has no height of its own — it's entirely inherited from
   .gallery-item-trigger's fixed height. display:none-ing the trigger while
   a video plays collapses the card to 0px, so the masonry grid reflows and
   the next card visually jumps into its place. visibility:hidden keeps the
   trigger's box (and the card's height) intact while still hiding it. */
.gallery-item.is-playing .gallery-item-trigger,
.gallery-item.is-previewing .gallery-item-trigger {
  visibility: hidden;
}
.inline-video-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  z-index: 5;
  opacity: 0;
  transition: opacity .25s ease;
}
.inline-video-player.is-ready {
  opacity: 1;
  background: #000;
}
.testimonials-section .slick-arrow {
  position: absolute;
  top: -95px;
  right: 13%;
  left: auto;
  width: 50px;
}
.testimonials-section .slick-arrow:hover svg path {
  stroke: #65095B;
}
.testimonials-section .slick-arrow::before {
  display: none;
}
.testimonials-section .slick-next {
  right: 10%;
}

.gallery-section {
  background: linear-gradient(0deg, #65095B 0%, #65095B 100%);
  position: relative;
  z-index: 1;
  padding: 120px 0px 190px;
  overflow: visible;
}
.gallery-section::before {
  position: absolute;
  content: "";
  left: -130px;
  bottom: -75px;
  width: 300px;
  height: 300px;
  /* Square + circular clip is what keeps this "fixed in place" while
     rotating, same as the About Us plate image. A non-square shape (the
     old 255×400 rectangle) sweeps its corners far outside its own footprint
     as it turns — a circle's bounding box never changes no matter the
     rotation angle, so it reads as spinning in place instead of swinging
     across the screen. */
  border-radius: 50%;
  background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/07/home-pl.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: center center;
  /* base 180deg keeps the original flipped orientation; the second rotate()
     adds scroll-driven spin on top, set via JS (animate.js) since a
     pseudo-element isn't a real DOM node and can't get the .rotate-image
     class/querySelectorAll treatment used elsewhere. */
  transform: rotate(180deg) rotate(var(--gallery-plate-rotate, 0deg));
  z-index: 9;
}
.gallery-section .wave {
  position: absolute;
  top: 50%;
  width: 100%;
  height: auto;
  display: block;
  z-index: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.gallery-section .view-gallery-btn {
  margin-top: 40px;
}
.gallery-section .gallery-flyover {
  position: absolute;
  right: 0px;
  top: -10%;
  z-index: 999;
}
.gallery-section .main-row bdi,
.gallery-section .main-row h2,
.gallery-section .main-row p {
  color: #fff;
}
.gallery-section .images-row {
  margin-top: 80px;
}
.gallery-section .images-row > div {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 3 / 4;
}
.gallery-section .images-row img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.gallery-section .main-row h2{
	margin-bottom:15px;
}

.gallery-section .main-row p{
	width: 70%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}

.why-choose-section {
  padding: 120px 0px 150px;
  position: relative;
  z-index: 2;
}
.why-choose-section::before {
  position: absolute;
  content: "";
  width: 350px;
  height: 470px;
  right: 0;
  bottom: -100px;
  background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/07/56bd7eb860e9b706f606964b60d740f98f789d9c.png");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
  pointer-events: none;
}

@media (min-width: 992px) {
  .why-choose-section::before {
    right: -148px !important;
    background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/08/wh-e1785580477510.png") !important;
    bottom: -222px;
    width: 540px;
    height: 580px;
  }
}

.why-choose-section .whychoose-images {
  position: relative;
  z-index: 1;
}
/* .why-choose-section .main-container .para-container {
  padding: 40px 0px 0px 93px;
} */
.why-choose-section .main-container .para-container a {
  margin-top: 30px;
}
.why-choose-section bdi {
  line-height: 60px;
}
.why-choose-section h2 {
  margin-bottom: 20px;
}
.why-choose-section p {
  margin-bottom: 31px;
}
.why-choose-section .whychoose-point {
  margin-bottom: 15px;
  position: relative;
  padding-left: 40px;
}
.why-choose-section .whychoose-point::before {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  left: 0;
  top: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 15C0 11.0218 1.58035 7.20644 4.3934 4.3934C7.20644 1.58035 11.0218 0 15 0C18.9782 0 22.7936 1.58035 25.6066 4.3934C28.4196 7.20644 30 11.0218 30 15C30 18.9782 28.4196 22.7936 25.6066 25.6066C22.7936 28.4196 18.9782 30 15 30C11.0218 30 7.20644 28.4196 4.3934 25.6066C1.58035 22.7936 0 18.9782 0 15ZM14.144 21.42L22.78 10.624L21.22 9.376L13.856 18.578L8.64 14.232L7.36 15.768L14.144 21.42Z' fill='%2365095B'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.why-choose-section .whychoose-point:last-of-type {
  margin-bottom: 0;
}
.why-choose-section .whychoose-point h4 {
  color: #333;
  font-size: 22px;
  line-height: normal;
  font-family: "Marcellus";
  font-style: normal;
  font-weight: 400;
}
.why-choose-section .whychoose-point p {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 24px;
}
.why-choose-section .why-choose-keypoint {
  margin-bottom: 40px;
  width: 72%;
}
.why-choose-section .whychoose-images {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.why-choose-section .whychoose-images .zoom-animate {
	    transition: transform 0.45s ease;
    overflow: hidden;
}

@media (min-width: 992px) {
  .why-choose-section p {
    width: 529px;
  }
  .why-choose-section .whychoose-point p {
    width: 427px;
  }
  .why-choose-section .main-container .para-container a {
    margin-top: 0;
  }
  .why-choose-section .whychoose-point {
    margin-bottom: 26px;
    padding-left: 40px;
  }
  .why-choose-section .whychoose-point::before {
    width: 30px;
    height: 30px;
  }
  .why-choose-section .whychoose-point h4 {
    margin-bottom: 8px;
  }
}

.blogs-section {
  padding: 120px 0px;
  position: relative;
}
.blogs-section .blogs-slider {
  margin-top: 50px;
  display: flex;
  gap: 25px;
}
.blogs-section .blogs-slider .slick-list {
  margin: 0 -17.5px;
}
.blogs-section .blogs-slider .slick-slide {
  padding: 0 17.5px;
}
.blogs-section .blog-card .image-wrap {
  position: relative;
}
.blogs-section .blog-card .image-wrap span {
  position: absolute;
  left: 20px;
  bottom: 20px;
  border-radius: 6px;
  background: #fffffff7;
  height: 30px;
  padding: 6px 15px;
  color: #000;
  font-size: 16px;
}
.blogs-section .blog-card > span {
  color: #777272;
  display: block;
  font-size: 16px;
  margin-top: 20px;
  margin-bottom: 8px;
}
.blogs-section .blog-card > h6 {
  color: #000;
  font-family: "Marcellus";
  font-size: 22px;
  line-height: 30px;
}
.blogs-section .blog-card:hover h6 {
  text-decoration: none;
  color: #65095B;
}

@media screen and (min-width: 1900px) {
  footer::before {
    width: 300px;
    height: 382px;
    left: -130px;
    top: 300px;
    z-index: 999;
  }
}
@media screen and (min-width: 992px) and (max-width: 1920px) {
  .home-video-section .main-text-container h1 {
    width: 510px;
  }
  .testimonials-section {
    padding: 120px 0px 100px;
  }
  .testimonials-section .text-content {
    margin-bottom: 60px;
  }
  .testimonials-section .testimonial-card {
    position: relative;
    margin: 0px 15px;
  }
  .testimonials-section .testimonial-card::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border: 1px solid #EBEBEB;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  }
  .testimonials-section .testimonial-card .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .testimonials-section .testimonial-card .play-button img {
    width: 50%;
    height: 50%;
  }
  .testimonials-section .testimonial-card .text-box {
    position: absolute;
    left: 40px;
    bottom: 40px;
    color: #fff;
    font-family: "Graphik LCG";
    z-index: 22;
  }
  .testimonials-section .testimonial-card .text-box h6 {
    font-size: 18px;
    font-weight: 500;
  }
  .testimonials-section .testimonial-card .text-box span {
    color: #FFF;
    font-size: 16px;
  }
  .footer-container .flyover-img1 {
    width: 200px;
  }
  .footer-container .main-container .flyover-img2 {
    position: absolute;
    width: 200px;
    top: 20px;
    right: -14%;
    z-index: 999;
    animation: shake 3s infinite;
  }
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .why-choose-section::before {
    width: 250px;
    height: 330px;
    bottom: -150px;
  }
  .why-choose-section .why-choose-keypoint {
    width: 90%;
  }
  .testimonials-section .slider-nav {
    padding-left: 0;
  }
  .testimonials-section .testimonial-slider .card,
  .testimonials-section .testimonial-slider .video-card {
    width: 315px !important;
    margin: 0 10px;
    height: 530px;
    box-sizing: border-box;
  }
  .testimonials-section .testimonial-slider .video-card img {
    height: 530px;
  }
  .partners-logo {
    padding-bottom: 60px;
  }
  .blogs-section {
    padding: 50px 0px;
  }
  footer .main-footer-img h6 {
    font-size: 95px;
  }
  footer .footer-links .company-address-contact h6 {
    margin-bottom: 10px;
  }
  footer .reach-out {
    padding: 130px 0px;
  }
}
@media screen and (min-width: 1200px) and (max-width: 1399px) {
  .why-choose-section::before {
    right: -150px !important;
    background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/08/wh-e1785580477510.png") !important;
    bottom: -222px;
    width: 350px;
    height: 450px;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .home-video-section .main-text-container h1 {
    width: 510px;
  }
  .about-us-section .abt-images {
    width: 100%;
    height: 600px;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: top;
       object-position: top;
  }
  .about-us-section .middle-image {
    bottom: 35px;
    left: 24%;
    width: 30%;
  }
  .about-us-section .row > .col-lg-6:nth-child(5) {
    margin-top: 40px;
  }
  .why-choose-section .whychoose-heading {
    row-gap: 50px;
  }
  .why-choose-section .main-container .col-lg-6 {
    margin-top: 40px;
  }
  .gallery-section::before {
    width: 200px;
    height: 200px;
  }
  .gallery-section .images-row img {
    width: 100%;
  }
  .testimonials-section .slider-nav {
    padding-left: 0px;
  }
  .testimonials-section .testimonial-slider .card,
  .testimonials-section .testimonial-slider .video-card {
    width: 315px !important;
    margin: 0 10px;
    height: 530px;
    box-sizing: border-box;
  }
  .testimonials-section .testimonial-slider .video-card img {
    height: 530px;
  }
  .testimonials-section .testimonial-slider .card {
    padding: 25px;
  }
  .blogs-section {
    padding: 50px 0px;
  }
  footer .main-footer-img h6 {
    font-size: 76px;
    line-height: normal;
  }
  footer .reach-out {
    padding: 130px 0px;
  }
  footer .footer-links {
    row-gap: 25px;
  }
  footer .border-line::before, footer .border-line::after {
    display: none;
  }
  footer::after {
    display: none;
  }
  footer {
    overflow: visible;
  }
  footer::before {
    width: 140px;
    height: 178px;
    left: 20px;
    top: -70px;
    bottom: auto;
  }
}
@media only screen and (max-width: 1024px) {
  .hamburger {
    display: block;
    position: relative;
    z-index: 10000;
  }
  header nav ul.nav-links-container li.nav-extra-item {
    display: none !important;
  }
  .sticky-header {
    position: sticky;
    top: 0;
  }
  .sticky-header nav .container-width {
    margin: 0 0px 0 15px;
  }
  .header .tab-bar {
    display: none;
  }
  .close-tab-bar {
    display: none;
  }
  header .is-fixed {
    background: white;
    top: 0px;
    position: fixed;
    width: 100%;
  }
  .header .is-fixed {
    background: white;
    top: 15px;
  }
  header #dynamic-logo {
    width: 130px;
    height: 39px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: column;
    width: 100%;
    gap: 0;
  }
  .hamburger.active .bar:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active .bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
    background-color: white !important;
  }
  .hamburger.active .bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
    background-color: white !important;
    width: 31px !important;
  }
  .nav-menu {
    position: fixed;
    left: -100%;
    top: 0px;
    gap: 0 !important;
    flex-direction: column !important;
    background: #65095B;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    transition: 0.3s;
    text-align: start;
    z-index: -9;
    padding: 30px 30px 100px 30px;
    justify-content: flex-start;
  }
  .nav-menu.active {
    left: 0;
    z-index: 9999;
    height: 100vh;
    height: 100dvh;
    padding: 190px 30px 30px 30px;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.15);
  }
  .nav-menu::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: 60px;
    width: 274px;
    height: 300px;
    background-image: url("../images/tomato.png");
    background-size: contain;
    background-repeat: no-repeat;
    filter: blur(9px);
    opacity: 0.9;
    z-index: 0;
    pointer-events: none;
  }
  .nav-menu .nav-links-container,
  .nav-menu .nav-bottom-links {
    position: relative;
    z-index: 1;
  }
  .nav-menu.active .mobile-nav-links-container {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    width: 100%;
  }
  .nav-menu .nav-links-container:not(.mobile-nav-links-container) {
    display: none !important;
  }
  .nav-active {
    width: 100%;
  }
  .nav-active .mobile-logo {
    display: block !important;
    position: relative;
    z-index: 10000;
  }
  .nav-active .mobile-logo img {
    max-width: 140px;
    height: auto;
  }
  .nav-active .logo {
    display: none;
  }
  .nav-active .nav-bottom-links {
    display: block !important;
    margin-top: 40px;
  }
  .mobile-nav-social span {
    display: block;
    margin-bottom: 16px;
    color: #fff;
    font-family: "Sansation";
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
  }
  .mobile-nav-social-icons {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .mobile-nav-social-icons a {
   display: flex;
        align-items: center;
        justify-content: center;
    transition: background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
  }
  .mobile-nav-social-icons a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mobile-nav-social-icons a:hover {
    opacity: 0.75;
  }
  .nav-bottom-links .bottom-line {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 20px;
    margin-top: 24px;
  }
  .nav-bottom-links .copyright p {
    color: rgba(255, 255, 255, 0.85);
    font-family: "Sansation";
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 4px;
  }
  .nav-bottom-links .copyright p.design-by a {
    color: rgba(255, 255, 255, 0.85);
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }
  header .tab-bar .follow-links {
    display: none !important;
  }
  header nav ul li {
    margin-bottom: 0;
    width: 100%;
  }
  header nav ul li a {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 15px !important;
    font-weight: 500;
    padding: 13px 0px !important;
    width: 100%;
    transition: color 0.2s ease;
  }
  header nav ul li a:hover,
  header nav ul li a:focus {
    color: #fff !important;
  }
  header nav ul li .service-arrow {
    filter: none;
  }
  header nav ul li .primary-btn img {
    display: none;
  }
  header nav ul li a.nav-link.active {
    color: #fff !important;
    font-weight: 700;
  }
  header nav ul li.dropdown-open > a.nav-link {
    color: #fff !important;
    font-weight: 700;
  }
  header nav ul li.contact {
    border-bottom: none;
    padding: 20px 0 0;
  }
  header nav ul li.contact span,
  header nav ul li.contact a {
    color: #fff !important;
  }
  header nav ul li.contact svg,
  header nav ul li.contact svg path {
    fill: #fff !important;
    stroke: #fff !important;
  }
  header nav ul li:last-child {
    border-bottom: none;
    margin-top: 15px;
  }
  header nav ul li:last-child a.view-gallery-btn {
    width: 100%;
    justify-content: center;
    border: 2px solid #fff;
    padding: 14px 20px !important;
    height: auto;
    font-size: 15px !important;
  }
  .hamburger.active .bar:nth-child(1),
  .hamburger.active .bar:nth-child(3) {
    background-color: #fff !important;
  }
  header nav ul .dropdown .wht-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 100% !important;
  }
  header nav ul .dropdown .wht-box::before {
    display: none !important;
  }
  header nav ul .dropdown .wht-box p {
    display: none;
  }
  header nav ul .dropdown .wht-box h5 {
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
  }
  header nav ul .dropdown .wht-box h5 img {
    display: none;
  }
  header nav ul .dropdown .wht-box li,
  header nav ul .dropdown .simple-dropdown-menu li {
    background-color: transparent !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
  }
  header nav ul .dropdown .wht-box li:last-child,
  header nav ul .dropdown .simple-dropdown-menu li:last-child {
    border-bottom: none !important;
	  margin-top:0;
  }
  header nav ul .dropdown .wht-box li a,
  header nav ul .dropdown .wht-box li a h5,
  header nav ul .dropdown .simple-dropdown-menu li a {
    color: rgba(255, 255, 255, 0.85) !important;
    padding: 10px 0 !important;
    font-size: 14px;
  }
  header nav ul .dropdown .wht-box li:hover a,
  header nav ul .dropdown .wht-box li:hover a h5,
  header nav ul .dropdown .simple-dropdown-menu li:hover a {
    color: #fff !important;
  }
  /* Beat the desktop mega-menu's dark heading colour
     (header .nav-links-container .dropdown .wht-box h5 { #1a1a1a !important })
     so Catering / Menus sub-links read white on the purple mobile panel. */
  header .nav-links-container .dropdown .wht-box h5 {
    color: rgba(255, 255, 255, 0.85) !important;
  }
  header .nav-links-container .dropdown .wht-box li:hover h5 {
    color: #fff !important;
  }
  header .nav-links-container .dropdown .wht-box h5 svg {
    display: none;
  }
  header nav ul .dropdown .simple-dropdown-menu {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
  header nav ul .dropdown .wht-box .menu-links {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 0 0 15px !important;
    gap: 0 !important;
  }
  header nav ul .dropdown .wht-box .menu-links > ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
  }
  header nav ul .dropdown .nav-link {
    outline: none;
  }
  header nav ul .dropdown-description {
    display: none !important;
  }
  header nav ul .dropdown .mega-dropdown,
  header nav ul .dropdown .simple-dropdown-menu {
    display: none !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    padding-top: 5px !important;
    padding-left: 15px !important;
  }
  header nav ul .dropdown.dropdown-open .mega-dropdown,
  header nav ul .dropdown.dropdown-open .simple-dropdown-menu {
    display: block !important;
  }
  header nav ul .dropdown.dropdown-open .service-arrow {
    transform: rotate(180deg);
  }
  header .bottom-content {
    display: none !important;
  }
  .slick-dots {
    bottom: -50px;
  }
  .slick-dots .slick-active {
    width: 32px;
  }
  .slick-dots li button:before {
    content: "";
    transition: all 0.3s ease;
    background: #CCCCCC;
    font-size: 13px;
    width: 15px;
    height: 15px;
    border-radius: 50px;
  }
  .slick-dots .slick-active button:before {
    background: #65095b;
    width: 40px;
    height: 14px;
    opacity: 1 !important;
    left: -8px;
  }
  .header {
    position: fixed;
    z-index: 999;
    width: 100%;
  }
  .banner-section {
    height: calc(93vh - 6px);
  }
}
@media screen and (max-width: 767px) {
  .services-section .service-image-container #servicesSlider .slick-dots {
    position: absolute;
    bottom: -31px;
    left: 0;
    right: 0;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    z-index: 2;
  }
  .home-video-section .video-container video {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
    position: relative;
    z-index: 0;
  }
	
	
	.venues-list-toolbar p {
		font-size:14px !important;
		line-height:22px !important;
		width:295px !important;
	}
  .nav-menu.active {
    padding: 155px 30px 30px 30px;
  }
  .container-width {
    padding-right: 30px;
    padding-left: 30px;
  }
  h1 {
    font-size: 24px;
    line-height: normal;
  }
  bdi {
    font-size: 42px;
    line-height: 60px;
  }
  h2 {
    font-size: 22px !important;
    line-height: 28px !important;
  }
  p {
    font-size: 14px;
    line-height: 18px;
  }
  .home-video-section .main-text-container .best {
    font-size: 24px;
    line-height: normal;
  }
  .about-us-section {
    padding: 50px 0px;
  }
  .about-us-section p {
    margin-top: 15px;
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    width: 309px;
  }
  .about-us-section .part2-image {
    padding-top: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
  }
  .about-us-section .middle-image {
    bottom: 100px;
    -o-object-fit: contain;
       object-fit: contain;
    width: 110px;
    height: 111px;
    left: 22%;
  }
  .about-us-section .part2-image {
    width: 100%;
  }
  .about-us-section .abt-rgt-img {
    width: 100%;
  }
  .services-section .service-image-container .service img {
    width: 375px;
    height: 271px;
  }
  .services-section .service-image-container .main-text-content {
    left: 20px;
    bottom: 30px;
  }
  .services-section .service-image-container .main-text-content .row {
    flex-direction: column;
    padding-right: 20px;
  }
  .services-section .service-image-container .main-text-content span {
    font-size: 22px;
    line-height: normal;
  }
  .services-section .service-image-container .slider-controlls {
    display: none;
  }
  .services-section .title-content-row {
    margin-bottom: 30px;
  }
  .why-choose-section {
    padding: 30px 0px 50px;
  }
  .why-choose-section::before {
    width: 104px;
    height: 142px;
	  display:none;
  }
  .why-choose-section .whychoose-images {
    display: none;
  }
  .why-choose-section .why-choose-keypoint {
    width: 100%;
  }
  .gallery-section {
    padding: 50px 0px;
  }
  .gallery-section::before {
    display: none;
  }
  .gallery-section .images-row {
    flex-direction: column;
    margin-top: 35px;
    gap: 20px !important;
  }
  .gallery-section .images-row > div {
    flex: none;
    width: 100%;
  }
  .gallery-section .images-row img {
    width: 100%;
  }
  .gallery-section .view-gallery-btn {
    display: inline-flex !important;
    margin-top: 30px;
  }
  .testimonials-section .slider-nav {
    padding-left: 0px;
  }
  .testimonials-section .slick-track {
    display: flex !important;
    align-items: center !important;
  }
  .testimonials-section .testimonial-slider .card .card-body p {
    font-size: 16px;
    line-height: 24px;
  }
  .testimonials-section .testimonial-slider .card {
    width: 310px !important;
    margin: 0 auto;
    padding: 30px;
    /* height: 460px; */
    box-sizing: border-box;
    overflow: hidden;
  }
  .testimonials-section .testimonial-slider .video-card {
    width: 310px !important;
    margin: 0 auto;
    height: 460px;
  }
  .testimonials-section .testimonial-slider .video-card img {
    height: 460px;
  }
  .testimonials-section {
    padding: 50px 0px 60px;
  }
  .partners-logo {
    padding: 0 0 50px;
  }
  .partners-logo .logos {
    margin-top: 15px;
  }
  .partners-logo h3 {
    font-size: 18px;
    line-height: 24px;
  }
  .partners-logo .partners-logo-images {
    gap: 15px;
  }
  .partners-logo .partners-logo-row {
    row-gap: 15px;
    justify-content: center;
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
  .partners-logo .partners-logo-images img {
    width: 60px;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .blogs-section {
    padding: 50px 0px 60px;
  }
  .blogs-section .blogs-slider {
    margin-top: 30px;
  }
	.home-video-section .main-text-container h1 {
		width:100%;
		color: #FFF;
		text-align: center;
		font-family: "Marcellus", serif;
		font-size: 24px;
		font-style: normal;
		font-weight: 400;
		line-height: 26px;
	}
  footer {
    padding-bottom: 30px;
  }
  footer .reach-out {
    padding: 265px 0px 30px 15px;
    width: 100%;
    height: 600px;
  }
  footer .footer-links {
    row-gap: 30px;
  }
  footer .footer-links ul li:last-of-type {
    margin-bottom: 0;
  }
/*   footer .footer-links .policy {
    padding-left: 0;
  } */
  footer .footer-links .policy ul {
    justify-content: flex-start;
  }
  footer .footer-links .company-address-contact a {
    margin-bottom: 5px;
    display: inline-flex;
    gap: 9px;
  }
	footer .footer-links p {
		margin-bottom:0;
		width: auto;
	}
  footer .footer-links .company-address-contact h6 {
    margin-bottom: 6px;
  }
  footer .main-footer-img {
    align-items: flex-end;
	  flex-wrap:wrap;
  }
  footer .main-footer-img h6 {
    font-size: 65px;
  }
  footer .copy-rights {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    border-top: none;
  }
  .content-row {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  footer::after {
    display: none;
  }
  footer::before {
    width: 180px;
    height: 180px;
    left: -42px;
    top: -11px;
    bottom: auto;
	  display:none;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   WORDPRESS THEME FIXES
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* ════════════════════════════════════════════════════════════════
   THEME FIXES – appended
   ════════════════════════════════════════════════════════════════ */

/* ── 1. Nav: keep phone + Enquire Now inline with nav links ── */
@media screen and (min-width: 1025px) {
    .nav-menu {
        display: flex;
        align-items: center;
        gap: 0;
    }
    .nav-menu .nav-links-container:not(.mobile-nav-links-container) {
        display: flex !important;
        align-items: center;
    }
    .nav-menu .mobile-nav-links-container {
        display: none !important;
    }
}

/* ── 2. Phone icon in nav ── */
.nav-links-container li.contact svg {
    min-width: 15px;
    flex-shrink: 0;
    overflow: visible;
}

/* ── 3. Services slider: keep .slider-controlls arrows in place ── */
/* arrows stay position:absolute inside .service-image-container  */
.services-section .service-image-container .slider-controlls span {
    cursor: pointer;
}
/* hide slick-generated buttons (we use external click handlers) */
.services-section .service-image-container #servicesSlider .slick-prev,
.services-section .service-image-container #servicesSlider .slick-next {
    display: none !important;
}

/* ── 4. Testimonials: restore original slider-nav height & padding ── */
/* The original CSS sets height:520px and padding-left:125px.
   We only fix the overflow so slick can render cards visibly.    */
.testimonials-section .testimonial-slider {
    overflow: visible !important;
}
.testimonials-section .slider-nav {
    overflow: visible !important;
}
.testimonials-section .slider-nav .slick-list {
    overflow: hidden;
}

/* ── 5. Blogs: 3-col flex on desktop ── */
@media screen and (min-width: 992px) {
    footer .reach-out .container {
        padding-left: 100px;
    }
    .blogs-section .blogs-slider {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 25px;
        align-items: stretch;
    }
    .blogs-section .blogs-slider .slider {
        flex: 0 0 calc(33.333% - 17px) !important;
        max-width: calc(33.333% - 17px) !important;
        min-width: 0;
    }
    .blogs-section .blogs-slider.slick-initialized {
        display: flex !important;
    }
    .blogs-section .blogs-slider .blog-card img {
        width: 100%;
        max-width: 410px;
        height: 350px;
        object-fit: cover;
        border-radius: 0px;
    }
}

/* ── 6. Image hover zoom ── */
.gallery-section .images-row > div { overflow: hidden; border-radius: 0; }
.gallery-section .images-row > div img { transition: transform 0.45s ease; display: block; width: 100%; border-radius: 0; }
.gallery-section .images-row > div:hover img { transform: scale(1.07); }
.about-us-section .abt-img-wrap, .about-us-section .part2-image { overflow: hidden; display: block; background: #ffffff00; }
.about-us-section .abt-images, .about-us-section .abt-rgt-img { transition: transform 0.45s ease; display: block; }
.about-us-section .abt-img-wrap:hover .abt-images, .about-us-section .part2-image:hover .abt-rgt-img { transform: scale(1.03); }
.blog-card .image-wrap { overflow: hidden; border-radius: 0; }
.blog-card .image-wrap img { transition: transform 0.45s ease; display: block; }
.blog-card:hover .image-wrap img { transform: scale(1.07); }
.services-section .service { overflow: hidden; }
.services-section .service > img { transition: transform 0.45s ease; }
.services-section .service:hover > img { transform: scale(1.05); }
.testimonials-section .video-card { overflow: hidden; }
.testimonials-section .video-card img { transition: transform 0.45s ease; }
.testimonials-section .video-card:hover img { transform: scale(1.05); }
.whychoose-images .zoom-animate img { display: block; width: 100%; transition: transform 0.45s ease; }
.whychoose-images .zoom-animate:hover img { transform: scale(1.05); }
.partners-logo-images img { transition: transform 0.35s ease; }
.partners-logo-images img:hover { transform: scale(1.1); }

/* ── 7. Nav active colour ── */
header .nav-links-container li a.nav-link.active { color: #ffffff; font-weight: 600; }

/* ── Instagram Feed Section ── */
.instagram-feed-section {
    margin-bottom: 0;
}
.instagram-feed-section .sbi_feed_el {
    margin: 0 !important;
    padding: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   ABOUT US PAGE  –  pixel-matched to Figma desktop & mobile
   ═══════════════════════════════════════════════════════════ */

/* ── Hero Banner ── */
.about-hero-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.about-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.48) 100%);
}

.about-hero-content {
    position: relative;
    z-index: 1;
    padding-top: 140px;
    padding-bottom: 80px;
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
}

.about-hero-content bdi {
    color: #fff;
    display: block;
    margin-bottom: 6px;
}

.about-hero-content h1 {
    margin-bottom: 24px;
}

.about-hero-sub {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 18px !important;
    line-height: 28px !important;
    max-width: 620px;
    margin: 0 auto !important;
}

/* ── About Content ── */
.about-page-content {
    padding: 120px 0;
}

.about-page-content .row {
    align-items: stretch !important;
}

.about-page-content h2 {
    margin-bottom: 20px;
    color: #000;
    font-family: Marcellus;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: 64px;
    width: 625px;
}

.about-content-subtitle {
    margin-bottom: 15px !important;
    color: #65095B;
    font-family: Sansation;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    width: 587px;
}

.about-body-text {
    max-width: 560px;
}

.about-body-text p {
    margin-bottom: 0;
    color: #000;
    font-family: Sansation;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    width: 587px;
}

.about-body-text p + p {
    margin-top: 15px;
}

/* Image stretches to fill the full column height – matches Figma where image equals text column height */
.about-content-img-wrap {
    overflow: hidden;
    border-radius: 0;
    display: block;
    height: 100%;
}

.about-content-img {
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

.about-content-img-wrap:hover .about-content-img {
    transform: scale(1.02);
}

/* 20+ on first line, Experience on next line below */
.experience-stat {
    margin-top: 40px;
    border-top: none;
}

.stat-number {
    font-family: 'Marcellus';
    font-size: 100px;
    line-height: 1;
    color: #65095B;
    font-weight: 400;
    display: block;
}

.stat-label {
    display: block;
    margin-top: 6px;
    color: #65095B;
    font-family: Marcellus;
    font-size: 46px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* ── Vision & Mission ── */
.vision-mission-section {
    padding: 20px 0 0px;
    background: #fff;
    overflow: hidden;
}

.vision-mission-row {
    position: relative;
    align-items: center;
}


.vm-connecting-line.d-none.d-lg-block {
    display: none !important;
}
/* Horizontal connecting line – sits at the vertical midpoint of the orbital ring */
.vm-connecting-line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 67%;
    height: 1px;
    background: #65095B;
    z-index: 0;
    pointer-events: none;
}

.vm-connecting-line::before,
.vm-connecting-line::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background: #65095B;
    border-radius: 50%;
}

.vm-connecting-line::before { left: 0; }
.vm-connecting-line::after  { right: 0; }

/* Vision / Mission side columns */
.vm-col {
    position: relative;
    z-index: 1;
    padding: 10px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Icon circle wrapper – thin golden ring matching Figma */
.vm-icon-wrap {
    width: 78px;
    height: 78px;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #b59a6e;
    border-radius: 50%;
    background: #fff;
    position: relative;
    z-index: 2;
}

.vm-title {
    font-family: 'Marcellus';
    font-size: 46px;
    font-weight: 400;
    color: #65095B;           /* ← purple, matching Figma */
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
}

.vm-col p {
    font-size: 15px;
    line-height: 24px;
    color: #555;
    text-align: center;
    max-width: 260px;
    margin: 0 auto;
}

/* ── Center orbital image ── */
.vm-center-col {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.vm-orbital-wrap {
    position: relative;
    width: 360px;
    height: 360px;
    margin: 0 auto;
}

.vm-orbital-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-image: url("https://douzzocart.com/indus/wp-content/uploads/2026/07/Ellipse-47-1.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

/* 4 purple dots on the orbital ring */
.vm-dot {
    position: absolute;
    width: 11px;
    height: 11px;
    background: #65095B;
    border-radius: 50%;
}

.vm-dot-left   { top: 50%; left: -5.5px; transform: translateY(-50%); }
.vm-dot-right  { top: 50%; right: -5.5px; transform: translateY(-50%); }
.vm-dot-top    { left: 50%; top: -5.5px;  transform: translateX(-50%); }
.vm-dot-bottom { left: 50%; bottom: -5.5px; transform: translateX(-50%); }

/* Food image fills the ring – rotates on scroll via animate.js */
.vm-center-img {
    position: absolute;
    inset: 56px;
    width: calc(100% - 112px);
    height: calc(100% - 112px);
    object-fit: cover;
    object-position: 38% center; /* the plate isn't centered within the source
        photo itself, so a plain 50% crop leaves more room on the right —
        shifting the crop point left recenters the plate visually inside the
        dashed ring. Nudge this percentage further if it's still off. */
    border-radius: 50%;
    transform-origin: center center;
    transition: transform 0.1s linear;
    will-change: transform;
}

/* ── Our Works ── */
.our-works-section {
    padding: 120px 0 0;
    position: relative;
    overflow: hidden;
}


/* Decorative food bowl – absolute, left edge, aligned with video */
.works-decor-bowl {
    position: absolute;
    top: 76px;
    left: -270px;
    bottom: 60px;
    width: 400px;
    z-index: 2;
    pointer-events: none;
}

.works-decor-bowl img {
    width: 100%;
    height: auto;
    display: block;
    transform-origin: center center;
    filter: drop-shadow(0 20px 40px rgba(0,0,0,0.22));
}

/* Script / handwriting badge – brother-signature font, matches Figma exactly */
.works-script {
    font-family: 'brother-signature';
    font-size: 52px;
    color: #65095B;
    display: block;
    line-height: 1.1;
    margin-bottom: 8px;
}

.our-works-section .container {
    position: relative;
    z-index: 2;
}

.our-works-section h2 {
    max-width: 650px;
    margin: 0 auto 16px;
    color: #000;
}

.our-works-section .container p {
    max-width: 600px;
    margin: 0 auto;
    color: #000;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

/* Centered video block – ~60% width matching Figma proportions */
.works-video-wrap {
    position: relative;
    margin-top: 50px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    z-index: 1;
    height: 700px;
}

.works-video {
    width: 100%;
    height: 700px;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 1.6s ease;
}

/* Plays automatically as the section scrolls into view, so it slowly
   zooms in while playing instead of sitting on a static play button. */
.works-video-wrap.in-view .works-video {
    transform: scale(1.08);
}

.works-play-overlay {
    display: none;
}

/* Simple circle play button – matches Figma (no frosted glass) */
.works-play-btn {
    background: transparent;
    border: 0;
    cursor: pointer;
    transition: transform 0.3s ease;
    padding: 0;
    line-height: 0;
}

.works-play-btn:hover {
    transform: scale(1.1);
}

/* ── Responsive – tablet 768–991 ── */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .about-hero-section       { min-height: 600px; }
    .about-content-img        { height: 420px; }
    .vm-connecting-line       { display: none; }
    .vm-col                   { padding: 15px 20px; }
    .vm-orbital-wrap          { width: 260px; height: 260px; margin: 20px auto 30px; }
    .works-video-wrap         { width: 85%; }
    .works-video              { height: 340px; }
}

/* ── Responsive – mobile ≤767 ── */
@media screen and (max-width: 767px) {
    /* The "Our Works" video doesn't autoplay on mobile (it's a large file
       and mobile data shouldn't be spent on it automatically) — bring the
       tap-to-play button back so mobile visitors have a way to start it. */
    .works-play-overlay {
        display: flex;
    }
    .about-hero-section {
        min-height: 100vh;
    }
    .about-hero-content {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about-hero-content bdi {
        font-size: 24px;
        line-height: normal;
        margin-bottom: 0 !important;
    }
    .about-hero-content h1 {
        font-size: 24px;
        line-height: 22px;
        margin-bottom: 8px;
    }
    .about-hero-sub {
        font-size: 14px !important;
        line-height: 18px !important;
    }
    .about-page-content {
        padding: 50px 0 0px;
    }
    .about-page-content .row {
        display: flex;
        flex-direction: column;
    }
/*     .about-page-content .row > .col-12 {
        display: contents;
    } */
    .about-page-content h2 {
        order: 1;
    }
    .about-content-subtitle {
        order: 2;
    }
    .about-body-text {
        order: 3;
        margin-bottom: 20px;
    }
    .about-content-img-wrap {
        order: 4;
        margin-bottom: 20px;
    }
    .experience-stat {
        order: 5;
    }
    .about-page-content h2 {
        font-size: 24px !important;
        line-height: 22px !important;
        margin-bottom: 8px !important;
        width: 280px !important;
    }
    .about-content-subtitle {
        font-size: 14px !important;
        line-height: 18px !important;
        width: 315px;
        margin-bottom: 8px !important;
    }
    .about-content-img-wrap {
        border-radius: 0;
        margin-bottom: 10px;
    }
    .about-body-text p {
        color: #000;
        font-family: Sansation;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 18px;
        width: 315px;
        margin-bottom: 0;
    }
    .about-content-img {
        width: 315px;
        min-height: 280px;
        aspect-ratio: 57 / 74;
		height: 280px;

    }
    .experience-stat {
        margin-top: 20px;
    }
    .stat-number {
        font-size: 54px;
        line-height: 1;
    }
    .stat-label {
        font-size: 21px;
        margin-top: 4px;
        line-height: 18px;
    }
    .vision-mission-section {
        padding: 50px 0 60px;
    }
    .vm-connecting-line {
        display: none;
    }
    .vm-col {
        padding: 12px 20px;
        margin-bottom: 8px;
    }
    .vm-title {
        font-size: 54px;
        line-height: normal;
    }
    .vm-icon-wrap {
        width: 64px;
        height: 64px;
        margin-bottom: 14px;
    }
    .vm-orbital-wrap {
        width: 220px;
        height: 220px;
        margin: 24px auto 36px;
    }
    .vm-center-img {
        inset: 14px;
        width: calc(100% - 28px);
        height: calc(100% - 28px);
    }
    .our-works-section {
        padding: 50px 0 0;
        overflow: visible;
    }
    .works-decor-bowl {
        position: absolute;
        top: -34px;
        left: -60px;
        bottom: 60px;
        width: 260px;
        z-index: 3;
        pointer-events: none;
    }
    .works-decor-bowl img {
        width: 50%;
        height: auto;
        display: block;
        transform-origin: center center;
        filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.22));
		display:none;
    }
    .our-works-section p,
    .vision-mission-section p {
        color: #000 !important;
        text-align: center;
        font-family: Sansation;
        font-size: 14px !important;
        font-style: normal;
        font-weight: 400;
        line-height: 18px !important;
    }
    .works-video-wrap {
        width: 100%;
        border-radius: 0;
        margin-top: 35px;
        box-shadow: none;
    }
    .works-video {
        height: 182px;
    }
	.works-play-overlay {
    left: 30px;
    width: 84%;
}
	.testimonials-section .testimonial-slider .card svg {
		width: 60px;
    height: 60px;
	}
	.testimonials-section .testimonial-slider .card .card-body {
		padding:45px 0 10px 0;
	}
    .works-script {
        font-family: 'brother-signature';
        font-size: 42px;
        color: #65095B;
        display: block;
        line-height: normal;
    }
    .testimonials-section {
        padding: 50px 20px 20px 20px;
    }
    .testimonials-section h2 {
        font-size: 22px !important;
        line-height: 28px;
        width: 300px;
        margin-bottom: 8px !important;
    }
    .testimonials-section bdi.testimonial-title {
        font-size: 42px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .testimonial-topcontent {
        padding-right: 30px;
        padding-left: 30px;
    }
    .testimonial-topcontent .para {
        width: 309px;
        color: #333;
        font-family: Sansation;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 18px;
    }
    .view-gallery-btn {
        padding: 16px 30px;
        font-size: 15px;
    }
    footer .footer-plate img {
        width: 78.607px;
        height: 79px;
        aspect-ratio: 78.61 / 79.00;
    }
}

/* ═══════════════════════════════════════════════════════════
   SHARED INNER HERO  –  used by FAQ, Legal, Enquiry, Contact
   ═══════════════════════════════════════════════════════════ */

.inner-hero-section {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #1a1a1a;
}

.inner-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.68) 0%, rgba(0,0,0,0.55) 100%);
}

.inner-hero-content {
    position: relative;
    z-index: 1;
    padding-top: 130px;
    padding-bottom: 50px;
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
}

.inner-hero-content bdi {
    color: #fff;
    display: block;
    margin-bottom: 6px;
}

.gallery-hero-section bdi {
    font-family: "BonVivant";
    text-align: center;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.inner-hero-content h1 {
    margin-bottom: 7px;
    text-align: inherit;
}

.inner-hero-sub {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 18px !important;
    line-height: 26px !important;
    max-width: 600px;
}

.inner-hero-content.text-center .inner-hero-sub {
    margin: 0 auto !important;
}

/* ═══════════════════════════════════════════════════════════
   FAQ PAGE
   ═══════════════════════════════════════════════════════════ */

.faq-hero-section {
    min-height: 100vh;
    align-items: flex-start;
    padding-top: 40px;
}

.faq-section {
    padding: 0 0 100px;
    position: relative;
}

.faq-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.12);
    padding: 45px 60px;
    margin-top: -140px;
    position: relative;
    z-index: 5;
}

.faq-item.accordion-item {
    border: none;
    border-bottom: 1px solid #EBEBEB;
    background: transparent;
}

.faq-item.accordion-item:last-of-type {
    border-bottom: none;
}

.faq-hero-section .inner-hero-content h1 {
    margin-bottom: 15px;
    text-align: inherit;
}

.faq-hero-section .inner-hero-sub {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 20px !important;
    line-height: 26px !important;
    max-width: 600px;
}

.faq-item .accordion-button {
    font-family: "Marcellus";
    font-size: 24px;
    color: #333333;
    font-weight: 400;
    padding: 22px 0;
    background: transparent;
    box-shadow: none;
    border: none;
    line-height: normal;
}

.faq-item .accordion-button:not(.collapsed) {
    color: #65095B;
}

.faq-item .accordion-button:focus {
    box-shadow: none;
    border: none;
}

.faq-item .accordion-button::after {
    background-image: none;
    content: '+';
    font-size: 22px;
    font-weight: 400;
    color: #65095B;
    width: auto;
    height: auto;
    line-height: 1;
    transform: none;
}

.faq-item .accordion-button:not(.collapsed)::after {
    content: '\2212';
}

.faq-item .accordion-body {
    padding: 0 0 22px;
}

.faq-item .accordion-body p {
    color: #333333;
    font-size: 18px;
    line-height: 26px;
}

.faq-contact-banner {
    background: #65095B;
    border-radius: 14px;
    padding: 22px 40px;
    margin-top: 40px;
}

.faq-contact-banner p {
    color: #fff;
    font-size: 26px;
    line-height: normal;
    margin: 0;
	font-family: "Marcellus";
}

.faq-contact-banner a {
    color: #fff;
    text-decoration: underline;
    font-weight: 700;
}

.faq-partners {
    padding: 90px 0 100px;
}

/* ═══════════════════════════════════════════════════════════
   LEGAL PAGES  –  Privacy Policy / Terms & Conditions
   ═══════════════════════════════════════════════════════════ */

.legal-hero-section {
    min-height: 500px;
}

.legal-hero-content {
    padding-top: 285px;
    padding-bottom: 40px;
    padding-left: 0px;
    text-align: left;
    max-width: 900px;
}

.legal-title {
    text-align: left;
    font-size: 60px;
    line-height: 64px;
    margin-bottom: 10px;
}

.legal-updated {
    color: rgba(255,255,255,0.75) !important;
    font-size: 20px !important;
    line-height: 26px;
}

.legal-content-section {
    padding: 80px 0;
}

.legal-content-wrap {
    max-width: 800px;
    margin: 0 auto;
}

/* No hero banner on Legal pages (Figma): white page under the light header,
   with the title + "Last Updated" date at the top of the content column. */
main .legal-content-section {
    padding-top: 220px;
}

.legal-page-header {
    margin-bottom: 50px;
}

.legal-page-header .legal-title {
    font-family: "Marcellus", serif;
    font-weight: 400;
    color: #000;
}

.legal-page-header .legal-updated {
    color: #555 !important;
    font-size: 18px !important;
    margin: 0;
}

@media screen and (max-width: 1024px) {
    main .legal-content-section { padding-top: 150px; }
}

@media screen and (max-width: 767px) {
    main .legal-content-section { padding-top: 120px; }
    .legal-page-header { margin-bottom: 30px; }
    .legal-page-header .legal-title { font-size: 32px; line-height: 38px; }
    .legal-page-header .legal-updated { font-size: 14px !important; }
}

.legal-content-wrap > h2 {
    font-family: "Marcellus", serif;
    font-size: 40px;
    line-height: normal;
    font-weight: 400;
    margin-bottom: 10px;
}

.legal-block {
    margin-top: 40px;
}

.legal-block h3 {
    font-family: "Marcellus", serif;
    font-size: 40px;
    line-height: 48px;
    color: #000;
    font-weight: 400;
    margin-bottom: 14px;
}

.legal-body p {
    color: #333;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 15px;
}

.legal-body ul {
    margin: 0 0 14px;
    padding: 0;
}

.legal-body ul li {
    position: relative;
    padding-left: 22px;
    color: #333;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 8px;
}

.legal-body ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #65095B;
}

/* ═══════════════════════════════════════════════════════════
   ERROR PAGE  –  404 / 403 / 500
   ═══════════════════════════════════════════════════════════ */

/* The header is designed to sit transparently over a dark hero photo (white
   logo/nav text). Error pages have no hero image behind them, so force a
   solid header bar here — otherwise the white logo/nav become invisible
   against the white page background. */
body.error404 header,
body.page-template-page-error-php header {
    background: #65095B;
    height: 90px;
}

body.error404 header .nav-bar,
body.page-template-page-error-php header .nav-bar {
    position: relative;
    top: 0;
    height: 90px;
    display: flex;
    align-items: center;
}

.error-page-section {
    padding: 60px 0 100px;
}

.error-code-graphic {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 16px;
}

.error-digit {
    font-family: "Sansation", serif;
    font-size: 150px;
    line-height: normal;
    color: #65095B;
    font-weight: 700;
}

.error-plate {
    width: 160px;
    height: 160px;
    flex-shrink: 0;
}

.error-plate img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.error-title {
    color: #65095B;
    font-family: "Sansation", serif;
    font-size: 30px;
    margin-bottom: 8px;
    font-weight: 700;
    text-transform: capitalize;
}

.error-description {
    color: #777272;
    font-size: 16px;
    margin: 0px auto 30px;
    line-height: 24px;
}

.error-back-btn {
    display: inline-flex;
}

/* ═══════════════════════════════════════════════════════════
   ENQUIRY & CONTACT SHARED FORM STYLES
   ═══════════════════════════════════════════════════════════ */

.indus-form label {
    display: block;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
}

.indus-form label span {
    color: #B22222;
}

.indus-form input[type="text"],
.indus-form input[type="tel"],
.indus-form input[type="email"],
.indus-form input[type="number"],
.indus-form input[type="datetime-local"],
.indus-form input[type="date"],
.indus-form select,
.indus-form textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #DADADA;
    padding: 8px 0;
    font-family: "Sansation", sans-serif;
    font-size: 15px;
    color: #333;
    background: transparent;
    outline: none;
    transition: border-color 0.3s ease;
}

.indus-form input:focus,
.indus-form select:focus,
.indus-form textarea:focus {
    border-color: #65095B;
}

.indus-form input::placeholder,
.indus-form textarea::placeholder,
.indus-form select {
    color: #333;
    opacity: 1;
}

/* Kill the browser's default blue/yellow autofill background so filled fields
   still look like plain underlined fields instead of a highlighted box. */
.indus-form input:-webkit-autofill,
.indus-form input:-webkit-autofill:hover,
.indus-form input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #333;
    transition: background-color 5000s ease-in-out 0s;
}

.indus-form textarea {
    resize: vertical;
    height: 70px;
    min-height: 50px;
}

.indus-form .phone-input {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid #DADADA;
}

/* CF7 auto-wraps the field markup in a <p> — neutralize it so flex applies to the
   country-code span and the input wrapper directly instead of to that one <p>. */
.indus-form .phone-input > p {
    display: contents;
}

.indus-form .phone-input .country-code {
    color: #777272;
    font-size: 15px;
    border: none !important;
    border-bottom: none !important;
}

/* Positioned relative to just the phone-number field's own wrap (not the
   whole .phone-input row), so the warning tip below can be taken out of
   flow without stretching .phone-input's height/border, while still lining
   up under the number field specifically rather than the flag section. */
.indus-form .phone-input .wpcf7-form-control-wrap {
    position: relative;
    flex: 1;
    min-width: 0;
}

.indus-form .phone-input .wpcf7-not-valid-tip {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
}

.indus-form .phone-input input {
    border-bottom: none;
    width: auto;
    flex: 1;
    min-width: 0;
    padding: 0;
}

/* Custom flag dropdown for the contact form's phone country code — same
   widget/JS as the Booking form (main.js is generic, keyed on these class
   names), just styled to match this form's shorter, padding-based rows
   instead of the Booking form's fixed 48px field height. */
.contact-form-col .indus-form .country-select {
    position: relative;
    flex-shrink: 0;
}

.contact-form-col .indus-form .country-code-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 15px;
    color: #777272;
}

.contact-form-col .indus-form .country-code-btn .flag-icon {
    width: 20px;
    height: 15px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

.contact-form-col .indus-form .country-code-btn .code-text {
    white-space: nowrap;
}

.contact-form-col .indus-form .country-code-btn .dd-arrow {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.contact-form-col .indus-form .country-select.open .country-code-btn .dd-arrow {
    transform: rotate(180deg);
}

.contact-form-col .indus-form .country-code-btn .dd-arrow {
    display: none;
}
.contact-form-col .indus-form .country-code-btn::after {
    content: '';
    width: 8px;
    height: 5px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M8 0H0L4 5L8 0Z' fill='%23333333'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    transition: transform 0.2s ease;
}
.contact-form-col .indus-form .country-select.open .country-code-btn::after {
    transform: rotate(180deg);
}

.contact-form-col .indus-form .country-code-list {
    position: absolute;
    top: calc(100% + 10px);
    left: -8px;
    z-index: 40;
    width: 220px;
    max-height: 260px;
    overflow-y: auto;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.contact-form-col .indus-form .country-code-list[hidden] { display: none; }

.contact-form-col .indus-form .country-code-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-form-col .indus-form .country-code-list li:hover,
.contact-form-col .indus-form .country-code-list li.active {
    background: #F8EEF7;
}

.contact-form-col .indus-form .country-code-list li img {
    width: 20px;
    height: 15px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

.indus-form .date-field {
    position: relative;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #DADADA;
    cursor: pointer;
}

.indus-form .date-field input {
    border-bottom: none;
    padding-right: 24px;
    cursor: pointer;
}

/* Hide the browser's own calendar/clock icon — our custom SVG (positioned via
   .date-field-icon) sits in its place and .date-field's click handler in
   main.js calls input.showPicker() so the native picker still opens. */
.indus-form .date-field input::-webkit-calendar-picker-indicator {
    position: absolute;
    right: 0;
    width: 24px;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.indus-form .date-field .date-field-icon {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    flex-shrink: 0;
}

.indus-form .checkbox-label {
    font-weight: 400;
    font-size: 13px;
    color: #777272;
    margin-top: -14px;
}

/* CF7's [acceptance] tag wraps the checkbox + text in its own <label>
   (with the text in a nested .wpcf7-list-item-label span) — the flex
   layout has to target that real label, not assume checkbox+text are
   direct children of .checkbox-label itself. */
.indus-form .checkbox-label label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    margin: 0;
}

.indus-form .checkbox-label input {
    width: 16px;
    height: 16px;
    margin: 2px 0 0 0 !important;
    float: none !important;
    accent-color: #65095B;
    flex-shrink: 0;
}

.indus-form .checkbox-label .wpcf7-list-item-label,
.indus-form .checkbox-label > span {
    color: #777272;
}

.indus-form .checkbox-label a {
    color: #65095B;
    text-decoration: underline;
}

.indus-form .form-submit-btn {
    margin-top: 10px;
    width: auto;
}

.indus-form .form-submit-btn::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 16px;
    background: url("../images/arrow-swoosh-white.svg") no-repeat center / contain;
}

.form-success-msg {
    background: #E7F6EC;
    color: #1C7B37;
    border: 1px solid #B7E4C3;
    border-radius: 8px;
    padding: 14px 18px;
    font-size: 14px;
    margin-bottom: 20px;
}

/* Contact Form 7 response message, styled like a Bootstrap alert:
   left accent border + icon + rounded box, colored per form state. */
.indus-form .wpcf7-response-output {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-radius: 8px;
    padding: 1em 1em !important;
    font-size: 14px;
    margin: 20px 0 0;
    background: #F8F8F8;
    border: 1px solid #DFDFDF;
    border-left-width: 4px;
    color: #333;
}

.indus-form .wpcf7-response-output::before {
    content: '';
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.indus-form form.sent .wpcf7-response-output {
    background: #E7F6EC;
    color: #1C7B37;
    border-color: #B7E4C3;
    border-left-color: #1C7B37;
}
.indus-form form.sent .wpcf7-response-output::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='10' fill='%231C7B37'/%3E%3Cpath d='M6 10.5L8.5 13L14 7' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.indus-form form.failed .wpcf7-response-output,
.indus-form form.aborted .wpcf7-response-output,
.indus-form form.spam .wpcf7-response-output {
    background: #FBEAEA;
    color: #B22222;
    border-color: #F3C2C2;
    border-left-color: #B22222;
}
.indus-form form.failed .wpcf7-response-output::before,
.indus-form form.aborted .wpcf7-response-output::before,
.indus-form form.spam .wpcf7-response-output::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23B22222'/%3E%3Cpath d='M10 5.5V11' stroke='white' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14' r='1' fill='white'/%3E%3C/svg%3E");
}

.indus-form form.invalid .wpcf7-response-output {
    background: #FFF6E5;
    color: #8A5A00;
    border-color: #F5DFA6;
    border-left-color: #8A5A00;
}
.indus-form form.invalid .wpcf7-response-output::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='10' fill='%238A5A00'/%3E%3Cpath d='M10 5.5V11' stroke='white' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14' r='1' fill='white'/%3E%3C/svg%3E");
}

.indus-form .wpcf7-not-valid-tip {
    color: #B22222;
    font-size: 12px;
    margin-top: 4px;
    display: block;
}

/* ═══════════════════════════════════════════════════════════
   BOOKING PAGE — ported 1:1 from the finished booking.html /
   assets/css/style.css (static site), namespaced under
   .booking-hero-section / .booking-form-card / .booking-why-choose-section
   so it can't collide with the unrelated .contact-card /
   .why-choose-section rules used elsewhere in the theme.
   ═══════════════════════════════════════════════════════════ */

.booking-hero-section {
    position: relative;
    min-height: 977px;
    display: flex;
    align-items: flex-start;
    padding: 170px 0 150px;
    overflow: visible;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #1a1a1a;
}

.booking-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(95, 76, 100, 0.5), rgba(74, 22, 88, 0.5));
}

/* ACF-editable alternative to the default gradient above — only rendered
   (see page-booking.php) when "Hero Overlay Image" is set in wp-admin. */
.booking-hero-overlay {
    position: absolute;
    inset: 0;
    /* z-index: 1; */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
}

.booking-hero-section .container { position: relative; z-index: 2; }
.booking-hero-section .row       { align-items: flex-start; position: relative; }

.booking-hero-content { padding-top: 40px; text-align: left; }

.booking-hero-content bdi {
    display: block;
    margin-bottom: 15px;
    color: #fff;
    font-family: "BonVivant", cursive;
    font-size: 60px;
    line-height: normal;
    text-align: left;
}

.booking-hero-content h1 {
    color: #fff;
    font-family: "Marcellus", serif;
    font-size: 60px;
    line-height: 64px;
    margin-bottom: 20px;
    text-align: left;
}

.booking-hero-content p {
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    font-family: "Sansation", sans-serif;
    margin: 0;
    text-align: left;
}

.booking-form-col { position: relative; }

.booking-form-card {
    position: absolute;
    top: 50px !important;
    right: 0;
    width: 700px;
    /* max-width: 100%; */
    background: #fff;
    padding: 40px;
    /* box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15); */
    z-index: 20;
}

.booking-form-card h3 {
    color: #000;
    font-size: 35px;
    font-weight: 400;
    line-height: 32px;
    font-family: "Marcellus", serif;
    margin-bottom: 8px;
}

.booking-form-card .form-subtitle {
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    margin-bottom: 40px;
}

.booking-form-card .indus-form .row {
    --bs-gutter-x: 24px;
    --bs-gutter-y: 24px;
}

.booking-form-card .indus-form .form-control,
.booking-form-card .indus-form .form-select {
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #D9D9D9;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 16px;
    font-weight: 400;
    color: #333;
    line-height: normal;
}

.booking-form-card .indus-form .form-control:focus,
.booking-form-card .indus-form .form-select:focus {
    border-color: #65095B;
    box-shadow: none;
}

.booking-form-card .indus-form .form-control::placeholder,
.booking-form-card .indus-form .form-select::placeholder {
    color: #8E8E8E;
}

.booking-form-card .indus-form input.form-control { padding-bottom: 10px; }

/* .date-field puts the border on the wrapper (so the calendar icon shares
   the same underline); without this override the higher-specificity
   .form-control rule above would put a second border-bottom on the input
   itself, producing a doubled line — same bug as the phone field earlier. */
.booking-form-card .indus-form .date-field { border-bottom: 1px solid #D9D9D9; }
.booking-form-card .indus-form .date-field input.form-control {
    border-bottom: none;
    padding-right: 24px;
    padding-bottom: 10px;
}

/* Same fix as the phone field: position the validation tip relative to just
   the input's own wrap (not the whole .date-field row), so it drops cleanly
   below the border line instead of stretching the row and pushing the line
   below the warning text. */
.booking-form-card .indus-form .date-field .wpcf7-form-control-wrap {
    position: relative;
    flex: 1;
    min-width: 0;
}
.booking-form-card .indus-form .date-field .wpcf7-not-valid-tip {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    white-space: normal;
}

.booking-form-card .indus-form textarea.form-control {
    height: 70px;
    resize: none;
    padding-top: 12px;
    line-height: 1.6;
}

.booking-form-card .indus-form .select-wrapper { position: relative; }

.booking-form-card .indus-form .select-wrapper .form-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 48px;
    padding-right: 30px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%2365095B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right center;
    cursor: pointer;
}

.booking-form-card .indus-form .select-wrapper i {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    font-size: 12px;
    color: #65095B;
    pointer-events: none;
}

.booking-form-card .indus-form .phone-group {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    border-bottom: 1px solid #D9D9D9;
}

/* CF7 wraps every field's actual input/select in its own
   <span class="wpcf7-form-control-wrap"> — that span, not the
   input/select itself, is the flex item, so it (and its contents)
   need the sizing rules, not just the bare .form-control class.
   position:relative here (rather than on .phone-group) means the
   validation tip below can be taken out of flow without stretching
   the row's height/border, while still lining up under the number
   field instead of the flag section. */
.booking-form-card .indus-form .phone-group > .wpcf7-form-control-wrap {
    position: relative;
    flex: 1;
    min-width: 0;
}

.booking-form-card .indus-form .phone-group .wpcf7-not-valid-tip {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    white-space: normal;
}

/* Custom flag dropdown (replaces a native <select>, which can't render
   flag images in its options — the visible "GB +44" was Windows falling
   back to plain text for the flag emoji). A hidden CF7 field carries the
   actual submitted value; see main.js for the open/select behaviour. */
.booking-form-card .indus-form .phone-group .country-select {
    position: relative;
    width: 82px; /* must be ≥ the flag+code+arrow's own min-content width — a
        smaller declared width doesn't actually shrink it (flex-shrink:0
        blocks that) so it was silently overflowing past 68px anyway and
        eating space meant for the number field. */
    flex-shrink: 0;
}

.booking-form-card .indus-form .country-code-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    height: 48px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 16px;
    color: #333;
}

.booking-form-card .indus-form .country-code-btn .flag-icon {
    width: 20px;
    height: 15px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

.booking-form-card .indus-form .country-code-btn .code-text {
    flex: 1;
    text-align: left;
    white-space: nowrap;
}

.booking-form-card .indus-form .country-code-btn .dd-arrow {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.booking-form-card .indus-form .country-select.open .country-code-btn .dd-arrow {
    transform: rotate(180deg);
}

.booking-form-card .indus-form .country-code-btn .dd-arrow {
    display: none;
}
.booking-form-card .indus-form .country-code-btn::after {
    content: '';
    width: 8px;
    height: 5px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M8 0H0L4 5L8 0Z' fill='%23333333'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    transition: transform 0.2s ease;
}
.booking-form-card .indus-form .country-select.open .country-code-btn::after {
    transform: rotate(180deg);
}

.booking-form-card .indus-form .country-code-list {
    position: absolute;
    top: calc(100% + 8px);
    left: -8px;
    z-index: 40;
    width: 260px;
    max-height: 280px;
    overflow-y: auto;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.booking-form-card .indus-form .country-code-list[hidden] { display: none; }

.booking-form-card .indus-form .country-code-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.booking-form-card .indus-form .country-code-list li:hover,
.booking-form-card .indus-form .country-code-list li.active {
    background: #F8EEF7;
}

.booking-form-card .indus-form .country-code-list li img {
    width: 20px;
    height: 15px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

.booking-form-card .indus-form .phone-group .form-control {
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0;
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-overflow: ellipsis;
    font-size: 16px;
    color: #333;
}

.indus-form .wpcf7-list-item {
    margin: 0 !important;
}

.booking-form-card .indus-form .form-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-left: 0 !important;
    margin-top: -14px;
}

/* CF7's [acceptance] tag doesn't output a "form-check-label" element at
   all — the real markup is <label><input>+<span class="wpcf7-list-item-label">.
   Targeting the actual CF7 classes below (instead of the old, never-matching
   .form-check-label) is what fixes both the checkbox/text alignment and the
   text color, which was previously falling back to an unstyled default. */
.booking-form-card .indus-form .form-check label {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    cursor: pointer;
    margin: 0;
    margin-top: 20px;
}

.booking-form-card .indus-form .form-check input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 18px;
    height: 18px;
    margin: 3px 0 0 0 !important;
    float: none !important;
    flex-shrink: 0;
    border: 1.5px solid #65095B;
    border-radius: 3px;
    background-color: #fff;
    cursor: pointer;
}

.booking-form-card .indus-form .form-check input[type="checkbox"]:checked {
    background-color: #65095B;
    border-color: #65095B;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='9' viewBox='0 0 11 9' fill='none'%3E%3Cpath d='M1 4.5L4 7.5L10 1' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.booking-form-card .indus-form .form-check input[type="checkbox"]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(101, 9, 91, 0.15);
}

.booking-form-card .indus-form .form-check .wpcf7-list-item-label {
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.booking-form-card .indus-form .form-check .wpcf7-list-item-label a {
    color: #65095B;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.booking-form-card .indus-form .primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 30px;
    border: 0;
    border-radius: 100px;
    background: #65095B;
    color: #fff;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    transition: 0.3s ease;
}

.booking-form-card .indus-form .primary-btn:hover { background-color: #43053c; }

/* Submit button arrow — same technique as the contact form: an
   <input type="submit"> can't hold a nested <svg> or a ::after pseudo-element,
   so the arrow is drawn as a background-image on the input itself. */
.booking-form-card .indus-form input.wpcf7-submit {
    padding-right: 50px;
    background-image: url("../images/arrow-swoosh-white.svg");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 20px 16px;
}

/* ── Why Choose Us ── */

.booking-why-choose-section {
    position: relative;
    margin-top: -270px; /* reverted from -220px — that change exposed a visible gray
        gap (unstyled body background) between this section and the hero above in
        the normal case, which was worse than the error-banner overlap it was meant
        to fix. Back to the original, correctly-calibrated value. */
    padding: 320px 0 120px;
    background: #F8EEF7;
    overflow: hidden;
}

.booking-why-choose-section::before {
    content: "";
    position: absolute;
    inset: 0;
    left: -110px;
    background: url("https://douzzocart.com/indus/wp-content/uploads/2026/07/Vector-135.png") no-repeat;
    transform: rotate(8.975deg);
    pointer-events: none;
}

.booking-why-choose-section .container { position: relative; z-index: 2; }

.booking-why-choose-section .food-images {
    position: relative;
    min-height: 720px;
}

.booking-why-choose-section .plate {
    position: absolute;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.18));
}

.booking-why-choose-section .plate-top {
    width: 569px;
    height: 547px;
    aspect-ratio: 181 / 174;
    top: -367px;
    left: -79px;
    z-index: 3;
}

.booking-why-choose-section .plate-bottom {
    width: 586px;
    height: 590px;
    aspect-ratio: 146 / 147;
    left: 16px;
    bottom: -92px;
}

.booking-why-choose-section .content-wrapper { margin-left: auto; }

.booking-why-choose-section bdi {
    display: block;
    font-family: "BonVivant", cursive;
    color: #65095B;
    font-size: 60px;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 10px;
    text-align: left;
}

.booking-why-choose-section h2 {
    color: #000;
    font-size: 40px;
    font-weight: 400;
    line-height: 46px;
    font-family: "Marcellus", serif;
    max-width: 600px;
    margin-bottom: 20px;
    text-align: left;
}

.booking-why-choose-section p {
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
    max-width: 520px;
    margin-bottom: 20px;
    text-align: left;
}

.booking-why-choose-section .feature-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 30px;
}

.booking-why-choose-section .feature-item {
    display: flex;
    align-items: flex-start;
    gap: 22px;
}

.booking-why-choose-section .number {
    flex: 0 0 125px;
    min-width: 100px;
    text-align: center;
    font-family: "Sansation", sans-serif;
    font-size: 80px;
    font-weight: 700;
    line-height: 0.8;
    background: linear-gradient(180deg, rgba(101, 9, 91, 0) 0%, rgba(101, 9, 91, 0.35) 55%, rgba(101, 9, 91, 0.18) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.booking-why-choose-section .feature-content { flex: 1; }

.booking-why-choose-section .feature-content h6 {
    margin: 0 0 10px;
    color: #333;
    font-family: "Marcellus", serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.3;
}

.booking-why-choose-section .feature-content p {
    margin: 0;
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    max-width: none;
}

.booking-why-choose-section .primary-btn {
    display: inline-flex;
    padding: 16px 30px;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    border-radius: 160px;
    background: #65095B;
    text-decoration: none;
    margin-top: 10px;
}

.booking-why-choose-section .primary-btn:hover { background: #3d0838; }

/* ── Responsive – mobile ≤767 (matches booking.html's finished mobile pass) ── */
@media screen and (max-width: 767px) {
    .booking-hero-section { min-height: 100vh; padding: 90px 0 40px; overflow: visible; }
    .booking-hero-content { padding-top: 0; text-align: center; }
    .booking-hero-content bdi { font-size: 38px; line-height: 1; margin-bottom: 6px; }
    .booking-hero-content h1  { font-size: 32px; line-height: 36px; margin-bottom: 10px; }
    .booking-hero-content p   { font-size: 13px; line-height: 20px; }

    .booking-form-col { position: static !important; }
    .booking-form-card {
        position: static;
        top: auto;
        left: auto;
        right: auto;
        transform: none;
        width: calc(100% - 20px);
        max-width: 360px;
        margin: 30px auto 0;
        padding: 20px;
        border-radius: 12px;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
        z-index: 30;
    }
    .booking-form-card h3            { font-size: 24px; line-height: 30px; margin-bottom: 5px; }
    .booking-form-card .form-subtitle { font-size: 12px; line-height: 18px; margin-bottom: 18px; }
    .booking-form-card .indus-form .row { --bs-gutter-x: 0; --bs-gutter-y: 15px; }
    .booking-form-card .indus-form .form-control,
    .booking-form-card .indus-form .form-select { height: 42px; font-size: 13px; }
    .booking-form-card .indus-form textarea.form-control { height: 80px; }
    .booking-form-card .indus-form .phone-group { height: 42px; gap: 6px; }
    .booking-form-card .indus-form .phone-group .country-select { width: 62px; }
    .booking-form-card .indus-form .country-code-btn { height: 42px; font-size: 13px; gap: 3px; }
    .booking-form-card .indus-form .country-code-btn .code-text { font-size: 12px; }
    .booking-form-card .indus-form .phone-group .form-control { height: 42px; font-size: 13px; }
    .booking-form-card .indus-form .select-wrapper .form-select { height: 42px; padding-right: 28px; }
    .booking-form-card .indus-form .select-wrapper i { right: 4px; font-size: 10px; }
    .booking-form-card .indus-form .form-check input[type="checkbox"] { width: 15px; height: 15px; margin-top: 2px; }
    .booking-form-card .indus-form .form-check .wpcf7-list-item-label { font-size: 14px; line-height: 16px; }
    .booking-form-card .indus-form .form-check .wpcf7-list-item-label a { font-size: 14px !important; }
    .booking-form-card .indus-form .form-check label {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        cursor: pointer;
        margin: 0;
        margin-top: 20px;
    }
    .booking-form-card .indus-form .primary-btn { width: 100%; justify-content: center; padding: 12px 22px; font-size: 14px; }

    .booking-why-choose-section { margin-top: 0; padding-left: 30px; padding-right: 30px; overflow: hidden; }
    .booking-why-choose-section .food-images { display: none; }
    .booking-why-choose-section .content-wrapper { margin-left: 0; }
    .booking-why-choose-section bdi { font-size: 42px; line-height: normal; margin-bottom: 8px; }
    .booking-why-choose-section h2  { width: 300px; font-size: 22px; line-height: 28px; margin-bottom: 12px; }
    .booking-why-choose-section p   { width: 309px; font-size: 14px; line-height: 18px; margin-bottom: 22px; }
    .booking-why-choose-section .feature-list { gap: 18px; }
    .booking-why-choose-section .number { flex: 0 0 32px; min-width: 39px; font-size: 32px; line-height: 1; }
    .booking-why-choose-section .feature-content h6 { font-size: 18px; line-height: normal; margin-bottom: 5px; }
    .booking-why-choose-section .feature-content p  { font-size: 14px; line-height: 18px; padding-right: 60px; }
    .booking-why-choose-section .primary-btn {justify-content: center; margin-top: 25px; padding: 14px 24px; font-size: 14px; }
}

/* Caps the "Get in Touch" card's own width at 1240px on very wide screens
   (≥1400px) — otherwise Bootstrap's default xxl .container max-width
   (1320px) makes it run wider than the Figma-specified 1240px on large
   monitors. Scoped to .contact-card-wrap specifically (not all .container
   elements) — an earlier global version of this rule also shrank the
   booking hero's text column, since that section uses .container too,
   causing its heading to wrap onto an extra line. */
@media (min-width: 1400px) {
    .contact-card-wrap.container {
        max-width: 1240px;
    }
}

/* ═══════════════════════════════════════════════════════════
   CONTACT US PAGE
   ═══════════════════════════════════════════════════════════

   Sandwich stacking (top → bottom): "Get in Touch" card → map → hero.

   The card is nested INSIDE the hero section and absolutely
   positioned, so the hero's background image extends behind the
   ENTIRE card (no white gap below it).

   IMPORTANT: the hero itself must NOT have an explicit z-index.
   position:relative alone (z-index:auto) does not create a new
   stacking context, so the card's own z-index below still competes
   directly against .contact-map-section's z-index at the outer
   level — giving "card over map" without dragging the hero's whole
   (empty) box above the map too. (That combination — elevated
   z-index on the hero itself — was the earlier bug: it trapped the
   card's stacking inside the hero's local context AND elevated the
   hero's entire empty rectangle above the map.)
   ═══════════════════════════════════════════════════════════ */

/* ── hero banner (background layer) — tall enough that its image
   extends behind the full card height ── */
.contact-hero-section {
    min-height: 1300px;
    position: relative; /* containing block for .contact-card-wrap — no z-index here, see note above */
}

.contact-hero-section .inner-hero-content {
    padding-top: 0px;
    padding-bottom: 380px;
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
}

.contact-hero-section .inner-hero-content.text-center .inner-hero-sub {
    margin: 0 auto !important;
    width: 512px;
    color: #FFF;
    text-align: center;
    font-family: "Sansation", sans-serif;
    font-size: 20px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 26px !important;
}

.faq-hero-section .inner-hero-content.text-center .inner-hero-sub {
    margin: 0 auto !important;
    color: #FFF;
    text-align: center;
    font-family: Sansation;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    width: 512px;
}

/* ── "Get in Touch" card, absolutely positioned inside the hero,
   poking down past the hero's bottom edge to overlap the map ── */
.contact-card-wrap {
    position: absolute;
    left: 50%;
    bottom: -163px; /* negative = pokes below the hero, overlapping the map */
    transform: translateX(-50%);
    width: 100%;
    z-index: 3; /* higher than .contact-map-section's z-index: 1 */
}

.contact-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.18);
    position: relative;
    overflow: hidden;
}

.contact-info-col {
    background: #fff;
    padding-top: 80px;
    padding-left: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
}

.contact-info-col h3 {
    font-family: 'Marcellus';
    color: #65095B;
    font-size: 26px;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 12px;
    width: 365px;
}

.contact-info-col > p {
    color: #333;
    font-size: 18px;
    margin-bottom: 46px;
}

.contact-info-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 40px;
    margin-top: 40px;
}

.contact-info-block h4 {
    color: #65095B;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 6px;
    line-height: normal;
    font-family: 'Marcellus';
}

.contact-info-block p,
.contact-info-block a {
    display: block;
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    text-transform: lowercase;
}
.contact-info-block p {
	text-transform: capitalize;
}

.contact-info-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #F1E3EF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-info-icon svg path {
    fill: #65095B;
}

.contact-form-col {
    padding: 80px;
}

/* Submit button arrow — an <input type="submit"> can't hold a nested <svg>
   or a ::after pseudo-element (browsers don't render generated content on
   replaced form controls), so the arrow is drawn as a background-image on
   the input itself, using the same arrow used elsewhere (indus_arrow_svg()). */
.contact-form-col .indus-form input.wpcf7-submit,
.enquiry-form-card .indus-form input.wpcf7-submit {
    padding-right: 50px;
    background-color: #65095B;
    background-image: url("../images/arrow-swoosh-white.svg");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 20px 16px;
}

.contact-form-col h3 {
    font-family: "Marcellus", serif;
    color: #000;
    font-size: 24px;
    margin-bottom: 6px;
}

.contact-form-col > p {
    color: #777272;
    font-size: 14px;
    margin-bottom: 24px;
}

@media (min-width: 992px) {
    .contact-form-col h3 {
        color: #000;
        font-family: "Marcellus", serif;
        font-size: 35px;
        font-style: normal;
        font-weight: 400;
        line-height: 32px;
        margin-bottom: 10px;
    }
    .contact-form-col > p {
        color: #333;
        font-family: "Sansation", serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        margin-bottom: 40px;
    }
    .contact-form-col .indus-form .g-3,
    .contact-form-col .indus-form .gy-3 {
        --bs-gutter-y: 2rem;
    }
    .contact-form-col .indus-form input::placeholder,
    .contact-form-col .indus-form textarea::placeholder,
    .contact-form-col .indus-form select {
        color: #8E8E8E;
        font-family: "Sansation", sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .contact-form-col .indus-form .checkbox-label .wpcf7-list-item-label,
    .contact-form-col .indus-form .checkbox-label > span {
        color: #333;
        font-family: "Sansation", sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .contact-form-col .indus-form .checkbox-label a {
        color: #65095B;
        font-family: "Sansation", sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-decoration-skip-ink: auto;
        text-decoration-thickness: auto;
        text-underline-offset: auto;
        text-underline-position: from-font;
    }
}

/* ── Section 2: map (tucks slightly behind the card's bottom edge) ── */
.contact-map-section {
    line-height: 0;
    position: relative;
    z-index: 1;
}

.contact-map-section iframe {
    display: block;
    filter: grayscale(0.15);
}

/* ── Responsive – iPad Pro / landscape tablet 992–1199 ── */
@media screen and (min-width: 992px) and (max-width: 1199px) {
    footer::before {
        background-image: none;
    }
    .contact-card-wrap {
        position: absolute;
        left: 50%;
        bottom: -98px;
        transform: translateX(-50%);
        width: 100%;
        z-index: 3;
    }
    .booking-form-card {
        position: absolute;
        top: 50px !important;
        right: 0;
        width: 520px;
        background: #fff;
        padding: 40px;
        z-index: 20;
    }
    .booking-why-choose-section .plate-top {
        width: 316px;
        height: 316px;
        top: -436px;
        left: -37px;
        z-index: 3;
    }
    .booking-why-choose-section .feature-content p {
        margin: 0;
        color: #333;
        font-family: "Sansation", sans-serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 23px;
        max-width: none;
    }
    .booking-why-choose-section .number {
        flex: 0 0 78px;
        min-width: 100px;
        text-align: center;
        font-family: "Sansation", sans-serif;
        font-size: 70px;
        font-weight: 700;
        line-height: 0.8;
        background: linear-gradient(180deg, rgba(101, 9, 91, 0) 0%, rgba(101, 9, 91, 0.35) 55%, rgba(101, 9, 91, 0.18) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    .booking-hero-section {
        position: relative;
        min-height: 1010px;
        display: flex;
        align-items: flex-start;
        padding: 170px 0 150px;
        overflow: visible;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-color: #1a1a1a;
    }
}
/* ── Responsive – tablet 768–991 ── */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .inner-hero-section          { min-height: 420px; }
    .faq-hero-section            { min-height: 520px; padding-top: 20px; }
    .faq-card                    { padding: 30px; margin-top: -90px; }
    .faq-contact-banner          { padding: 20px; }
    .contact-hero-section          { min-height: unset; flex-direction: column; align-items: center; padding-top: 40px; padding-bottom: 60px; }
    .contact-card-wrap             { position: static; transform: none; width: 100%; margin-top: 20px; }
    .contact-info-col,
    .contact-form-col            { padding: 32px; }
    .contact-form-col > p {
        color: #333;
        font-family: "Sansation", sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .error-digit                 { font-size: 140px; }
    .error-plate                 { width: 110px; height: 110px; }

    /* Booking — at this width Bootstrap's col-lg-6 columns stack full-width,
       so the desktop absolute-positioning (built for a 50%-width column)
       has to be switched off here too, same as it is at ≤767. */
    .booking-hero-section      { min-height: unset; padding: 60px 0 40px; }
    .booking-hero-content      { padding-top: 0; padding-bottom: 30px; text-align: left; }
    .booking-hero-content bdi  { font-size: 44px; }
    .booking-hero-content h1   { font-size: 40px; line-height: 46px; }
    .booking-hero-content p    { font-size: 16px; line-height: 22px; }

    .booking-form-col  { position: static !important; }
    .booking-form-card {
        position: static;
        width: 100%;
        max-width: 560px;
        margin: 0 auto;
        padding: 30px;
    }

    .booking-why-choose-section { margin-top: 30px; padding: 60px 0; }
    .booking-why-choose-section .food-images { display: none; }
    .booking-why-choose-section .content-wrapper { margin-left: 0; }
    .booking-why-choose-section h2,
    .booking-why-choose-section p { max-width: 100%; }
}

/* ── Responsive – mobile ≤767 ── */
@media screen and (max-width: 767px) {

    .booking-why-choose-section .number {
        flex: 0 0 22px;
        min-width: 22px;
        width: 22px;
        height: 22px;
        font-size: 0;
        line-height: 0;
        background: url("../images/feature-check-icon.svg") no-repeat center / contain;
        -webkit-background-clip: initial;
        -webkit-text-fill-color: initial;
        background-clip: initial;
    }

    .inner-hero-section {
        min-height: 100vh;
        align-items: flex-end;
    }
    .blog-category-select-wrap {
        width: 100%;
        margin-top: 25px;
    }
    .inner-hero-content {
        padding-top: 0;
        padding-bottom: 40px;
		height:auto;
		padding-right:30px;
		padding-left:30px;
    }
    .inner-hero-sub {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    /* FAQ */
    .faq-hero-section    { min-height: 100vh; padding-top: 0; align-items: flex-end; }
    .faq-hero-section .inner-hero-content {
        padding-top: 0;
    }
    .faq-hero-section bdi {
        font-size: 24px;
        line-height: normal;
    }
    .faq-hero-section h1 {
        font-size: 24px;
        line-height: 22px;
        margin-bottom: 8px !important;
    }
    .faq-hero-section .inner-hero-sub {
        font-size: 14px !important;
        line-height: 18px !important;
        padding-bottom: 20px !important;
    }
    .faq-section         { padding-bottom: 0px; }
    .faq-card            { padding: 20px;margin-top: 0;border-radius: 12px;background: transparent;box-shadow: none; }
    .faq-item .accordion-button { font-size: 16px; padding: 16px 20px 16px 0; line-height: 24px; }
    .faq-item .accordion-body p { font-size: 14px; line-height: 20px; }
    .faq-contact-banner  { padding: 18px; margin-top: 15px; }
    .faq-contact-banner p {font-size: 18px;line-height: 26px; }
    .faq-partners        { padding: 50px 0 60px; }

    /* Legal */
    .legal-hero-section  { min-height: 100vh; display: flex; align-items: flex-end; }
    .legal-hero-content  { padding-top: 0; padding-bottom: 40px; }
    .legal-title         { font-size: 24px; line-height: 22px; margin-bottom: 8px !important; }
    .legal-updated       { font-size: 14px !important; line-height: 18px; }
    .legal-content-section { padding: 50px 0; }
    .legal-content-wrap > h2 { font-size: 22px !important; line-height: 28px; margin-bottom: 8px; }
    .legal-block h3      { font-size: 22px; line-height: 28px; }
    .legal-body p        { font-size: 14px; line-height: 18px; margin-bottom: 15px; }
    .legal-body ul li    { font-size: 14px; line-height: 18px; margin-bottom: 8px; }

    /* Error */
    .error-page-section  { padding: 40px 0 60px; }
    .error-digit         { font-size: 100px; }
    .error-plate         { width: 80px; height: 80px; }
    .error-code-graphic  { gap: 0px; margin-bottom: 20px; }
    .error-title         { font-size: 20px !important; line-height: 24px; }
    .error-description   { font-size: 14px; margin-bottom: 25px; line-height: normal; }

    /* Contact */
    .contact-hero-section  { min-height: 100vh; flex-direction: column; align-items: center; padding-top: 40px; padding-bottom: 60px; }
    .contact-hero-section .inner-hero-content {
        padding-top: 0 !important;
        max-width: 780px;
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding-left: 30px;
        padding-right: 30px;
    }
    .contact-card-wrap     { position: static; left: auto; transform: none; bottom: auto; width: 100%; margin-top: 20px; }
    .contact-card          { border-radius: 12px; }
    .contact-info-col,
    .contact-form-col      { padding: 24px 20px; }
    .contact-info-col h3 {
        font-family: 'Marcellus';
        margin-bottom: 12px;
        width: 263px;
        color: #65095B;
        font-size: 22px;
        font-style: normal;
        font-weight: 400;
        line-height: 28px;
    }
    .contact-info-col > p {
        margin-bottom: 46px;
        width: 275px;
        color: #333;
        font-family: Sansation;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 18px;
    }
    .contact-form-col > p {
        color: #333;
        font-family: "Sansation", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
    }
    .contact-form-col h3 {
        margin-bottom: 6px;
        color: #000;
        font-family: "Marcellus", serif;
        font-size: 26px;
        font-style: normal;
        font-weight: 400;
        line-height: 32px;
    }
    .contact-map-section   { margin-top: 0; }
    .contact-map-section iframe {
        width: 375px;
        height: 431px;
    }
    bdi.Contact-subtitle {
        font-family: "BonVivant";
        color: #FFF;
        text-align: center;
        font-size: 24px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
	
	.blog-card > h6 {
		font-size:18px;
		line-height:26px;
	}
	.blog-card > span {
		
	}
	
	.contact-info-block p,
.contact-info-block a {
    font-size: 14px;
    line-height: 20px;
}
}


@media screen and (max-width: 767px) {
    .contact-card-wrap {
        position: static;
        transform: none;
        left: auto;
        bottom: auto;
    }
}
@media screen and (max-width: 767px) {
    .contact-hero-section .inner-hero-content {
        padding-top: 0!important;
        max-width: 780px;
        width: 100%;
        margin: 0 auto;
        padding-left: 30px;
        padding-right: 30px;
        height: auto;
    }

    .contact-hero-section .inner-hero-content.text-center .inner-hero-sub {
        margin: 0 auto !important;
        width: 315px;
        color: #FFF;
        text-align: center;
        font-family: "Sansation", sans-serif;
        font-size: 14px !important;
        font-style: normal;
        font-weight: 400;
        line-height: 18px !important;
    }

}
@media screen and (max-width: 767px) {
    .contact-map-section {
        margin-top: 0;
    }
}
@media screen and (max-width: 767px) {
    .contact-map-section {
        margin-top: 0!important;
    }
}

@media screen and (max-width: 767px) {
    .contact-card-wrap {
        position: static !important;
        transform: none;
        left: auto;
        bottom: auto !important;
    }
}
@media screen and (max-width: 767px) {
    .contact-map-section iframe {
        width: 100%;
        height: 431px;
    }
}

@media screen and (max-width: 999px)  {
    .contact-hero-section .inner-hero-content {
        padding-top: 250px!important;
    }

.legal-hero-content {
    padding-top: 285px;
    padding-bottom: 40px;
    padding-left: 40px;
    text-align: left;
    max-width: 900px;
}



}

@media screen and (max-width: 767px) {
    .contact-hero-section .inner-hero-content {
        padding-top: 0 !important;
    }
    .legal-hero-content {
        padding-top: 0;
        padding-left: 30px;
    }
}

@media screen and (max-width: 767px) {
    .booking-form-card {
        position: static !important;
        top: auto !important;
        left: auto;
        right: auto;
        transform: none;
        width: 100%;
        max-width: 360px;
        margin: 30px auto 0;
        padding: 20px;
        border-radius: 12px;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
        z-index: 30;
    }
}
@media screen and (max-width: 767px) {
    .booking-hero-content bdi {
        font-size: 24px;
        line-height: normal;
        margin-bottom: 6px;
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .booking-hero-content h1 {
        font-size: 24px;
        line-height: 22px;
        margin-bottom: 10px;
        width: 315px;
        text-align: center;
    }
}
@media screen and (max-width: 767px) {
    .booking-hero-content p {
        font-size: 14px;
        line-height: 18px;
        text-align: center;
    }
}
@media screen and (max-width: 767px) {
    .booking-hero-content {
        padding-top: 45px;
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .booking-why-choose-section {
        margin-top: 0;
        /* padding-left: 30px; */
        /* padding-right: 30px; */
        overflow: hidden;
    }
    .booking-why-choose-section::before {
        display: none;
    }
    .booking-why-choose-section .feature-item {
        display: flex;
        align-items: flex-start;
        gap: 15px;
    }
}
.booking-why-choose-section .feature-item {
    display: flex;
    align-items: flex-start;
    gap: 4px;
} 

@media screen and (min-width: 768px) and (max-width: 991px) {
    .booking-hero-content {
        padding-top: 152px;
        padding-bottom: 30px;
        text-align: left;
    }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
    .booking-hero-content bdi {
        font-size: 44px;
        text-align: center;
    }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
    .booking-hero-content h1 {
        font-size: 40px;
        line-height: 46px;
        text-align: center;
    }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
    .booking-hero-content p {
        font-size: 22px;
        line-height: 27px;
        text-align: center;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .booking-why-choose-section {
        margin-top: 2px;
        padding: 60px 0;
    }
}

/* ═══════════════════════════════════════════════════════════
   GALLERY PAGE
   ═══════════════════════════════════════════════════════════ */

.gallery-hero-section {
    min-height: 100vh;
}

.gallery-section-page {
    padding: 90px 0 100px;
    text-align: center;
    overflow: hidden;
}

.gallery-watermark {
    color: #F3F3F3;
    font-family: "Lust Text", "Marcellus", serif;
    font-size: clamp(48px, 13vw, 250px);
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 10px;
    user-select: none;
}

.gallery-watermark-img {
    display: block;
    max-width: 90%;
    width: auto;
    height: auto;
    margin: 0 auto 10px;
    user-select: none;
    pointer-events: none;
}

.gallery-filter-tabs {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #F5F5F5;
    border-radius: 40px;
    padding: 6px;
    margin: 50px 0 50px;
}

.gallery-filter-btn {
    border: 0;
    background: transparent;
    color: #333333;
    font-family: "Sansation", sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding: 12px 26px;
    border-radius: 40px;
    cursor: pointer;
    transition: background .25s ease, color .25s ease;
    white-space: nowrap;
}

.gallery-filter-btn.active,
.gallery-filter-btn:hover {
    background: #65095B;
    color: #FFFFFF;
}

.gallery-grid {
    column-count: 3;
    column-gap: 24px;
    text-align: left;
}

.gallery-item {
    display: block;
    break-inside: avoid;
    margin-bottom: 24px;
}

.gallery-item .gallery-item-trigger {
    position: relative;
    display: block;
    width: 100%;
    height: 550px;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
    overflow: hidden;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.gallery-item:hover img { transform: scale(1.06); }

/* Accent image — sits taller than the rest of its column. */
.gallery-item:nth-child(5) .gallery-item-trigger { height: 620px; }

.gallery-play-icon,
.gallery-expand-icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-play-icon {
    inset: 0;
    margin: auto;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: rgba(0, 0, 0, 0.05);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
}

.gallery-play-icon svg { width: 80px; height: 80px; }

.gallery-expand-icon {
    inset: 0;
    margin: auto;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: rgba(0, 0, 0, 0.1);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    opacity: 0;
    transform: scale(0.85);
    transition: opacity .25s ease, transform .25s ease;
}

.gallery-expand-icon svg { width: 80px; height: 80px; }

.gallery-item:hover .gallery-expand-icon { opacity: 1; transform: scale(1); }

/* Matches .gallery-filter-tabs' background elsewhere on this same page,
   instead of Bootstrap's near-black .bg-dark. */
.gallery-lightbox-modal-content {
    background: #F5F5F5;
}

.gallery-lightbox-close {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2365095B'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E");
    opacity: 1;
}

.gallery-lightbox-slider img {
    width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

.gallery-video-slide {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 80vh;
}

.gallery-video-slide video,
.gallery-video-slide iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: #000;
}

.gallery-lightbox-slider .slick-prev,
.gallery-lightbox-slider .slick-next {
    width: 44px;
    height: 44px;
    z-index: 2;
}

.gallery-lightbox-slider .slick-prev { left: 15px; }
.gallery-lightbox-slider .slick-next { right: 15px; }

/* Custom prev/next arrows (built in the gallery lightbox JS from
   indus_arrow_svg('purple') — the same icon used in the "Book Now"
   button) instead of Slick's default triangle. */
.gallery-lightbox-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
}

/* Slick's own theme CSS renders a '←'/'→' font-icon via :before on every
   .slick-prev/.slick-next — that was doubling up with our SVG icon above.
   Suppress it so only the SVG shows. */
.gallery-lightbox-arrow:before {
    content: none !important;
}

.gallery-lightbox-arrow.slick-prev {
    transform: translateY(-50%) rotate(180deg);
}

.gallery-lightbox-slider .slick-dots {
    bottom: -35px;
}

.gallery-lightbox-slider .slick-dots li button:before {
    color: #65095B;
    opacity: 0.5;
}

.gallery-lightbox-slider .slick-dots li.slick-active button:before {
    opacity: 1;
}

.gallery-item-badge {
    position: absolute;
    left: 20px;
    bottom: 18px;
    color: #FFFFFF;
    font-family: "Marcellus";
    font-size: 25px;
    font-weight: 400;
    line-height: normal;
    display: flex;
    flex-direction: column;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.gallery-item-badge em {
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    opacity: .85;
	 font-family: "Sansation", sans-serif;
}

.gallery-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 50px;
}

.gallery-page-btn,
.gallery-page-arrow {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    border: 1px solid #EBEBEB;
    background: #FFFFFF;
    color: #333333;
    font-family: "Sansation", sans-serif;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.gallery-page-btn:hover,
.gallery-page-arrow:hover { border-color: #65095B; }

.gallery-page-btn.active {
    background: #65095B;
    border-color: #65095B;
    color: #FFFFFF;
}

.gallery-page-arrow { color: #65095B; }

/* ── Responsive – tablet 768–991 ── */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .gallery-hero-section { min-height: 380px; }
    .gallery-section-page { padding: 60px 0 70px; }
    .gallery-grid { column-count: 2; column-gap: 18px; }
    .gallery-item { margin-bottom: 18px; }
    .gallery-item .gallery-item-trigger { height: 320px; }
    .gallery-item:nth-child(5) .gallery-item-trigger { height: 360px; }
    .gallery-filter-tabs { margin-bottom: 35px; }
}

/* ── Responsive – mobile ≤767 ── */
@media screen and (max-width: 767px) {
    .gallery-hero-section { min-height: 100vh; }
    .gallery-section-page { padding: 0 0 50px; }
	.gallery-watermark-img {
		max-width:100%;
	}
    .gallery-filter-tabs {
        display: flex;
        width: 100%;
        overflow-x: auto;
        margin: 30px 0;
        -webkit-overflow-scrolling: touch;
    }
    .gallery-filter-btn {font-size: 13px; }

    .gallery-grid { column-count: 1; }
    .gallery-item { margin-bottom: 14px; }
    .gallery-item .gallery-item-trigger { width: 315px; height: 390px; }
    .gallery-item:nth-child(5) .gallery-item-trigger { width: 315px; height: 390px; }

    .gallery-item-badge { font-size: 20px; left: 14px; bottom: 12px; }
    .gallery-pagination { margin-top: 30px; gap: 8px; }
    .gallery-page-btn,
    .gallery-page-arrow { width: 34px; height: 34px; font-size: 13px; }
}

/* ═══════════════════════════════════════════════════════════
   BLOG CARD (shared — Blog Listing grid + Related Blogs grid)
   ═══════════════════════════════════════════════════════════ */

.blog-card { display: block; color: inherit; }

.blog-card .image-wrap {
    position: relative;
    overflow: hidden;
}

.blog-card .image-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .45s ease;
}

.blog-card .image-wrap span.label {
    position: absolute;
    left: 20px;
    bottom: 20px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.85);
    height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 6px 15px;
    color: #000000;
    font-size: 14px;
}

.blog-card > span {
    color: #777272;
    display: block;
    font-size: 16px;
    margin-top: 20px;
    margin-bottom: 8px;
}

.blog-card > h6 {
    color: #000000;
    font-family: "Marcellus";
    font-size: 22px;
    line-height: 30px;
}

.blog-card:hover .image-wrap img { transform: scale(1.07); }
.blog-card:hover h6 { text-decoration: underline; color: #65095B; }

/* ═══════════════════════════════════════════════════════════
   BLOG LISTING PAGE  (home.php)
   ═══════════════════════════════════════════════════════════ */

.blog-hero-section { min-height: 100vh; }

.blog-listing-section { padding: 70px 0 100px; }

.blog-listing-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.blog-articles-count {
    font-family: "Marcellus";
    font-size: 24px;
    color: #000000;
}

.blog-category-select-wrap {
    width: 100%;
}

@media (min-width: 992px) {
    .blog-category-select-wrap {
        width: 300px;
        flex: none;
    }
}

.blog-category-select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    border: none;
    border-bottom: 1px solid #333333;
    border-radius: 0;
    padding: 10px 30px 10px 0;
    font-family: "Sansation", sans-serif;
    font-size: 18px;
    color: #333333;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right center;
    cursor: pointer;
}

.blog-listing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 30px;
}

.blog-listing-grid .blog-card .image-wrap img {
    width: 100%;
    max-width: 410px;
    height: 350px;
    margin-bottom: 20px;
}

.blog-listing-grid .blog-card > span {
    color: #777272;
    display: block;
    margin-bottom: 8px;
    font-family: "Sansation";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.blog-listing-grid .blog-card > span .blog-card-sep {
    color: #D6D6D6;
    font-family: "Sansation";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.blog-listing-grid .blog-card > h6 {
    color: #000000;
    font-family: "Marcellus";
    font-size: 24px;
    line-height: 30px;
    width: 410px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog-listing-grid .blog-card:hover h6 {
    text-decoration: none;
}

.no-blog-posts {
    grid-column: 1 / -1;
    text-align: center;
    color: #777272;
    padding: 60px 0;
}

.blog-pagination { margin-top: 60px; }

@media screen and (min-width: 768px) and (max-width: 991px) {

    .blog-listing-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 25px;
    }

}

@media screen and (max-width: 767px) {

    .blog-listing-toolbar {
        align-items: center;
        justify-content: space-between;
        margin-bottom: 40px;
        display: block;
    }

    .blog-listing-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 30px 25px;
    }

    .blog-listing-grid .blog-card > h6 {
        color: #000000;
        font-family: "Marcellus";
        font-size: 24px;
        line-height: 30px;
        width: 320px;
    }

    .blog-listing-grid .blog-card .image-wrap img {
        width: 100%;
        max-width: 320px;
        height: 350px;
        margin-bottom: 20px;
    }

}

/* ═══════════════════════════════════════════════════════════
   BLOG DETAIL PAGE  (single.php)
   ═══════════════════════════════════════════════════════════ */

.blog-detail-header {
    width: 623px;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 220px;
}

.blog-detail-header h1 {
    color: #000000;
    text-align: center;
    font-family: "Marcellus";
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: 36px; /* 120% */
}

.blog-detail-meta {
    color: #000000 !important;
    font-family: "Sansation", sans-serif;
    font-size: 16px !important;
    font-weight: 400;
    text-align: center;
    margin-top: 6px;
}

.blog-detail-section { padding: 0 0 100px; }

.blog-detail-featured-img {
    margin-top: 40px;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}

.blog-detail-featured-img img {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.blog-detail-body { max-width: 900px; margin: 0 auto; }

.blog-detail-body > p:first-of-type {
    color: #65095B;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    margin-bottom: 20px;
}

.blog-detail-body p {
    color: #333333;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
}

.blog-detail-body h2,
.blog-detail-body h3 {
    font-family: "Marcellus";
    color: #000000;
    margin: 40px 0 16px;
}

.blog-detail-body h2 {
    color: #000;
    font-family: "Marcellus";
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 48px; /* 120% */
}
.blog-detail-body h3 { font-size: 22px; line-height: 28px; }

.blog-detail-body ul,
.blog-detail-body ol {
    margin: 0 0 20px;
    padding-left: 20px;
}

.blog-detail-body ol { list-style: decimal; }
.blog-detail-body ol li::marker { color: #65095B; }

.blog-detail-body ul { list-style: none; }

.blog-detail-body ul li {
    position: relative;
    padding-left: 22px;
}

.blog-detail-body ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 10px;
    height: 10px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #65095B;
}

.blog-detail-body ul li,
.blog-detail-body ol li {
    color: #333333;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 10px;
}

.blog-detail-body img {
    width: 100%;
    border-radius: 12px;
    margin: 20px 0;
}

/* ═══════════════════════════════════════════════════════════
   RELATED BLOGS SECTION  (single.php)
   ═══════════════════════════════════════════════════════════ */
/* ==========================================
   RELATED BLOGS
========================================== */

.related-blogs-section{
    background:#FBEAF5;
    padding:90px 0;
}

.related-blogs-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-top:50px;
}

.related-blogs-grid .blog-card{
    display:block;
    width:100%;
}

.related-blogs-grid .blog-card .image-wrap{
    overflow:hidden;
}

.related-blogs-grid .blog-card .image-wrap img{
    width:100%;
    height:350px;
    object-fit:cover;
    display:block;
}

/* ---------- Slick ---------- */

.related-blogs-grid.slick-initialized{
    display:block;
}




.related-blogs-grid .slick-slide .blog-card{
    display:flex !important;
    flex-direction:column;
    height:100%;
}

.related-blogs-grid .slick-list{
    margin:0 -12px;
}

.related-blogs-grid .slick-slide{
    padding:0 12px;
}

.related-blogs-grid .slick-dots{
    margin-top:30px;
}

/* ==========================================================
   TABLET (768px - 991px)
========================================================== */
@media (min-width:768px) and (max-width:991px){

.related-blogs-grid:not(.slick-initialized){
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.related-blogs-grid .blog-card .image-wrap img{
    height:260px;
}

.related-blogs-grid .blog-card h6{
    font-size:24px;
    line-height:34px;
    margin-top:12px;
}

.related-blogs-grid .blog-card span{
    display:block;
    margin-top:15px;
}

}


/* ==========================================================
   MOBILE (Below 768px)
========================================================== */
@media (max-width:767px){

.related-blogs-grid:not(.slick-initialized){
    display:block;
}

.related-blogs-grid .blog-card .image-wrap img{
    height:220px;
}

.related-blogs-grid .blog-card h6{
    font-size:22px;
    line-height:30px;
    margin-top:12px;
}

.related-blogs-grid .blog-card span{
    display:block;
    margin-top:15px;
}

}

/* ═══════════════════════════════════════════════════════════
   MENU PAGE  (page-menu.php — single page, JS-toggled menu-type tabs)
   ═══════════════════════════════════════════════════════════ */

.menu-hero-section { min-height: 100vh; }

/* ── Intro + Why Choose Us ── */

.menu-intro-section { padding: 100px 0; }
.menu-intro-section h2 {
    font-family: "Marcellus";
    font-weight: 400;
    font-style: normal;
    font-size: 60px;
    line-height: 64px;
    letter-spacing: 0%;
    margin-bottom: 20px;
    width: 625px;
}

.menu-intro-section .menu-intro-body { color: #333333; margin-bottom: 40px; }

.menu-intro-section .menu-intro-body p {
    font-family: "Sansation", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0%;
    margin-bottom: 15px;
}

.menu-intro-section .menu-intro-body p:first-of-type {
    font-size: 22px;
    line-height: 30px;
    width: 587px;
}

.menu-intro-section .menu-intro-body p:not(:first-of-type) {
    font-size: 18px;
    line-height: 26px;
    width: 587px;
}

.menu-intro-section .menu-features-heading {
    font-family: "Sansation", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 34px;
    line-height: 30px;
    letter-spacing: 0%;
    color: #535353;
    margin-bottom: 30px;
}

.menu-intro-section .menu-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 24px;
}

.menu-intro-section .menu-feature {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 6px;
}

.menu-intro-section .menu-feature .menu-feature-icon {
    flex: 0 0 auto;
    display: flex;
}

.menu-intro-section .menu-feature .menu-feature-icon img { width: 62px; height: 53px; object-fit: contain; }

.menu-intro-section .menu-feature .menu-feature-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: "Sansation", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0%;
    color: #000;
}

.menu-intro-section .menu-feature .menu-feature-text strong {
    color: #000000;
    font-family: "Sansation", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0%;
    text-transform: uppercase;
}

.menu-intro-section .menu-intro-img-wrap img { width: 100%; object-fit: cover; }

/* ── Menu Tabs ── */

.menu-tabs-section { padding: 0 0 0px; }
.menu-tabs-section .menu-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    background: transparent;
    border-radius: 0;
    padding: 0;
    gap: 12px;
    row-gap: 12px;
}
.menu-tabs-section .menu-tabs .gallery-filter-btn {
    background: #FFFFFF;
    border: 1px solid #DFDFDF;
    padding: 12px 30px;
    color: #333;
    text-align: center;
    font-family: "Sansation", sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}
.menu-tabs-section .menu-tabs .gallery-filter-btn.active,
.menu-tabs-section .menu-tabs .gallery-filter-btn:hover {
    background: #65095B;
    border-color: #65095B;
    color: #FFFFFF;
}
/* Tabs are links to each menu's own page */
.menu-tabs-section .menu-tabs a.gallery-filter-btn {
    display: inline-block;
    text-decoration: none;
}

/* ── Menu Categories ── */

.menu-categories-section { padding: 0 0 100px; }

.menu-category-block { margin-bottom: 50px; }
.menu-category-block:last-child { margin-bottom: 0; }

.menu-category-title {
    font-family: "Marcellus";
    font-size: 40px;
    color: #000000;
    text-transform: uppercase;
    margin-bottom: 25px;
    line-height: normal;
}

.menu-items-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 80px;
}

.menu-item h6 {
    font-family: "Sansation", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #333;
    margin-bottom: 6px;
    line-height: 26px;
}

.menu-item p {
    color: #777272;
    font-size: 18px;
    line-height: 22px;
    margin: 0;
}

/* ── Event Booking ── */

.menu-event-booking-section {
    position: relative;
    padding: 100px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #1a1a1a;
}

.menu-event-booking-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(20, 5, 24, .92) 30%, rgba(101, 9, 91, .55) 100%);
}

.menu-event-booking-section .container { position: relative; z-index: 1; }

.menu-booking-text { color: #FFFFFF; }

.menu-booking-text .script {
    font-family: "BonVivant", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 60px;
    line-height: 100%;
    letter-spacing: 0%;
    display: block;
    margin-bottom: 10px;
    color: #FFFFFF;
}

.menu-booking-text h2 {
    color: #FFFFFF;
    font-family: "Marcellus";
    font-weight: 400;
    font-style: normal;
    font-size: 60px;
    line-height: 64px;
    letter-spacing: 0%;
    margin-bottom: 15px;
    width: 508px;
}
.menu-booking-text p {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 24px;
    width: 464px;
    font-size: 20px;
    line-height: 26px;
}

.menu-booking-call {
    display:none;
    color: #FFFFFF;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding-bottom: 4px;
}

.menu-booking-call:hover { border-color: #FFFFFF; }

.menu-booking-form-card {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 788px;
    padding-top: 60px;
    padding-left: 50px;
    padding-right: 50px;
    padding-bottom: 50px;
    border-radius: 0;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
}

.menu-booking-form-card .form-subtitle {
    font-family: "Sansation", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0%;
}

.menu-partners-logo {
    padding: 100px 0 100px;
    overflow: hidden;
}

/* ── Responsive – tablet 768–991 ── */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .menu-hero-section { min-height: 380px; }
    .menu-intro-section { padding: 60px 0; }
    .menu-categories-section { padding: 0 0 60px; }
    .menu-items-grid { grid-template-columns: repeat(2, 1fr); }
    .menu-event-booking-section { padding: 60px 0; }
    .menu-booking-form-card { max-width: 100%; margin-left: 0; }
}

/* ── Responsive – mobile ≤767 ── */
@media screen and (max-width: 767px) {
    .menu-hero-section { min-height: 100vh; }
    .menu-intro-section { padding: 40px 0; }

    .menu-features-grid { grid-template-columns: 1fr; gap: 20px; }

    .menu-tabs-section { padding: 0 0 40px; }
    .menu-tabs-section .menu-tabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; }
    .menu-tabs-section .menu-tabs .gallery-filter-btn {
        color: #000;
        text-align: center;
        font-family: "Sansation", sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .menu-tabs-section .menu-tabs .gallery-filter-btn.active {
        color: #FFF;
    }

    .menu-categories-section { padding: 0 0 50px; }
    .menu-category-title {
        margin-bottom: 16px;
        color: #000;
        font-family: "Marcellus";
        font-size: 26px;
        font-style: normal;
        font-weight: 400;
        line-height: 28px;
    }
    .menu-items-grid { grid-template-columns: 1fr; gap: 20px; }

    .menu-item h6 {
        font-family: "Sansation", sans-serif !important;
        font-weight: 600 !important;
        font-size: 18px !important;
        color: #333 !important;
        margin-bottom: 6px !important;
        line-height: 20px !important;
    }
    .menu-item p {
        color: #777272 !important;
        font-size: 14px !important;
        line-height: 20px !important;
        margin: 0 !important;
        font-weight: 400 !important;
    }

    .menu-event-booking-section { padding: 50px 0; }
    .menu-booking-text .script { font-size: 42px; }
    .menu-booking-text h2 { width: 308px; }
    .menu-booking-text p { width: 308px; }
    .menu-booking-form-card { max-width: 100%; margin-left: 0; padding: 24px !important;position:relative !important;border-radius:0;margin-top:30px; }
	.menu-booking-form-card .form-subtitle {
		    font-size: 14px;
    line-height: 20px;

	}
    .footer-social {
    display: none;
}
.faq-hero-section .inner-hero-content.text-center .inner-hero-sub{
    width: 300px;
}
}

/* ═══════════════════════════════════════════════════════════
   CATERING PAGE  (single-indus_catering.php)
   ═══════════════════════════════════════════════════════════ */

.catering-hero-section { min-height: 100vh; }

/* ── Ingredients Section — ported 1:1 from the reference
   _asiancatering.scss (fixed desktop px values); responsive
   overrides added separately below for tablet/mobile. ── */

.ingredients-section {
    padding: 100px 0;
    background: #fff;
}

.ingredients-section .ingredients-box {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.ingredients-section .section-item {
    align-items: center;
    margin-bottom: 90px;
}

.ingredients-section .section-item:last-child { margin-bottom: 0; }

.ingredients-section .content h4 {
    font-family: "Marcellus";
    color: #000;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 42px;
    margin-bottom: 18px;
    width: 486px;
    max-width: 100%;
}

.ingredients-section .content p {
    width: 500px;
    max-width: 100%;
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 0%;
    margin-bottom: 16px;
}

.ingredients-section .content .primary-btn { margin-top: 12px; }

.ingredients-section .image {
    position: relative;
    margin: 0 auto;
}

.ingredients-section .content-image {
    width: 100%;
    max-width: 600px;
    height: 620px;
    object-fit: cover;
    border-radius: 0;
    display: block;
    margin: 0 auto;
}

/* ── Responsive – desktop: equal-width text/image columns, consistent gap ── */
@media screen and (min-width: 992px) {
    .ingredients-section .section-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
        --bs-gutter-x: 0;
        gap: 100px;
    }
    .ingredients-section .section-item > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        flex: 0 0 calc(50% - 50px);
        max-width: calc(50% - 50px);
    }
}

/* ── Responsive – tablet 768–991 ── */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .catering-hero-section { min-height: 380px; }

    .ingredients-section { padding: 50px 0; }
    .ingredients-section .section-item { margin-bottom: 50px; flex-direction: column; }

    .ingredients-section .content { text-align: center; margin-bottom: 24px; }
    .ingredients-section .content h4 { width: auto; font-size: 24px; line-height: 30px; }
    .ingredients-section .content p { width: auto; font-size: 15px; line-height: 22px; }

    .ingredients-section .content-image { max-width: 320px; height: 280px; border-radius: 0; }
}

/* ── Responsive – mobile ≤767 ── */
@media screen and (max-width: 767px) {
    .catering-hero-section { min-height: 100vh; }

    .ingredients-section { padding: 40px 0; }
    .ingredients-section .section-item { margin-bottom: 36px; flex-direction: column; }

    .ingredients-section .content { text-align: left; margin-bottom: 70px; }
    .ingredients-section .content h4 { width: auto; font-size: 20px; line-height: 26px; margin-bottom: 10px; }
    .ingredients-section .content p { width: auto; font-size: 14px; line-height: 20px; }

    .ingredients-section .content-image { max-width: 100%; width: 100%; height: 326px; border-radius: 0; }
}

/* ═══════════════════════════════════════════════════════════
   OTHER SERVICES PAGE  (page-services.php)
   ═══════════════════════════════════════════════════════════ */

.services-hero-section { min-height: 100vh; }

.services-list-section { padding: 80px 0; }

.services-list-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 60px;
}

.services-intro-text {
    color: #333;
    font-family: "Sansation", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px; /* 144.444% */
    width: 321px;
    margin: 0;
}

.services-search-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 20px;
    padding-top: 22px;
    padding-bottom: 20px;
    padding-right: 152px;
    border-radius: 10px;
    border: 1px solid #DEDEDE;
    background: #FFF;
}

.services-search-input {
    border: 0;
    outline: 0;
    flex: 1;
    font-size: 14px;
    font-family: "Sansation", sans-serif;
    background: transparent;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 80px;
    column-gap: 35px;
}

.service-card.service-card-hidden { display: none; }

.service-card .service-card-img img {
    object-fit: cover;
    /* border-radius: 12px; */
    margin-bottom: 20px;
    width: 410px;
    height: 320px;
    max-width: 100%;
}

.service-card h4 {
    margin-bottom: 10px;
    color: #000;
    font-family: "Marcellus";
    font-size: 25px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.service-partners-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-partners-list li {
    font-size: 14px;
    color: #777272;
    margin-bottom: 6px;
}

.service-partners-list a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    color: #000;
    font-family: "Sansation", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.service-partners-list a span {
    color: #020202;
    text-decoration: none;
}

.service-partners-list a:hover { text-decoration: underline; color:#65095b;}

.service-partners-list a:hover span {
	color:#65095b;
}

.services-load-more-wrap {
    text-align: center;
    margin-top: 40px;
}

/* ── Responsive – tablet 768–991 ── */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .services-hero-section { min-height: 380px; }
    .services-list-section { padding: 50px 0; }
    .services-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

/* ── Responsive – mobile ≤767 ── */
@media screen and (max-width: 767px) {
    .services-hero-section { min-height: 100vh; }
    .services-list-section { padding: 40px 0; }
    .services-list-toolbar { flex-direction: column; align-items: stretch; }
    .services-search-wrap { min-width: 0; width: 100%; }
    .services-grid { grid-template-columns: 1fr; gap: 20px; }
    .service-card .service-card-img img { height: 200px; }
	.services-list-section .service-card .service-card-img img {
		height: 320px;
	}
}

/* ==========================================================
   VENUES PAGE
========================================================== */

.venues-hero-section {
    min-height: 100vh;
}

/* ==========================================================
   FEATURED VENUES
========================================================== */

.venues-featured-section {
    position:relative;
    padding: 70px 0;
}

.venues-featured-section::before {
	position:absolute;
	content:"";
	left:0;
	top:0;
	height: 55%;
	width:100%;
	background: #FFF0FD;
	z-index:-1;
}

.venues-featured-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 40px;
}

.venues-featured-toolbar .script {
    display: block;
    margin-bottom: -19px;
    color: #65095B;
    font-family: "BonVivant", serif;
    font-size: 60px;
    font-weight: 400;
    line-height: normal;
}

.venues-featured-toolbar h2 {
    margin: 0;
    color: #000;
    font-family: "Marcellus";
    font-size: 40px;
    font-weight: 400;
    line-height: 46px;
    max-width: 588px;
}

.venues-featured-grid {
    display: flex;
    gap: 24px;
}

.venues-featured-item {
    flex: 0 0 calc((100% - 48px) / 3);
    max-width: calc((100% - 48px) / 3);
}

.venues-featured-img-wrap {
    overflow: hidden;
    margin-bottom: 14px;
    position: relative;
}

.venues-featured-img-wrap .venue-arrow {
    position: absolute;
    left: 40%;
    bottom: 40%;
    visibility: hidden;
    z-index: 9;
    cursor: pointer;
}

.venues-featured-img-wrap .venue-arrow .animte-arrow {
	height:auto;
}
.venues-featured-item:hover .venue-arrow .animte-arrow {
	 transform: none;
}

.venues-featured-item:hover .venues-featured-img-wrap .venue-arrow {
    visibility: visible;
}

.venues-featured-item img {
    width: 100%;
    height: 508px;
    object-fit: cover;
    display: block;
    transition: .4s;
}

.venues-featured-item:hover img {
    transform: scale(1.08);
}

.venues-featured-item h4 {
    display: block;
    color: #000;
    font-family: "Marcellus";
    font-size: 25px;
    line-height: 32px;
    font-weight: 400;
    margin: 0 0 4px;
}

.venues-featured-address {
    color: #777272;
    font-size: 16px;
    margin: 0px 0px 15px 0px;
    line-height: normal;
}

.venues-featured-desc {
    color: #555;
    font-size: 14px;
    line-height: 22px;
    margin: 0 0 8px;
}

.venues-featured-capacity {
    color: #737373;
    font-family: "Sansation", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0;
}
.venues-featured-capacity span {
    font-weight: 700;
}

/* ---------- Featured Venue arrows + slider (4+ featured venues) ---------- */

.venues-featured-arrows {
    display: flex;
    gap: 10px;
}

.venues-featured-arrows .gallery-page-arrow {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(101, 9, 91, 0.3);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.venues-featured-grid.slick-initialized {
    display: block;
}

.venues-featured-grid .slick-list {
    margin: 0 -12px;
}

.venues-featured-grid .slick-slide {
    padding: 0 12px;
}

.venues-featured-grid .slick-slide .venues-featured-item {
    flex: none;
    max-width: none;
}

/* ==========================================================
   VENUE LIST
========================================================== */

.venues-list-section {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.venues-list-section>.container {
    position: relative;
    z-index: 2;
}

.venues-list-decor {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.venues-decor-shape {
    position: absolute;
}

.venues-decor-1 {
    left: 0;
    top: 0;
    width: 100%;
}

.venues-decor-2 {
    right: 0;
    top: 40%;
    width: 180px;
}

.venues-decor-3 {
    left: 8%;
    bottom: 0;
    width: 200px;
    transform: rotate(180deg);
}

.venues-list-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.venues-list-toolbar h2 {
    font-family: "Marcellus";
    font-size: 60px;
    line-height: 64px;
    margin-bottom: 10px;
}

.venues-list-toolbar p {
    max-width: 445px;
    font-size: 18px;
    line-height: 26px;
    margin: 0;
}

.venues-search-group {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.venues-search-group .services-search-wrap {
    padding-right: 20px;
    min-width: 350px;
}

.venues-search-group .services-search-input {
    border: 0;
    outline: 0;
    flex: 1;
    font-size: 16px;
    font-family: "Sansation", sans-serif;
    background: transparent;
}

.venues-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

/* Mobile slider (slider.js): the slick track needs a plain block container,
   otherwise it's squeezed into the first grid column. */
.venues-grid.slick-initialized {
    display: block;
}

.venue-card-img {
    overflow: hidden;
    margin-bottom: 15px;
	position:relative;
}

.venue-card-img img {
    width: 100%;
    height: 508px;
    object-fit: cover;
    transition: .4s;
}

.venue-card-img .animte-arrow {
	position:absolute;
	left: 40%;
    bottom: 40%;
	visibility:hidden;
	z-index:9;
	cursor: pointer;
	width: 100px;
    height: 100px;
}

.venue-card:hover img {
    transform: scale(1.08);
}

.venue-card:hover .animte-arrow{
    visibility:visible;
}

.venue-card h4 {
    font-family: "Marcellus";
    font-size: 25px;
    margin-bottom: 4px;
    line-height: normal;
}

.venue-card h4 a,
.venues-featured-item h4 a {
    color: #000;
}

.venue-address,
.venue-capacity {
    font-size: 16px;
    color: #777272;
    margin: 0 0 15px;
    line-height: normal;
}
.venue-capacity {
    color: #737373;
    font-family: "Sansation", sans-serif;
    font-weight: 400;
}
.venue-capacity span {
    font-weight: 700;
}

.venue-description {
    font-size: 14px;
    color: #555;
    line-height: 22px;
    margin: 6px 0;
}

/* ==========================================================
   DESKTOP ONLY (≥992px)
========================================================== */

@media (min-width: 992px) {
    /* Fill the column instead of a fixed 410px, so 3 columns fit on
       smaller desktops / iPad landscape (992–1199px) too. */
    .venues-featured-item img {
        width: 100%;
        height: 450px;
        object-fit: cover;
    }

    .venue-card-img img {
        width: 100%;
        height: 450px;
    }

    /* Vector-143 — top band, full width edge-to-edge */
    .venues-decor-1 {
        left: 0px;
        right: 0;
        top: 0;
        width: 100%;
        height: 850px;
    }

    /* Vector-144 — bottom right */
    .venues-decor-2 {
        left: auto;
        right: 0;
        top: auto;
        bottom: 0;
        width: 400px;
        height: 594px;
    }

    /* Vector-145 — bottom left */
    .venues-decor-3 {
        left: -69px;
        bottom: 0;
        width: 400px;
        height: 459px;
        width: 600px;
        height: 410px;
    }
}

/* ==========================================================
   TABLET
========================================================== */

@media (min-width:768px) and (max-width:991px){

    .venues-hero-section{
        min-height:380px;
    }

    .venues-featured-section{
        padding:50px 0;
    }

    .venues-featured-toolbar{
        flex-direction:column;
        align-items:flex-start;
    }

    .venues-featured-toolbar .script{
        font-size:42px;
    }

    .venues-featured-toolbar h2{
        font-size:32px;
        line-height:40px;
        max-width:100%;
    }

    .venues-featured-grid{
        display:flex;
        flex-wrap:wrap;
    }

    /* 3 across, like desktop, so 3 featured venues don't leave one alone
       on its own row. */
    .venues-featured-grid{
        gap:16px;
    }

    .venues-featured-item{
        flex:0 0 calc((100% - 32px)/3);
        max-width:calc((100% - 32px)/3);
    }

    .venues-featured-item img{
        width:100%;
        height:300px;
        object-fit:cover;
    }

    .venues-featured-item h4{
        font-size:20px;
        line-height:26px;
    }

    .venues-featured-address{
        font-size:14px;
    }

    .venues-list-section{
        padding:50px 0;
    }

    .venues-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:30px 20px;
    }

    .venue-card-img img{
        height:380px;
    }

    .venue-card h4{
        font-size:22px;
    }

    .venue-address{
        font-size:14px;
    }

}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:767px){

    .venues-hero-section{
        min-height:100vh;
    }

    .venues-featured-section{
        padding:40px 0;
    }

    .venues-featured-toolbar{
        flex-direction:column;
        align-items:flex-start;
    }

    .venues-featured-toolbar .script{
        font-size:32px;
    }

    .venues-featured-toolbar h2{
        font-size:24px;
        line-height:32px;
        max-width:100%;
    }

    .venues-featured-grid{
        display:flex;
        flex-direction:column;
    }

    .venues-featured-item{
        flex:0 0 100%;
        max-width:100%;
    }

    .venues-featured-item img{
       height: 390px;
    }

    .venues-featured-item h4{
        font-size:20px;
        line-height:28px;
    }

    .venues-list-section{
        padding:60px 0;
    }

    .venues-list-decor{
        display:none;
    }

    .venues-list-toolbar{
        flex-direction:column;
        align-items:flex-start;
    }

    .venues-list-toolbar h2{
        font-size:36px;
        line-height:42px;
    }

    .venues-list-toolbar p{
        font-size:16px;
        line-height:24px;
        max-width:100%;
    }

    .venues-search-group{
        flex-direction:column;
        width:100%;
    }

    .venues-search-group .services-search-wrap{
        width:100%;
        min-width:0;
    }

    .venues-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

}

/* Small tablets (576–767px, e.g. 600px / 712px portrait): list every venue
   2 per row, like larger tablets, instead of the phone slider. */
@media (min-width:576px) and (max-width:767px){
    .venues-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:24px 16px;
    }

    .venue-card-img img{
        height:300px;
    }

    .venue-card h4{
        font-size:20px;
    }

    .venue-address{
        font-size:14px;
    }
}

@media screen and (max-width: 767px) {
    .blog-detail-header { padding-top: 70px; }
    .blog-detail-header h1 {
        font-size: 24px;
        line-height: 32px;
    }
}
@media screen and (max-width: 767px) {
    .blog-detail-featured-img {
        margin-top: 20px;
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 767px) {
	.blog-detail-section {
		padding:0 0 50px;
	}
	
	.related-blogs-section .row-gap-20 {
		row-gap:15px;
	}
    .blog-detail-featured-img img {
        width: 315px;
        height: 240px;
    }
	.menu-intro-section .menu-features-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px 24px;
}
	.menu-intro-section .menu-feature .menu-feature-text{
		    font-size: 14px;
           line-height: 20px;
	}
	.menu-intro-section .menu-feature .menu-feature-text strong{
		    font-size: 14px;
           line-height: 20px;
	}
	.menu-intro-section .menu-features-heading {
    font-size: 20px;
    line-height: 26px;
}
	    .menu-tabs-section .menu-tabs {
        margin: 0;
    }
	
	.menu-intro-section h2 {
    width: 325px;
}
	.menu-intro-section .menu-intro-body p:not(:first-of-type) {
    font-size: 14px;
    line-height: 24px;
    width: 320px;
}
	.menu-intro-section .menu-intro-body p:first-of-type {
    font-size: 16px;
    line-height: 24px;
    width: 320px;
}
	.service-partners-list a {
		font-size:14px;
		line-height:26px;
	}
	.service-card h4 {
		font-size: 20px;
    line-height: normal;
	}
}
.services-section {
	padding:100px 0px 0px;
}
.services-section .title-content-row h2 {
	width:75%;
}

@media (min-width: 992px) {
  .services-section .title-content-row {
    align-items: flex-end;
  }
  .services-section .title-content-row h2 {
    width: 548px;
  }
  .enquiry-hero-section .inner-hero-content bdi {
    display: block;
    margin-bottom: 1px;
    color: #fff;
    font-family: "BonVivant", cursive;
    font-size: 60px;
    line-height: normal;
    text-align: left;
  }
  .enquiry-hero-section .inner-hero-content h1 {
    color: #fff;
    font-family: "Marcellus", serif;
    font-size: 60px;
    line-height: 64px;
    margin-bottom: 15px;
    text-align: left;
    width: 508px;
  }
  .enquiry-hero-section .inner-hero-content .inner-hero-sub {
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    font-family: "Sansation", sans-serif;
    margin: 0;
    text-align: left;
    width: 464px;
  }
  .enquiry-form-card {
    position: absolute;
    top: 50px !important;
    right: 0;
    width: 700px;
    background: #fff;
    z-index: 20;
    padding-top: 60px;
    padding-bottom: 50px;
    padding-left: 50px;
    padding-right: 50px;
    border-radius: 0;
  }

  .services-section .title-content-row p {
    color: #333;
    font-family: "Sansation";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
  }
}

/* ── Home page — mobile responsive fixes ── */
.about-us-section .abt-img-wrap {
    overflow: hidden;
    display: block;
    background: #fff;
    margin-top: 20px;
}
.about-us-section .part2-image {
    overflow: hidden;
    display: block;
    background: #fff;
    margin-top: 20px;
    margin-left: 27px;
}
@media screen and (max-width: 767px) {
    .about-us-section .middle-image {
        bottom: 0;
        -o-object-fit: contain;
        object-fit: contain;
        width: 144px;
        height: 143px;
        left: 22%;
    }
    .about-us-section .part2-image {
        padding-top: 0px;
    }
    .about-us-section h2 {
        width: 300px !important;
        font-size: 22px !important;
        line-height: 28px !important;
        margin-bottom: 8px;
    }
    .about-us-section p {
        font-size: 14px;
        line-height: 20px;
        width: 309px;
    }
    .services-section .title-content-row {
        margin-bottom: 20px;
    }
    .services-section .service-image-container .main-text-content p {
        color: #fff;
        margin-bottom: 20px;
        margin-top: 6px;
    }
    .why-choose-section {
        padding: 50px 0px 50px;
    }
    .why-choose-section h2 {
        margin-bottom: 8px;
    }
    .why-choose-section p {
        margin-bottom: 25px;
        width: 309px;
    }
    .why-choose-section .whychoose-point h4 {
        color: #333;
        font-size: 18px;
        line-height: normal;
        font-family: "Marcellus";
        font-style: normal;
        font-weight: 400;
        margin-bottom: 8px;
    }
    .why-choose-section .whychoose-point p {
        margin-bottom: 0;
        font-size: 14px;
        line-height: 18px;
        padding-right: 31px;
    }
    .gallery-section .main-row h2 {
        margin-bottom: 8px;
        color: #FFF;
        font-family: Marcellus;
        font-size: 22px !important;
        font-style: normal;
        font-weight: 400;
        line-height: 28px !important;
    }
    .gallery-section .view-gallery-btn {
        display: inline-flex !important;
        margin-top: 25px;
        height: 40px;
        padding: 16px 30px;
        align-items: center;
        gap: 10px;
        color: #65095B;
        text-align: right;
        font-family: Sansation;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    a.view-gallery-btn.arrow-animate.d-md-none.d-inline-flex {
        display: none !important;
    }
    .testimonials-section {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .testimonials-section .testimonial-slider {
        margin-top: 20px;
    }
    .partners-logo {
        padding-bottom: 50px;
        padding-top: 50px;
    }
    .blogs-section .blogs-slider {
        margin-top: 20px;
    }
    h2.blog-heading {
        margin-bottom: 8px;
    }
}

/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE – MOBILE + TABLET (≤991px) (matches Figma "Mobile – Contact Us", 375px frame)
   Hero image is only 432px tall; the Get in Touch card overlaps it by 20px;
   the "We're here to help" info block sits below the card on the white page,
   then the 400px map. Kept last in the file so it wins over earlier rules.
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width: 991px) {

    /* Hero: image + overlay cover only the top 432px, the card + info sit on white */
    .contact-hero-section {
        min-height: 0;
        height: auto;
        display: block;
        padding: 0;
        background-color: #fff;
        background-size: 100% 432px;
        background-position: center top;
        background-repeat: no-repeat;
    }
    .contact-hero-section::before {
        inset: 0 0 auto 0;
        height: 432px;
        background: rgba(0, 0, 0, 0.6);
    }
    .contact-hero-section .inner-hero-content {
        padding: 199px 30px 60px !important;
        height: auto;
        max-width: 100%;
    }
    .contact-hero-section .inner-hero-content bdi {
        font-family: "BonVivant", cursive;
        font-size: 40px;
        line-height: 77px;
        margin: 0 0 -21px;
        text-align: center;
    }
    .contact-hero-section .inner-hero-content h1 {
        font-family: "Marcellus", serif;
        font-size: 24px;
        line-height: 28px;
        margin: 0 0 6px;
        text-align: center;
    }
    .contact-hero-section .inner-hero-content.text-center .inner-hero-sub {
        width: 314px;
        max-width: 100%;
        font-size: 14px !important;
        line-height: 18px !important;
    }

    /* Card wrap: 315px wide, overlaps the hero by 20px */
    .contact-hero-section .contact-card-wrap.container {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin: -20px 0 0;
        padding-left: 30px;
        padding-right: 30px;
        z-index: 3;
    }
    .contact-card {
        background: transparent;
        box-shadow: none;
        border-radius: 0;
        overflow: visible;
    }
    .contact-card > .row {
        flex-direction: column;
    }

    /* Form first (white card with shadow), info second */
    .contact-form-col {
        order: 1;
        background: #fff;
        box-shadow: 0 4px 110px rgba(0, 0, 0, 0.15);
        padding: 40px 25px 30px;
    }
    .contact-info-col {
        order: 2;
        background: transparent;
        padding: 40px 0;
    }

    .contact-form-col h3 {
        font-size: 26px;
        line-height: 32px;
        margin-bottom: 2px;
    }
    .contact-form-col > p {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 30px;
    }

    /* Form fields: 14px grey labels, 1px grey underline, 30px between rows */
    .contact-form-col .indus-form .g-3,
    .contact-form-col .indus-form .gy-3,
    .contact-form-col .indus-form .row {
        --bs-gutter-y: 30px;
    }
    .contact-form-col .indus-form input[type="text"],
    .contact-form-col .indus-form input[type="tel"],
    .contact-form-col .indus-form input[type="email"],
    .contact-form-col .indus-form select,
    .contact-form-col .indus-form textarea {
        font-size: 14px;
        line-height: 16px;
        padding: 0 0 10px;
        border-bottom: 1px solid #8E8E8E;
    }
    .contact-form-col .indus-form input::placeholder,
    .contact-form-col .indus-form textarea::placeholder {
        color: #8E8E8E;
        font-size: 14px;
        line-height: 16px;
    }
    .contact-form-col .indus-form textarea {
        height: 47px;
        min-height: 47px;
        line-height: 18px;
        resize: none;
    }
    .contact-form-col .indus-form .phone-input {
        padding: 0 0 10px;
        border-bottom: 1px solid #8E8E8E;
    }
    /* The wrapper above already draws the underline — the number input inside
       must not draw a second one. */
    .contact-form-col .indus-form .phone-input input,
    .contact-form-col .indus-form .phone-input input[type] {
        border-bottom: none;
        padding: 0;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .contact-form-col .indus-form .checkbox-label .wpcf7-list-item-label,
    .contact-form-col .indus-form .checkbox-label > span {
        color: #333;
        font-size: 14px;
        line-height: 20px;
    }
    .contact-form-col .indus-form .checkbox-label a {
        color: #65095B;
        font-size: 14px;
        line-height: 20px;
        text-decoration: underline;
    }
    .contact-form-col .indus-form input.wpcf7-submit {
        width: 224px;
        height: 40px;
        margin-top: 10px;
        padding: 0 46px 0 20px;
        border-radius: 160px;
        background-color: #65095B;
        background-position: right 24px center;
        font-size: 14px;
        text-align: center;
    }

    /* Info block below the card */
    .contact-info-col h3 {
        width: 265px;
        max-width: 100%;
        margin-bottom: 6px;
        font-size: 18px;
        line-height: 23px;
    }
    .contact-info-col > p {
        width: 100%;
        margin-bottom: 0;
        font-size: 14px;
        line-height: 20px;
    }
    .contact-info-block {
        gap: 10px;
        margin: 25px 0 0;
    }
    .contact-info-block h4 {
        margin-bottom: 4px;
        font-size: 18px;
        line-height: 23px;
    }
    .contact-info-block p,
    .contact-info-block a {
        font-size: 14px;
        line-height: 20px;
    }
    .contact-info-icon {
        width: 40px;
        height: 40px;
        background: #F3E2F1;
    }

    /* Map: full width, 400px tall */
    .contact-map-section {
        margin-top: 0;
    }
    .contact-map-section iframe {
        width: 100%;
        height: 400px;
    }
}


/* ═══════════════════════════════════════════════════════════
   BOOKING PAGE – MOBILE + TABLET (≤991px) (matches Figma "Mobile – Booking", 375px frame)
   Hero image 432px; the form card overlaps it by 20px; the pink "Why Choose
   Us" section starts 70px above the card's bottom edge. Kept last in the file
   so it wins over the earlier booking rules.
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width: 991px) {

    /* Hero: image + overlay only cover the top 432px */
    .booking-hero-section {
        min-height: 0;
        height: auto;
        display: block;
        padding: 0;
        overflow: visible;
        background-color: #fff;
        background-size: 100% 432px;
        background-position: center top;
        background-repeat: no-repeat;
    }
    .booking-hero-section::before {
        inset: 0 0 auto 0;
        height: 432px;
        background: rgba(0, 0, 0, 0.6);
    }
    .booking-hero-overlay {
        inset: 0 0 auto 0;
        height: 432px;
    }
    .booking-hero-section .container {
        padding: 0;
        max-width: 100%;
    }
    .booking-hero-section .row {
        margin: 0;
    }
    .booking-hero-section .row > * {
        padding: 0;
    }
    .booking-hero-section .booking-hero-content {
        padding: 199px 30px 60px;
        text-align: center;
    }
    .booking-hero-section .booking-hero-content bdi {
        font-family: "BonVivant", cursive;
        font-size: 40px;
        line-height: 77px;
        margin: 0 0 -21px;
        text-align: center;
    }
    .booking-hero-section .booking-hero-content h1 {
        font-family: "Marcellus", serif;
        font-size: 24px;
        line-height: 28px;
        margin: 0 0 6px;
        text-align: center;
    }
    .booking-hero-section .booking-hero-content p {
        width: 302px;
        max-width: 100%;
        margin: 0 auto;
        font-size: 14px;
        line-height: 18px;
        text-align: center;
    }

    /* Form card: 315px wide, overlaps the hero by 20px */
    .booking-hero-section .booking-form-col {
        position: relative !important;
        z-index: 30;
        margin-top: -20px;
        padding: 0 30px;
    }
    .booking-form-card {
        position: relative;
        top: auto !important;
        left: auto;
        right: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 40px 25px 30px;
        border-radius: 0;
        box-shadow: 0 4px 110px rgba(0, 0, 0, 0.10);
        z-index: 30;
    }
    .booking-form-card h3 {
        font-size: 26px;
        line-height: 32px;
        margin-bottom: 2px;
    }
    .booking-form-card .form-subtitle {
        width: 240px;
        max-width: 100%;
        color: #333;
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 30px;
    }

    /* Fields: single column, 14px grey labels, 1px grey underline, 30px rows */
    .booking-form-card .indus-form .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 30px;
    }
    .booking-form-card .indus-form .row > [class*="col"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    .booking-form-card .indus-form .form-control,
    .booking-form-card .indus-form .form-select {
        height: 27px;
        padding: 0 0 10px;
        font-size: 14px;
        line-height: 16px;
        border-bottom: 1px solid #8E8E8E;
    }
    .booking-form-card .indus-form .form-control::placeholder,
    .booking-form-card .indus-form .form-select::placeholder {
        color: #8E8E8E;
        font-size: 14px;
    }
    .booking-form-card .indus-form textarea.form-control {
        height: 47px;
        min-height: 47px;
        line-height: 18px;
        resize: none;
    }
    .booking-form-card .indus-form .phone-group {
        height: 27px;
        gap: 8px;
    }
    .booking-form-card .indus-form .phone-group .form-control {
        height: 27px;
        width: 100%;
        min-width: 0;
        font-size: 14px;
    }
    .booking-form-card .indus-form .form-check label {
        margin-top: 15px;
    }
    .booking-form-card .indus-form .form-check .wpcf7-list-item-label {
        color: #333;
        font-size: 14px;
        line-height: 20px;
    }
    .booking-form-card .indus-form .primary-btn,
    .booking-form-card .indus-form input.wpcf7-submit {
        width: 224px;
        height: 40px;
        margin-top: 30px;
        padding: 0 46px 0 20px;
        border-radius: 160px;
        font-size: 16px;
        line-height: 18px;
        text-align: center;
        background-position: right 24px center;
    }

    /* Why Choose Us: pink section tucks 70px under the card */
    .booking-why-choose-section {
        margin-top: -70px;
        padding: 120px 0px 40px;
        background: #FFF0FD;
    }
    .booking-why-choose-section .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
        margin: 0;
    }
    .booking-why-choose-section .row > * {
        padding: 0;
        margin-top: 0;
    }
    .booking-why-choose-section .row > *:first-child {
        display: none;
    }
    .booking-why-choose-section bdi {
        font-size: 42px;
        line-height: 81px;
        margin: 0 0 0px;
    }
    header .nav-links-container .dropdown .wht-box p{
        display: none;
    }
    .booking-why-choose-section h2 {
        width: 100%;
        font-size: 22px;
        line-height: 28px;
        margin-bottom: 8px;
    }
    .booking-why-choose-section .content-wrapper > p {
        width: 309px;
        max-width: 100%;
        color: #333;
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 25px;
    }
    .booking-why-choose-section .feature-list {
        gap: 20px;
    }
    .booking-why-choose-section .feature-item {
        display: flex;
        align-items: flex-start;
        gap: 8px;
    }
    .booking-why-choose-section .feature-item .number {
        display: none;
    }
    .booking-why-choose-section .feature-item::before {
        content: "";
        flex: 0 0 22px;
        width: 22px;
        height: 22px;
        background: url("../images/feature-check-icon.svg") no-repeat center / contain;
    }
    .booking-why-choose-section .feature-content h6 {
        color: #333;
        font-size: 18px;
        line-height: 23px;
        margin-bottom: 8px;
    }
    .booking-why-choose-section .feature-content p {
        color: #333;
        font-size: 14px;
        line-height: 18px;
        padding-right: 0;
        margin: 0;
    }
    .booking-why-choose-section .primary-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 165px;
        height: 40px;
        margin-top: 30px;
        padding: 0;
        font-size: 16px;
        line-height: 18px;
    }
}


/* ═══════════════════════════════════════════════════════════
   BLOG LISTING – MOBILE + TABLET (≤991px) (matches Figma "Mobile – Blogs", 375px frame)
   Kept last in the file so it wins over the earlier blog rules.
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width: 991px) {

    /* Hero: 432px, content starts 209px from the top */
    .blog-hero-section {
        min-height: 432px;
        align-items: flex-start;
    }
    .blog-hero-section::before {
        background: rgba(0, 0, 0, 0.6);
    }
    .blog-hero-section .inner-hero-content {
        padding: 209px 30px 50px;
        height: auto;
    }
    .blog-hero-section .inner-hero-content bdi {
        font-family: "BonVivant", cursive;
        font-size: 40px;
        line-height: 77px;
        margin: 0 0 -20px;
        text-align: center;
    }
    .blog-hero-section .inner-hero-content h1 {
        font-family: "Marcellus", serif;
        font-size: 24px;
        line-height: 28px;
        margin: 0 0 6px;
        text-align: center;
    }
    .blog-hero-section .inner-hero-content.text-center .inner-hero-sub {
        width: 302px;
        max-width: 100%;
        margin: 0 auto !important;
        font-size: 14px !important;
        line-height: 18px !important;
        text-align: center;
    }

    /* Toolbar: "30 Articles" then the category select */
    .blog-listing-section {
        padding: 30px 0 60px;
    }
    .blog-listing-section .container {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }
    .blog-listing-toolbar {
        display: block;
        margin-bottom: 30px;
    }
    .blog-articles-count {
        display: block;
        margin-bottom: 25px;
        font-size: 20px;
        line-height: 25px;
    }
    .blog-category-select-wrap {
        width: 100%;
        margin-top: 0;
    }
    .blog-category-select {
        padding: 0 22px 10px 0;
        border-bottom: 1px solid #8E8E8E;
        font-size: 14px;
        line-height: 16px;
        color: #333;
        background-size: 10px 5px;
    }

    /* Cards: one column, 315px wide, 300px image, 40px between cards */
    .blog-listing-grid {
        grid-template-columns: 1fr;
        gap: 40px 0;
    }
    .blog-listing-grid .blog-card .image-wrap img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        object-fit: fill;
        margin-bottom: 10px;
    }
    .blog-listing-grid .blog-card > span {
        margin-bottom: 8px;
        font-size: 13px;
        line-height: 15px;
    }
    .blog-listing-grid .blog-card > span .blog-card-sep {
        font-size: 13px;
        line-height: 15px;
    }
    .blog-listing-grid .blog-card > h6 {
        width: 100%;
        margin: 0;
        font-size: 18px;
        line-height: 23px;
    }
    .blog-pagination {
        margin-top: 50px;
    }
}


/* ═══════════════════════════════════════════════════════════
   CONTACT / BOOKING / BLOG LISTING – TABLET refinements (768–991px)
   The mobile layout above is reused up to 991px; here it is centred with a
   width cap so it doesn't stretch edge to edge on a tablet, and the blog
   cards go two per row.
   ═══════════════════════════════════════════════════════════ */
@media screen and (min-width: 768px) and (max-width: 991px) {

    /* Contact */
    .contact-hero-section .contact-card-wrap.container {
        max-width: 740px;
        margin: -20px auto 0;
    }
    .contact-hero-section .inner-hero-content.text-center .inner-hero-sub {
        width: 520px;
        font-size: 16px !important;
        line-height: 22px !important;
    }

    /* Booking */
    .booking-hero-section .booking-form-col {
        max-width: 740px;
        margin: -20px auto 0;
    }
    .booking-hero-section .booking-hero-content p {
        width: 520px;
        font-size: 16px;
        line-height: 22px;
    }
    .booking-why-choose-section .container {
        max-width: 680px;
        margin: 0 auto;
        padding: 0;
    }

    /* Blog listing: two cards per row */
    .blog-hero-section .inner-hero-content.text-center .inner-hero-sub {
        width: 520px;
        font-size: 16px !important;
        line-height: 22px !important;
    }
    .blog-listing-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 24px;
    }
}


/* ═══════════════════════════════════════════════════════════
   MOBILE MENU – logo / close button stay on a solid bar
   The open off-canvas menu scrolls, but the logo and the X sit above it with
   no background, so scrolled items slid underneath them and overlapped.
   This paints a purple bar behind the logo + X (above the scrolling list,
   below the logo/X themselves) while the menu is open.
   ═══════════════════════════════════════════════════════════ */
@media only screen and (max-width: 1024px) {
    header nav.nav-active::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 130px;
        background: #65095B;
        z-index: 10000;
        pointer-events: none;
    }
}


/* ═══════════════════════════════════════════════════════════
   ABOUT PAGE – MOBILE + TABLET (≤991px) (matches Figma "Mobile – About Us", 375px frame)
   Kept last in the file so it wins over the earlier About rules.
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width: 991px) {

    /* Hero: 432px, content starts 209px from the top */
    .about-hero-section {
        min-height: 432px;
        align-items: flex-start;
    }
    .about-hero-section::before {
        background: rgba(0, 0, 0, 0.6);
    }
    .about-hero-content {
        padding: 209px 30px 50px;
        max-width: 100%;
    }
    .about-hero-content bdi {
        font-family: "BonVivant", cursive;
        font-size: 40px;
        line-height: 77px;
        margin: 0 0 -20px !important;
        text-align: center;
    }
    .about-hero-content h1 {
        font-family: "Marcellus", serif;
        font-size: 24px;
        line-height: 28px;
        margin: 0 0 6px;
        text-align: center;
    }
    .about-hero-content .about-hero-sub {
        width: 314px;
        max-width: 100%;
        margin: 0 auto !important;
        color: #fff !important;
        font-size: 14px !important;
        line-height: 18px !important;
    }

    /* About content: heading, subtitle, two paragraphs, 20+ Experience, image */
    .about-page-content {
        padding: 30px 0 0;
    }
    .about-page-content .container {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about-page-content .row {
        display: block;
        margin: 0;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }
    .about-page-content .row > * {
        padding: 0;
        margin-top: 0;
    }
    .about-page-content h2 {
        width: 259px !important;
        max-width: 100%;
        font-size: 22px !important;
        line-height: 28px !important;
        margin: 0 0 8px !important;
    }
    .about-page-content .about-content-subtitle {
        width: 100%;
        font-size: 14px !important;
        line-height: 20px !important;
        margin: 0 0 12px !important;
    }
    .about-page-content .about-body-text {
        max-width: 100%;
        margin-bottom: 0;
    }
    .about-page-content .about-body-text p {
        width: 100%;
        font-size: 14px;
        line-height: 20px;
        margin: 0;
    }
    .about-page-content .about-body-text p + p {
        margin-top: 12px;
    }
    .about-page-content .experience-stat {
        margin-top: 20px;
    }
    .about-page-content .stat-number {
        font-size: 54px;
        line-height: 68px;
    }
    .about-page-content .stat-label {
        margin-top: -5px;
        font-family: "Sansation", sans-serif;
        font-size: 20px;
        line-height: 22px;
    }
    .about-page-content .about-content-img-wrap {
        height: auto;
        margin: 25px 0 0;
        order: 0;
    }
    .about-page-content .about-content-img {
        width: 100%;
        height: 280px;
        min-height: 0;
        aspect-ratio: auto;
        object-fit: cover;
    }

    /* Vision & Mission: stacked, centred */
    .vision-mission-section {
        padding: 50px 0 0;
    }
    .vision-mission-section .container {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }
    .vision-mission-row {
        display: block;
        margin: 0;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }
    .vision-mission-row > * {
        padding: 0;
        margin: 0;
    }
    .vision-mission-section .vm-col {
        padding: 0;
        margin: 0;
    }
    .vision-mission-section .vm-icon-wrap {
        width: 50px;
        height: 50px;
        margin: 0 0 8px;
        border-color: #A37C47;
    }
    .vision-mission-section .vm-icon-wrap svg {
        width: 28px;
        height: auto;
    }
    .vision-mission-section .vm-title {
        font-size: 54px;
        line-height: 68px;
        letter-spacing: 0;
        margin: 0;
    }
    .vision-mission-section .vm-col p {
        max-width: 306px;
        margin: 0 auto;
        color: #000 !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }
    .vision-mission-section .vm-center-col {
        margin: 31px 0 30px;
    }
    .vm-orbital-wrap {
        width: 302px;
        height: 302px;
        margin: 0 auto;
    }
    .vm-center-img {
        inset: 28px;
        width: calc(100% - 56px);
        height: calc(100% - 56px);
    }
    .vm-dot {
        width: 12px;
        height: 12px;
        background: #A31193;
    }
    .vm-dot-left  { left: -6px; }
    .vm-dot-right { right: -6px; }
    .vm-dot-top   { top: -6px; }

    /* Our Works */
    .our-works-section {
        padding: 50px 0 0;
    }
    .our-works-section .container {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }
    .works-script {
        font-size: 42px;
        line-height: 81px;
        margin: 0 0 -21px;
    }
    .our-works-section h2 {
        max-width: 300px;
        margin: 0 auto 8px;
        font-size: 22px !important;
        line-height: 28px !important;
    }
    .our-works-section .container p {
        max-width: 309px;
        color: #333 !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }
    .our-works-section .works-video-wrap {
        width: 100%;
        height: 182px;
        margin: 20px auto 0;
        padding-left: 30px;
        padding-right: 30px;
    }
    .works-video {
        height: 182px;
    }
    .works-play-overlay {
        position: absolute;
        inset: 0;
        left: 0;
        width: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .works-play-btn svg {
        width: 50px;
        height: 50px;
    }
    .works-play-btn svg circle {
        fill: rgba(0, 0, 0, 0.1);
    }
}

/* Tablet: keep the single-column mobile layout centred with a width cap */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .about-page-content .container,
    .vision-mission-section .container,
    .our-works-section .container {
        max-width: 680px;
    }
    .our-works-section .works-video-wrap {
        max-width: 680px;
        height: 340px;
    }
    .our-works-section .works-video {
        height: 340px;
    }
}


/* ═══════════════════════════════════════════════════════════
   TRUSTED PARTNERS – TABLET (768–991px)
   Rows of 4 logos kept desktop spacing (80px gaps + natural logo widths),
   which is wider than a tablet, so both ends were clipped. Smaller gaps, and
   each logo may shrink to a quarter of the row (minus the gaps).
   ═══════════════════════════════════════════════════════════ */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .partners-logo .row.logos > [class*="col-"] {
        max-width: 100%;
    }
    .partners-logo .partners-logo-images {
        max-width: 100%;
        padding: 0 30px;
        gap: 24px;
    }
    .partners-logo .partners-logo-row {
        flex-wrap: nowrap;
        gap: 24px;
    }
    .partners-logo .partners-logo-images img {
        flex: 0 1 auto;
        min-width: 0;
        width: auto;
        max-width: calc((100% - 72px) / 4);
        max-height: 70px;
        height: auto;
        object-fit: contain;
    }
    .partners-logo h3 {
        padding: 0 30px;
    }
}


/* ═══════════════════════════════════════════════════════════
   HOME PAGE – MOBILE refinements (from Figma "Mobile – Home", 375px frame)
   The homepage already had a mobile pass; these are the values that
   differed from the design: hero badge line height and the Services slider
   (350px image; title / text / button sized and placed as in Figma).
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width: 767px) {

    /* Hero badge: script 24px on a 46px line, heading sits right under it */
    .home-video-section .main-text-container .best {
        line-height: 46px;
    }

    /* Services slider */
    .services-section .service-image-container .service img {
        width: 100%;
        height: 350px;
        object-fit: cover;
    }
    .services-section .service-image-container .main-text-content {
        left: 0;
        bottom: 63px;
    }
    .services-section .service-image-container .main-text-content .container {
        padding-left: 30px;
        padding-right: 30px;
    }
    .services-section .service-image-container .main-text-content .row {
        padding-right: 0;
        --bs-gutter-x: 0;
    }
    .services-section .service-image-container .main-text-content .row > * {
        padding: 0;
    }
    .services-section .service-image-container .main-text-content span {
        font-size: 22px;
        line-height: 28px;
    }
    .services-section .service-image-container .main-text-content p {
        margin: 6px 0 20px;
        font-size: 14px;
        line-height: 20px;
    }
    .services-section .service-image-container .main-text-content .primary-outline-btn {
        justify-content: center;
        width: 140px;
        height: 40px;
        padding: 0;
        font-size: 16px;
        line-height: 18px;
    }
}

/* ── Testimonials: equal-height cards ─────────────────────────────────────────
   Every card in the slider (desktop .slider-nav and mobile .testimonial-slide)
   stretches to the tallest card in the row, and the name/location sits at
   the bottom of each card, instead of each card being as tall as its text. */
.testimonials-section .testimonial-slider .slick-track {
    display: flex !important;
    align-items: stretch !important;
}
.testimonials-section .testimonial-slider .slick-slide {
    height: auto;
    display: flex !important;
}
.testimonials-section .testimonial-slider .slick-slide > div {
    display: flex;
    width: 100%;
}
.testimonials-section .testimonial-slider .card {
    display: flex !important;
    flex-direction: column;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.testimonials-section .testimonial-slider .card .card-body {
    flex: 1 0 auto;
}
.testimonials-section .testimonial-slider .video-card {
    display: flex !important;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.testimonials-section .testimonial-slider .video-card img {
    height: auto !important;
    min-height: 418px;
    flex: 1 1 auto;
}
