@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.animate-fade-in {
animation: fadeIn 0.8s ease-in-out forwards;
}

.animation-delay-500 {
animation-delay: 0.5s;
}

.animation-delay-1000 {
animation-delay: 1s;
}

/* Light theme styles */
.light .bg-class {
background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 245, 245, 0.95) 100%);
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.light .service-card {
background: #ffffff;
border: 1px solid #e2e8f0;
}

.light .content-box {
background: #ffffff;
}

.light .service-card::before {
background: linear-gradient(45deg, #FFD700, #FFC107, #FF9800);
}

.light .portfolio-card {
background: #ffffff;
border: 1px solid #e2e8f0;
}

.light .review-card {
background: #ffffff;
border: 1px solid #e2e8f0;
}

.light .about-card {
background: #ffffff;
}

.light .team-card {
background: #ffffff;
border: 1px solid #e2e8f0;
}

/* Dark theme styles */
.dark .bg-class {
background: linear-gradient(135deg, rgba(0, 0, 0, 0.95) 0%, rgba(15, 15, 15, 0.95) 100%);
border-bottom: 1px solid rgba(255, 215, 0, 0.2);
box-shadow: 0 4px 20px rgba(255, 215, 0, 0.08);
}

/* services styles */
.service-card {
position: relative;
border-radius: 1rem;
background: #111;
border: 2px solid transparent;
overflow: hidden;
transition: transform 0.3s ease;
}

.service-card::before {
content: "";
position: absolute;
inset: -2px;
border-radius: inherit;
padding: 3px;
background: linear-gradient(45deg, #FFD700, #FFC107, #FF9800);
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: destination-out;
mask-composite: exclude;
opacity: 0;
transition: opacity 0.3s ease;
}

.service-card:hover::before {
opacity: 1;
}

.content-box {
position: relative;
border-bottom: 3px solid transparent;
transition: border 0.4s ease;
}

.group:hover .content-box {
border-image-slice: 1;
border-image-source: linear-gradient(90deg, #FFD700, #FFC107, #FF9800);
}

/* Theme switch */
.theme-switch {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
transition: all 0.3s ease;
cursor: pointer;
}

.theme-switch:hover {
transform: rotate(15deg);
}

.theme-icon {
font-size: 1.2rem;
}

/* Mobile menu */
.mobile-menu-btn {
display: none;
}

@media (max-width: 1023px) {
.desktop-menu {
display: none;
}
.mobile-menu-btn {
display: block;
}
}

/* Smooth scrolling */
html {
scroll-behavior: smooth;
}

/* Logo */
.logo {
height: 70px;
transition: transform 0.3s ease;
}

.logo:hover {
transform: scale(1.05);
}

/* Video Play Button */
.video-container {
position: relative;
display: inline-block;
cursor: pointer;
}

.video-play-button {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80px;
height: 80px;
background: rgba(255, 193, 7, 0.8);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
z-index: 10;
}

.video-play-button:hover {
background: rgba(255, 193, 7, 1);
transform: translate(-50%, -50%) scale(1.1);
}

.video-play-button::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
border: 2px solid rgba(255, 193, 7, 0.8);
animation: pulse 2s infinite;
z-index: -1;
}

.video-play-button i {
color: white;
font-size: 30px;
margin-left: 5px;
}

@keyframes pulse {
0% {
transform: scale(1);
opacity: 1;
}
70% {
transform: scale(1.5);
opacity: 0;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}

/* Video Modal */
.video-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
z-index: 1000;
align-items: center;
justify-content: center;
}

.modal-content {
position: relative;
width: 90%;
max-width: 900px;
background: #111;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 0 30px rgba(255, 193, 7, 0.3);
}

.close-button {
position: absolute;
top: 15px;
right: 15px;
font-size: 30px;
color: white;
cursor: pointer;
z-index: 100;
transition: all 0.3s ease;
background: rgba(0, 0, 0, 0.5);
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}

.close-button:hover {
color: #FFC107;
transform: rotate(90deg);
}

.video-iframe {
width: 100%;
height: 500px;
border: none;
}

@media (max-width: 768px) {
.video-iframe {
height: 300px;
}
}

.modal-title {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
background: linear-gradient(transparent, rgba(0,0,0,0.8));
color: white;
padding: 20px;
text-align: center;
font-size: 1.5rem;
font-weight: 600;
}

.tour-section {

padding: 80px 0;
position: relative;
overflow: hidden;
}

.tour-section::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
radial-gradient(circle at 20% 30%, rgba(255, 193, 7, 0.1) 0%, transparent 40%),
radial-gradient(circle at 80% 70%, rgba(255, 152, 0, 0.1) 0%, transparent 40%);
pointer-events: none;
}

.process-steps {
display: flex;
justify-content: space-between;
margin-top: 50px;
flex-wrap: wrap;
}

.process-step {
flex: 0 0 calc(25% - 20px);
text-align: center;
position: relative;
padding: 20px;
background: rgba(255, 255, 255, 0.05);
border-radius: 10px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 193, 7, 0.2);
margin-bottom: 20px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.process-step:hover {
transform: translateY(-10px);
box-shadow: 0 10px 25px rgba(255, 193, 7, 0.2);
border-color: rgba(255, 193, 7, 0.5);
}

.step-number {
display: inline-block;
width: 40px;
height: 40px;
background: #FFC107;
color: #0a0a0a;
border-radius: 50%;
line-height: 40px;
font-weight: 700;
margin-bottom: 15px;
}

.process-step h3 {
color: #FFC107;
margin-bottom: 10px;
font-weight: bold;
}
.desktop-menu a.active
{
color: #FFC107 !important;

}
.process-step p {
/* color: #ddd;
font-size: 0.9rem; */
}

/* start ckeditor */

/* CKEditor output skin (no Tailwind build required) */
.ckeditor-content {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
               Arial, "Noto Sans", "Liberation Sans", sans-serif;
  line-height: 1.625;
  color: #1f2937; /* gray-800 */
}

/* Headings */
.ckeditor-content h1,
.ckeditor-content h2,
.ckeditor-content h3,
.ckeditor-content h4,
.ckeditor-content h5,
.ckeditor-content h6 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
  color: #111827; /* gray-900 */
}
.ckeditor-content h1 { font-size: 1.875rem; line-height: 2.25rem; }
.ckeditor-content h2 { font-size: 1.5rem;   line-height: 2rem; }
.ckeditor-content h3 { font-size: 1.25rem;  line-height: 1.75rem; }

/* Paragraphs */
.ckeditor-content p { margin-bottom: 1rem; }

/* Blockquotes */
.ckeditor-content blockquote {
  padding: 1rem;
  margin: 0 0 1rem;
  border-left: 4px solid #e5e7eb; /* gray-200 */
  background-color: #f9fafb;      /* gray-50 */
  font-style: italic;
}

/* Tables */
.ckeditor-content table {
  width: 100%;
  margin-bottom: 1rem;
  border: 1px solid #d1d5db; /* gray-300 */
  border-collapse: collapse;
  font-size: 0.875rem;       /* text-sm */
}
.ckeditor-content th,
.ckeditor-content td {
  padding: 0.5rem 0.75rem;  /* py-2 px-3 */
  border: 1px solid #d1d5db;
  text-align: left;
}
.ckeditor-content th {
  background-color: #f3f4f6; /* gray-100 */
  font-weight: 600;
}

/* Lists */
.ckeditor-content ul,
.ckeditor-content ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem; /* pl-6 */
}
.ckeditor-content li { margin-bottom: 0.5rem; }

/* Images */
.ckeditor-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem;
  max-height: 300px;
  object-fit: contain;
}

/* Image alignment helpers (CKEditor classes) */
.ckeditor-content img.align-right,
.ckeditor-content .image.image-style-side img {
  float: right;
  margin: 0 0 1rem 1rem;
  max-width: 50%;
}
.ckeditor-content img.align-left {
  float: left;
  margin: 0 1rem 1rem 0;
  max-width: 50%;
}
.ckeditor-content img.align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}
.ckeditor-content img.align-full {
  width: 100%;
}

/* Media / iframes */
.ckeditor-content figure.media {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1rem 0;
}
.ckeditor-content iframe {
  width: 70%;
  max-width: 100%;
  height: 400px;
  border: 0;
}

/* Clear floats */
.ckeditor-content::after {
  content: "";
  display: table;
  clear: both;
}

/* Links — always yellow highlighted */
.ckeditor-content a {
  color: #1956db;             /* gray-900 for contrast */
  text-decoration: underline;
  font-weight: 500;
  padding: 0 0.125rem;        /* subtle padding like a marker swipe */
  border-radius: 0.125rem;
}
.ckeditor-content a:hover {
  background-color: #fde68a;  /* yellow-300 */
}
.ckeditor-content a:focus {
  outline: 2px dashed #f59e0b; /* amber-500 */
  outline-offset: 2px;
}

/* Lists */
.ckeditor-content ul {
  list-style-type: disc;       /* bullets */
  list-style-position: outside;
  margin-bottom: 1rem;
  padding-left: 1.5rem;        /* indent */
}

.ckeditor-content ol {
  list-style-type: decimal;    /* numbers */
  list-style-position: outside;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.ckeditor-content li {
  margin-bottom: 0.5rem;
}


/* end ckeditor */




@media (max-width: 768px) {
.process-step {
flex: 0 0 calc(50% - 20px);
}
}

@media (max-width: 480px) {
.process-step {
flex: 0 0 100%;
}
}

