/* ==============================
   ShowMyBiz - Main Styles
   ============================== */

/* ==============================
   AUTH PAGE (Login + Signup)
   ============================== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
html {
    font-size: 90%;
}

@media (max-width: 768px) {
    html { font-size: 100%; }
}

.auth-container {
  display: flex;
  height: 100vh;
  overflow: hidden;
  background: linear-gradient(90deg, #e5c9ff 45%, #ffffff 45%);
}

/* LEFT: Form Section */
.auth-form-section {
  flex: 0.5;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #d8b4fe, #fbcfe8);
}

/* RIGHT: Image Section */
.auth-image-section {
  flex: 0.5;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
}

.auth-image {
  width: 130%;
  height: 110%;
  object-fit: contain;
  border-radius: 8px;
}

/* ==============================
   FORM WRAPPER (Common for both)
   ============================== */

.form-wrapper {
  width: 100%;
  max-width: 400px;
  padding: 25px 30px;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
  text-align: left;
  transform: translateY(-15px);
}

/* Headings */
.form-wrapper h2 {
  text-align: center;
  font-size: 26px;
  margin-bottom: 22px;
  font-family: "Playfair Display", serif;
  color: #333;
}

/* Input Fields */
.form-wrapper input {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
  font-family: "Segoe UI", sans-serif;
  transition: 0.3s;
}

.form-wrapper input:focus {
  border-color: #6c5ce7;
  box-shadow: 0 0 6px rgba(108, 92, 231, 0.4);
  outline: none;
}

/* Buttons */
.form-wrapper button {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 6px;
  font-size: 17px;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(to right, #3a8dde, #7f4de7);
  transition: 0.3s ease;
  font-family: "Segoe UI", sans-serif;
}

.form-wrapper button:hover {
  background: linear-gradient(to right, #2c6bb6, #6d3fd1);
}

/* Messages */
.error {
  color: red;
  text-align: center;
  font-size: 15px;
}

.message {
  color: green;
  text-align: center;
  font-size: 15px;
}

/* Toggle text */
.toggle-text {
  text-align: center;
  font-size: 16px;
  margin-top: 12px;
  color: #444;
}

.toggle-link {
  color: #6c5ce7;
  cursor: pointer;
  font-weight: bold;
  margin-left: 5px;
  text-decoration: none;
}

.toggle-link:hover {
  text-decoration: underline;
}

/* ==============================
   MOBILE RESPONSIVENESS
   ============================== */
@media screen and (max-width: 768px) {
  .auth-container {
    flex-direction: column-reverse;
    height: auto;
  }

  .auth-image-section {
    flex: none;
    height: 250px;
    width: 100%;
  }

  .auth-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .auth-form-section {
    width: 100%;
    min-height: auto;
    padding: 20px 15px;
    background: linear-gradient(135deg, #d8b4fe, #fbcfe8);
  }

  .form-wrapper {
    width: 100%;
    max-width: 350px;
    margin: 20px auto;
    padding: 22px;
    box-shadow: none;
  }

  .form-wrapper h2 {
    font-size: 22px;
  }

  .toggle-text {
    font-size: 15px;
  }
}


/*--------------End of auth Page------------------------*/

/* ==============================
   NAVBAR STYLES — ShowMyBiz
   ============================== */

/* Desktop navbar */
.navbar-container {
  position: static;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #2C2C2C; /* Dark charcoal */
  color: #fff;
  height: 90px;
  padding: 0 40px;
  font-family: 'Segoe UI', sans-serif;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  transition: background-color 0.3s ease;
}

/* Logo + company name */
.navbar-left {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.logo {
  width: 70px;
  height: 70px;
  border-radius: 50%;
}

.company-name {
  font-weight: bold;
  font-size: 28px;
  color: white;
  letter-spacing: 1px;
}

/* Links */
.navbar-links {
  display: flex;
  gap: 40px;
  align-items: center;
}

.nav-link {
  color: white;
  text-decoration: none;
  font-weight: 500;
  font-size: 20px;
  position: relative;
  transition: color 0.3s ease;
  padding-top: 10px;
  cursor: pointer;
  user-select: none;
}

.nav-link:hover {
  color: #00d1b2;
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 2px;
  background-color: #00d1b2;
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

/* Dropdown */
.nav-account {
  position: relative;
}
/* ⭐ Account toggle button (desktop) */
.account-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
  color: white;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 6px;
  transition: background 0.2s ease;
}

.account-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* ⭐ Premium dropdown wrapper */
.dropdown-menu {
  display: none;
  position: absolute;
  top: 105%;
  right: 0;
  background: #ffffff;
  border-radius: 10px;
  min-width: 155px;
  padding: 6px 0;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  z-index: 1500;
  animation: smoothFade 0.18s ease-out;
  overflow: hidden;
}

/* 🖥️ Desktop show on hover */
@media (min-width: 769px) {
  .nav-account:hover .dropdown-menu {
    display: block;
  }
}

/* 🔥 Elegant red logout button (desktop style same as mobile) */
.logout-link {
  display: flex;
  align-items: center;
  justify-content: center;   /* ⭐ CENTER the icon + text */
  gap: 8px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 600;
  color: white;
  background: #ff4d4d;
  cursor: pointer;
  text-align: center;         /* extra safety */
  border-radius: 6px;
  margin: 6px 8px;
  transition: 0.25s ease;
}

/* Hover effect */
.logout-link:hover {
  background: #e04444;  /**/
  transform: translateY(-1px);
}

/* logout icon */
.logout-link i {
  font-size: 17px;
  color: white;
}

/* Smooth Fade */
@keyframes smoothFade {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 🌐 Mobile Navbar */
@media (max-width: 768px) {

  .navbar-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    height: 70px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #2C2C2C;
    z-index: 1000;
  }

  body {
    padding-top: 70px !important;
  }

  .navbar-left {
    gap: 8px;
  }

  .logo {
    width: 56px;
    height: 56px;
  }

  .company-name {
    font-size: 24px;
    font-weight: 700;
  }

  /* HAMBURGER */
  .menu-icon {
    display: block !important;
    font-size: 30px;
    color: white;
    cursor: pointer;
    padding: 6px 10px;
    margin-left: auto;
    z-index: 2000;
  }

  /* MOBILE DROPDOWN MENU */
  .navbar-links {
    display: none;
  }

  .navbar-links.mobile-open {
    display: flex !important;
    flex-direction: column;
    background: #2C2C2C;
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    padding: 5px 0 !important;
    z-index: 1500;
    gap: 6px !important;
  }

  /* MOBILE LINK STYLE */
  .nav-link {
    width: 100%;
    text-align: center;
    font-size: 17px;
    padding: 6px 0 !important;
    color: white;
  }

  /* Account dropdown mobile */
  .dropdown-menu {
    display: none !important;
    background: #353535;
    padding: 6px 0 !important;
    border-radius: 6px;
    position: static;
    box-shadow: none;
  }

  .dropdown-menu.mobile-open {
    display: block !important;
  }

  /* 🌟 Improved Logout Button */
  .logout-link {
    color: white;
    font-size: 17px;
    padding: 10px 0 !important;
    margin: 6px 20px;
    text-align: center;
    border-radius: 8px;
    background: #ff4d4d;           /* red button look */
    font-weight: 600;
    transition: all 0.25s ease;
  }

  .logout-link:hover {
    background: #e04444;
    color: #fff;
    transform: translateY(-1px);
  }
}

/* Hide hamburger on desktop */
@media (min-width: 769px) {
  .menu-icon {
    display: none !important;
  }
}

/* ===============================
   NAVBAR STYLES END
   =============================== */
/* ===============================
   HOME PAGE STYLES — ShowMyBiz
   =============================== */

/* Prevent horizontal overflow */
html, body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/* --- Layout Adjustments --- */
body.home-page-body {
  overflow-x: hidden;
  font-family: 'Segoe UI', sans-serif;
  background-color: #fff;
}
@media (max-width: 600px) {
  .home-banner {
    margin-top: 0 !important;
    padding-top: 0 !important;
    display: block;
  }

  body, html {
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* -----------------------------
   Desktop Banner Section
----------------------------- */
.desktop-text-box {
  position: absolute;
  top: 50px;
  left: 5%;
  background-color: rgba(255, 255, 255, 0.6);
  color: #000;
  padding: 15px;
  border-radius: 10px;
  max-width: 350px;
  font-size: 22px;
  line-height: 1.5;
  text-align: left;
  font-family: 'Josefin Sans', sans-serif;
  z-index: 10;
}

.create-catalog-btn {
  width: 200px;
  padding: 10px 0;
  background-color: #000;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 18px;
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.create-catalog-btn:hover {
  background-color: #333;
}


/* -----------------------------
   Mobile Text Box
----------------------------- */
.mobile-text-box {
  display: none;
}

@media (max-width: 768px) {
  .desktop-text-box {
    display: none !important;
  }

  .mobile-text-box {
    display: block !important;
    margin-top: 20px;
    padding: 15px 10px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .create-catalog-btn {
    width: 100% !important;
    padding: 12px 0 !important;
    font-size: 18px !important;
  }
}

/* ==============================
   HOW IT WORKS SECTION
   ============================== */
.how-it-works-section {
  background-color: #e0f7fa;
  padding: 20px 60px;
  text-align: center;
}

.how-it-works-title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 0px;
  color: #333;
}

.how-it-works-steps {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 10px;
}

.how-step {
  flex: 1;
  min-width: 280px;
}

.how-step h3 {
  font-size: 20px;
  color: #000;
  margin-bottom: 10px;
}

.how-step span {
  font-size: 24px;
  font-weight: bold;
}

.how-step p {
  font-size: 16px;
  color: #4d4d4d;
}

/* 📱 Mobile View */
@media (max-width: 768px) {
  .how-it-works-section {
    padding: 20px 16px;
  }

  .how-it-works-title {
    font-size: 22px;
  }

  .how-step h3 {
    font-size: 18px;
  }

  .how-step p {
    font-size: 16px;
  }

  .how-it-works-steps {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
}

/* ==============================
   REFERENCE VIDEO SECTION
   ============================== */
.reference-video-section {
  text-align: center;
  padding: 10px 0;
}

.reference-video-title {
  font-size: 30px;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
}

.reference-video-subtitle {
  font-size: 17px;
  color: #555;
  margin-bottom: 20px;
}

/* Desktop video styling */
.reference-video {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  max-width: 800px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  object-fit: cover;
}

/* 📱 Mobile video layout */
@media (max-width: 768px) {
  .reference-video-section {
    padding: 20px 16px;
  }

  .reference-video-title {
    font-size: 22px;
  }

  .reference-video-subtitle {
    font-size: 15px;
    padding: 0 12px;
  }

  .reference-video {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }
}

/* ==============================
   CATEGORY SECTION — ShowMyBiz
   ============================== */

.biz-category-section {
  text-align: center;
  padding: 30px 0 80px 0;
  background-color: #fff;
}

.biz-category-title {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 40px;
  color: #333;
  letter-spacing: 0.4px;
  font-family: 'Segoe UI', sans-serif;
}

/* --- Grid layout (4 columns desktop) --- */
.biz-category-boxes {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* ✅ exactly 4 boxes per row */
  gap: 30px; /* Spacious gap between boxes */
  padding: 0 80px;
  max-width: 1400px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* --- Each Box --- */
.biz-category-box {
  border-radius: 14px;
  padding: 35px 20px;
  text-align: center;
  font-size: 17px;
  font-weight: 500;
  cursor: pointer;
  color: #222;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  height: 180px; /* Taller for balanced look */
  display: flex;
  flex-direction: column;
  justify-content: center;   /* Vertically center everything */
  align-items: center;       /* Horizontally center everything */
  background-color: #fdfdfd;
  border: 1px solid #eee;
}

.biz-category-box:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

/* --- Icon --- */
.biz-category-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 12px;
  object-fit: contain;
  display: block;
}

/* --- Text below icon --- */
.biz-category-box span,
.biz-category-box p,
.biz-category-box div {
  text-align: center;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}

/* --- Tablet View (2 columns) --- */
@media (max-width: 992px) {
  .biz-category-boxes {
    grid-template-columns: repeat(2, 1fr); /* 2 boxes per row */
    gap: 25px;
    padding: 0 40px;
  }

  .biz-category-box {
    height: 160px;
    padding: 28px 15px;
    font-size: 15px;
  }

  .biz-category-icon {
    width: 50px;
    height: 50px;
  }

  .biz-category-title {
    font-size: 26px;
    margin-bottom: 25px;
  }
}

/* --- Mobile View (1 column) --- */
@media (max-width: 600px) {
  .biz-category-boxes {
    grid-template-columns: 1fr; /* 1 box per row */
    padding: 0 25px;
    gap: 25px;
  }

  .biz-category-box {
    height: 150px;
    padding: 22px 12px;
    font-size: 14px;
  }

  .biz-category-icon {
    width: 45px;
    height: 45px;
    margin-bottom: 8px;
  }

  .biz-category-title {
    font-size: 22px;
    margin-bottom: 25px;
  }
}


/* ===============================
   END OF HOME PAGE STYLES — ShowMyBiz
   =============================== */

/* ==============================
   BENEFITS SECTION — ShowMyBiz
   ============================== */

.benefits-section {
  padding: 10px 0;
  background-color: white;
  font-family: 'Segoe UI', sans-serif;
}

.benefits-container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  max-width: 1400px;
  margin: 0 auto;
  gap: 30px;
  flex-wrap: nowrap;
  margin-left: 40px;
}

.benefits-image {
  flex: 1;
  margin: 0;
}

.benefits-image img {
  width: 600px;
  max-width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  margin-left: 100px;
  margin-top: 50px;
}

.benefits-content {
  flex: 1;
  width: 100%;
  padding-right: 0;
  padding-left: 0px;
  font-family: 'Segoe UI', sans-serif;
}

.benefits-content h2 {
  font-size: 2.2rem;
  margin-bottom: 30px;
  color: #222;
  margin-top: 20px;
  line-height: 40px;
  font-family: 'Segoe UI', sans-serif;
  padding-left: 200px; /* 👈 shifts heading slightly right */
}

.benefits-content h2 span {
  color: #e91e63;
}

.benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: 'Segoe UI', sans-serif;
}

.benefits-list li {
  font-size: 1.2rem;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  color: #333;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 38px;
  margin-left: 120px;
}

.benefits-list li i {
  margin-right: 10px;
  color: #4caf50;
  font-size: 18px;
}

/* ===============================
   BENEFITS SECTION-MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .benefits-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-left: 0;
    padding: 0 10px;
    margin-top: 0px;
    padding-top: 0px;
  }

  .benefits-image {
    margin: 0;
    padding: 0;
  }

  .benefits-image img {
    width: 95%;
    max-width: 500px;
    height: auto;
    border-radius: 10px;
    margin: 0 auto;
    display: block;
  }

  .benefits-content {
    padding: 0;
  }
  .benefits-content h2 {
      font-size: 1.6rem;
      line-height: 32px;
      margin-top: 10px;
      margin-bottom: 10px;
      text-align: center;
      padding-left: 0 !important;   /* ⭐ FIX: remove forced desktop padding */
      width: 100%;
  }

  .benefits-list {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .benefits-list li {
    white-space: normal;
    text-align: left;
    justify-content: flex-start;
    margin-left: 0;
    padding: 6px 10px;
    font-size: 1rem;
    line-height: 24px;
  }

  .benefits-list li i {
    font-size: 18px;
    min-width: 20px;
    margin-right: 12px;
  }
}

/* ==============================
   ANALYTICS HIGHLIGHT SECTION
   ============================== */

.analytics-highlight {
  background: linear-gradient(135deg, #dcd6ff, #c6bfff);
  padding: 40px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-top: 40px;
  padding-top: 30px;
  margin-bottom: 30px;
}

.analytics-container {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.analytics-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #4a3fff;
  margin-bottom: 15px;
  font-family: 'Playfair Display', serif;}

.analytics-subtitle {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 50px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
  font-family: 'Segoe UI', sans-serif;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 25px;
  margin-bottom: 40px;
}

.feature-card {
  background: #fff;
  padding: 25px 20px;
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

.feature-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 30px rgba(74, 63, 255, 0.3);
}

.feature-icon {
  font-size: 2rem;
  color: #4a3fff;
  margin-bottom: 15px;
  transition: all 0.3s ease;
}

.feature-card:hover .feature-icon {
  transform: scale(1.3) rotate(10deg);
  text-shadow: 0 0 8px rgba(74, 63, 255, 0.7);
}

.feature-card h4 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 10px;
  color: #222;
  font-family: 'Segoe UI', sans-serif;
}

.feature-card p {
  font-size: 0.95rem;
  color: #555;
  text-align: center;
  line-height: 1.4;
  font-family: 'Segoe UI', sans-serif;
}

.analytics-cta {
  background: linear-gradient(135deg, #6c5ce7, #4a3fff);
  color: white;
  border: none;
  padding: 12px 28px;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.analytics-cta:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 25px rgba(74, 63, 255, 0.6),
              0 0 15px rgba(74, 63, 255, 0.3);
}

/* Floating background animation */
.analytics-highlight::before,
.analytics-highlight::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: rgba(74, 63, 255, 0.15);
  z-index: 0;
  animation: float 6s ease-in-out infinite;
}

.analytics-highlight::before {
  width: 250px;
  height: 250px;
  top: -50px;
  left: -50px;
}

.analytics-highlight::after {
  width: 400px;
  height: 400px;
  bottom: -100px;
  right: -100px;
  animation-delay: 3s;
}

@keyframes float {
  0% { transform: translateY(0) translateX(0) rotate(0deg); }
  25% { transform: translateY(15px) translateX(10px) rotate(3deg); }
  50% { transform: translateY(30px) translateX(20px) rotate(-3deg); }
  75% { transform: translateY(15px) translateX(10px) rotate(2deg); }
  100% { transform: translateY(0) translateX(0) rotate(0deg); }
}

/* ===============================
   ANALYTICS HIGHLIGHT SECTION- MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .analytics-title { font-size: 2rem; }
  .analytics-subtitle { font-size: 1rem; margin-bottom: 40px; }
  .features-grid { gap: 20px; }
}

@media (max-width: 576px) {
  .analytics-title { font-size: 1.6rem; }
  .analytics-subtitle { font-size: 0.95rem; margin-bottom: 30px; padding-bottom: 20px; }
  .feature-card { padding: 20px 15px; }
  .analytics-cta { padding: 10px 20px; font-size: 0.95rem; }
}

/* ===============================
   END OF ANALYTICS HIGHLIGHT SECTION
   =============================== */

/* ================================
   Request For Service Section
================================ */

.request-for-service-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 0px;
}

.title-container h2 {
  font-size: 28px;
  color: #333;
  text-align: center;
  margin-bottom: 40px;
  font-family: 'Playfair Display', serif;
}

.request-for-service-content {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1000px;
  gap: 40px;
}

.request-image-container video {
  width: 100%;
  max-width: 700px;
  height: auto;
  border-radius: 2px;
  padding-bottom: 40px;
  margin-left: -100px;
  object-fit: cover;
  display: block;
}

.request-text-container {
  flex: 1;
  padding: 0;
  text-align: center;
  line-height: 1.4;
  margin-top: -50px;
  margin-right: 100px;
}

.request-text-container p {
  font-size: 18px;
  color: #000;
  margin-bottom: 20px;
  font-family: "Poppins", sans-serif;
}

.request-button {
  padding: 10px 20px;
  background-color: #25D366;
  color: white;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  font-size: large;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.request-button:hover {
  background-color: #128C7E;
}

/* ===============================
   Request For Service Section - MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .request-for-service-content {
    flex-direction: column;
    padding: 0 16px;
    gap: 20px;
    align-items: center;
  }

  .request-image-container {
    display: none;
  }

  .request-text-container {
    margin-top: 70;
    padding: 0;
    text-align: center;
    margin-right: 0 !important;
    margin-left: 0 !important;
    max-width: 320px;
    width: 100%;
    margin: 0 auto !important;
  }

  .request-text-container p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 16px;
    text-align: center;
  }

  .title-container h2 {
    font-size: 22px;
    margin: 20px 10px 10px;
    text-align: center;
  }

  .request-button {
    width: 100%;
    font-size: 16px;
    padding: 12px 0;
    margin-bottom: 30px;
  }
}


/* ================================
   Stats Section — ShowMyBiz
================================ */

.stats-section {
  background-color: #fff7e6;
  padding: 10px 10px;
  text-align: center;
}

.stats-title {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 0;
  color: #000;
  font-family: 'Playfair Display', serif;
}

.stats-section p {
  font-style: italic;
  font-size: 18px;
  color: #333;
  margin: 10px 0 0 0;
  padding-bottom: 30px;
  font-family: 'Playfair Display', serif;
}

.stats-container {
  display: flex;
  justify-content: center;
  gap: 250px;
  flex-wrap: wrap;
  margin-top: 0;
}

.stats-column {
  text-align: center;
  min-width: 150px;
  margin-bottom: 20px;
}

.counter-circle {
  background-color: #333333;
  color: #fff;
  width: 150px;
  height: 150px;
  font-size: 44px;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 15px auto;
  padding: 10px;
  box-sizing: border-box;
  font-family: 'Playfair Display', serif;
}

.stats-label {
  font-size: 18px;
  color: #000;
  font-weight: bold;
  padding-bottom: 0px;
  font-family: 'Playfair Display', serif;
}

/* ===============================
   STATS Section - MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .stats-title {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .stats-section p {
    font-size: 14px;
    padding: 0 16px;
    margin-top: 8px;
  }

  .stats-container {
    flex-direction: column;
    gap: 10px;
    align-items: center;
    margin-top: 20px;
  }

  .counter-circle {
    width: 110px;
    height: 110px;
    font-size: 34px;
    padding: 8px;
  }

  .stats-label {
    font-size: 16px;
    font-weight: bold;
  }
}

/* ===============================
   ABOUT US Section
   =============================== */
.about-us-container {
  padding: 10px;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  border-radius: 10px;
  font-family: 'Segoe UI', sans-serif;
}

/* Ensure ALL text inside uses Inter */
.about-us-container * {
  font-family: 'Segoe UI', sans-serif;
}

.about-us-content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.left-text {
  flex: 1;
  min-width: 280px;
  padding: 10px 20px;
}

.about-title {
  font-size: 30px;
  margin-bottom: 15px;
  color: #333;
}

.about-paragraph {
  font-size: 18px;
  line-height: 1.8;
  color: #000;
  margin-bottom: 12px;
}

.right-image {
  flex: 0 0 auto;
  min-width: 150px;
  padding: 10px;
}

.about-image {
  max-width: 300px;
  height: auto;
  border-radius: 8px;
  padding-left: 20px;
}

/* ===============================
   ABOUT US Section - MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .about-us-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .left-text {
    padding: 10px 10px;
  }

  .about-title {
    font-size: 24px;
  }

  .about-paragraph {
    font-size: 16px;
    line-height: 1.6;
    padding: 0 10px;
  }

  .about-image {
    max-width: 220px;
    padding-left: 0;
  }
}

/* ===============================
   QUOTE CAROUSEL SECTION
   =============================== */

.quote-carousel-container {
  background-color: #335c67;
  padding: 10px 10px;
  margin-top: 10px;
  text-align: center;
  font-family: 'Playfair Display', serif;
}

.quote-carousel-title {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 15px;
  color: #f3f3f3;
}

.quote-carousel {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  overflow: hidden;
}

.quote-slides {
  display: flex;
  transition: transform 0.6s ease-in-out;
  width: 100%;
}

.quote-slide {
  flex: 0 0 100%;
  box-sizing: border-box;
  padding: 10px 16px 20px;
  font-size: 17px;
  line-height: 1.6;
  font-style: italic;
  color: #f3f3f3;
  text-align: center;
}

.quote-author {
  font-weight: bold;
  font-size: 15px;
  margin-top: 8px;
  color: #f3f3f3;
}

.quote-dots {
  text-align: center;
  margin-top: 12px;
}

.quote-dot {
  height: 5px;
  width: 5px;
  margin: 0 5px;
  background-color: #ccc;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.3s ease;
  cursor: pointer;
}

.quote-dot.active {
  background-color: #007bff;
}

/* ===============================
   QUOTE CAROUSEL SECTION - MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .quote-slide {
    padding: 12px 20px 24px;
    font-size: 15px;
    line-height: 1.5;
  }

  .quote-carousel-title {
    font-size: 20px;
    margin-bottom: 12px;
  }
}

/* ===============================
   TESTIMONIALS SECTION
   =============================== */

.testimonials-section {
  padding: 20px 20px 40px;
  background: white;
  text-align: center;
  margin-top: 0;
}

.testimonials-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 50px;
  color: #222;
  font-family: 'Playfair Display', serif;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 60px;
  max-width: 1300px;
  margin: 0 auto;
}

/* ---- Colors ---- */
.card-blue { background: linear-gradient(135deg, #d0f0fd, #ffffff); }
.card-pink { background: linear-gradient(135deg, #ffe0e6, #ffffff); }
.card-green { background: linear-gradient(135deg, #e0fff4, #ffffff); }

/* ---- Card ---- */
.testimonial-card {
  border-radius: 16px;
  padding: 30px 25px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
  position: relative;
  overflow: hidden;
  transform-style: preserve-3d;
  perspective: 1000px;
  opacity: 0;
  animation: float 6s ease-in-out infinite;
}

.testimonial-card:hover {
  transform: translateY(-10px) rotateY(5deg) scale(1.05);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-left: 5px solid #3b82f6;
}

/* Floating animation */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Shimmer effect */
.testimonial-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  transition: all 0.8s ease;
}

.testimonial-card:hover::before {
  left: 125%;
}

/* ---- Image ---- */
.testimonial-img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 15px;
  border: 3px solid #3b82f6;
  transition: transform 0.5s ease;
}

.testimonial-card:hover .testimonial-img {
  transform: translateY(-5px) scale(1.1);
}

/* ---- Fade-in animation ---- */
.testimonial-card.fade-in {
  opacity: 1;
  animation: flipIn 0.8s ease forwards;
}

@keyframes flipIn {
  from {
    opacity: 0;
    transform: rotateY(-90deg) translateY(30px);
  }
  to {
    opacity: 1;
    transform: rotateY(0deg) translateY(0);
  }
}

/* ---- Text ---- */
.testimonial-feedback, .testimonial-name, .testimonial-business {
  font-family: 'Playfair Display', serif;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s ease;
  color: #000;
}

.testimonial-card.fade-in .testimonial-feedback,
.testimonial-card.fade-in .testimonial-name,
.testimonial-card.fade-in .testimonial-business {
  opacity: 1;
  transform: translateY(0);
}

.testimonial-name {
  font-weight: 700;
  margin-top: 10px;
}

.testimonial-business {
  font-style: italic;
  color: #333;
  font-size: 0.95rem;
}

.quote-icon span {
  font-size: 40px;
  color: #3b82f6;
  font-family: Georgia, 'Times New Roman', serif;
}

/* ---- Rating ---- */
.testimonial-rating {
  color: #facc15;
  font-size: 1.3rem;
  margin-top: 10px;
}

/* ===============================
   TESTIMONIALS SECTION - MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .testimonials-title {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }

  .testimonials-grid {
    gap: 30px;
  }

  .testimonial-card {
    padding: 25px 20px;
    transform-style: flat;
  }
}

@media (max-width: 480px) {
  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .testimonial-card {
    padding: 20px 15px;
  }

  .testimonial-feedback {
    font-size: 0.9rem;
  }

  .testimonial-img {
    width: 55px;
    height: 55px;
  }

  .testimonial-rating {
    font-size: 1.1rem;
  }
}

/* ===============================
   SUGGESTIONS BOX SECTION
   =============================== */

.suggestions-wrapper {
  display: flex;
  justify-content: center;
  padding: 40px 20px;
  background-color: #f5f7fa;
}

.suggestions-card {
  display: flex;
  width: 1200px;
  max-width: 95%;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 15px 30px rgba(0,0,0,0.1);
  overflow: hidden;
  min-height: 550px; /* or any value you prefer */
  height: auto; /* ensures it expands with content */
}

.card-image {
  flex: 0 0 45%;
  background: linear-gradient(135deg, #6bc1ff, #5a67ff);
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-image img {
  width: 80%;
  height: auto;
  border-radius: 15px;
}

.suggestions-form {
  flex: 1;
  padding: 25px 30px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: 'Playfair Display', serif;
}

.suggestions-form h2 {
  text-align: center;
  color: #2a2d34;
  margin-bottom: 10px;
  font-family: 'Playfair Display', serif;
}

.flex-row {
  display: flex;
  gap: 10px;
}

.flex-row input {
  flex: 1;
}

.suggestions-form input,
.suggestions-form textarea {
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #ccc;
  font-size: 14px;
  outline: none;
  transition: 0.3s;
}

.suggestions-form input:focus,
.suggestions-form textarea:focus {
  border-color: #5a67ff;
  box-shadow: 0 0 8px rgba(90,103,255,0.3);
}

.suggestions-form textarea {
  resize: vertical;
  min-height: 120px;
  line-height: normal;       /* reset Playfair issue */
  padding-top: 12px;         /* force top alignment */
  padding-bottom: 12px;

  font-family: inherit;
  box-sizing: border-box;
}

.suggestions-form textarea::placeholder {
  color: #999;
  opacity: 1;
}

.suggestions-form button {
  padding: 12px 0;
  font-size: 16px;
  font-weight: bold;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  background: linear-gradient(90deg, #5a67ff, #6bc1ff);
  color: white;
  transition: 0.3s;
  margin-top: 10px;
}

.suggestions-form button:hover {
  background: linear-gradient(90deg, #4a52e1, #42aaff);
}

.rating-stars {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 22px;
  margin-bottom: 10px;
}

.rating-stars label {
  font-weight: 500;
  min-width: 140px;
}

.rating-stars .star {
  cursor: pointer;
  color: #ccc;
  transition: color 0.2s;
  user-select: none;
}

.rating-stars .star.filled {
  color: #ffb400;
}

/* ===============================
   SUGGESTIONS BOX SECTION - MOBILE VIEW
   =============================== */
@media (max-width: 768px) {
  .suggestions-card {
    flex-direction: column;
    width: 100%;
    max-height: none;
  }

  .card-image {
    flex: 0 0 auto;
    width: 100%;
    padding: 20px 0;
  }

  .card-image img {
    width: 60%;
  }

  .suggestions-form {
    padding: 20px;
  }

  .flex-row {
    flex-direction: column;
  }

  .rating-stars {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
  }

  .rating-stars label {
    min-width: 100px;
    font-size: 18px;
  }
}

@media (max-width: 480px) {
  .suggestions-form h2 {
    font-size: 20px;
  }

  .suggestions-form input,
  .suggestions-form textarea {
    font-size: 13px;
  }

  .suggestions-form button {
    font-size: 15px;
  }

  .card-image img {
    width: 70%;
  }

  .rating-stars {
    font-size: 25px;
    padding-right: 10px;
  }
}

/* ================================
   FAQ SECTION - ShowMyBiz
   ================================ */
.faq-container {
  background-color: #f7f7f7;
  padding: 20px 20px;
  margin-top: 10px;
}

.faq-title {
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  color: #333;
  margin-top: 20px;
  margin-bottom: 30px;
  font-family: 'Playfair Display', serif;
}

.faq-content {
  max-width: 1000px;
  margin: 0 auto;
}

.faq-box {
  background-color: #fff;
  border-radius: 8px;
  padding: 12px 18px;
  margin-bottom: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: all 0.3s ease;
}

.faq-box:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.faq-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-question {
  font-size: 18px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
  font-family: 'Playfair Display', serif;
}

.faq-icon {
  font-size: 18px;
  color: #2c3e50;
}

.faq-answer {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.4s ease;
  margin-top: 10px;
  text-align: left;
}

.faq-answer p {
  font-size: 15px;
  color: #555;
  line-height: 1.5;
  margin: 0;
  font-family: 'Playfair Display', serif;
}
/* ================================
   FAQ SECTION - MOBILE VIEW
   ================================ */
@media (max-width: 768px) {
  .faq-container {
    padding: 15px 12px;
  }

  .faq-title {
    font-size: 22px;
    margin-top: 15px;
    margin-bottom: 20px;
  }

  .faq-box {
    padding: 14px 12px;
    margin-bottom: 12px;
  }

  .faq-question {
    font-size: 16px;
  }

  .faq-icon {
    font-size: 16px;
  }

  .faq-answer p {
    font-size: 16px;
  }
}

/* ==========================
   FOOTER SECTION - ShowMyBiz
   ========================== */
.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.5rem;
  background-color: #1f1f1f;
  color: #fff;
  font-size: 1.1rem;
}

.footer-section {
  flex: 1 1 200px;
  min-width: 200px;
  padding-left: 20px;
}

.footer-brand {
  text-align: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}

.footer-logo {
  width: 160px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.3rem;
  padding-left: 10px;
}

.footer-company {
  margin: 0.5rem 0;
}

.footer-section a {
  display: block;
  color: #ccc;
  text-decoration: none;
  margin: 0.3rem 0;
}

.footer-section a:hover {
  color: #fff;
}

.social-icons {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
}

.social-icons a {
  font-size: 1.8rem;
  color: #ccc;
  transition: color 0.3s ease;
}

.social-icons a:hover {
  color: #fff;
}

/* Spacing between headings and links */
.footer-section h4 {
  margin-bottom: 10px;
  padding-bottom: 0;
}

.footer-section a,
.footer-section p {
  margin-top: 0;
  margin-bottom: 0.4rem;
  padding: 0;
}

/* ==========================
   FOOTER SECTION - MOBILE VIEW
   ========================== */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    font-size: 1rem;
  }

  .footer-section {
    flex: none;
    min-width: auto;
    width: 100%;
    padding-left: 0;
    text-align: center;
  }

  .footer-logo {
    width: 120px;
    height: 120px;
    padding-left: 0;
  }

  .social-icons {
    justify-content: center;
  }
}

/* ==============================
   ShowMyBizAssistant SECTION
   ============================== */

.assistant-wrapper {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  font-family: 'Segoe UI', sans-serif;
}

/* Floating FAB Button */
.assistant-fab {
  width: 70px;
  height: 70px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  border: 2px solid #5a00ff;
  animation: floatSway 3s ease-in-out infinite;
  transition: 0.2s;
}

.assistant-fab:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 18px rgba(90, 0, 255, 0.5);
}

/* Sway animation */
@keyframes floatSway {
  0% { transform: translate(0,0); }
  25% { transform: translate(4px,-6px); }
  50% { transform: translate(0,-10px); }
  75% { transform: translate(-4px,-6px); }
  100% { transform: translate(0,0); }
}

.bot-icon { width: 50px; height: 50px; }

/* Chat Modal */
.assistant-chat {
  display: none;
  width: 300px;
  max-height: 370px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  overflow: hidden;
  flex-direction: column;
}

.assistant-chat.visible {
  display: flex;
}

/* Header */
.assistant-header {
  background: #7b5fff;
  padding: 10px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
}

/* Messages */
.assistant-messages {
  flex: 1;
  padding: 12px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.message.user {
  align-self: flex-end;
  background: #ede7ff;
  color: #5a00ff;
  padding: 7px 11px;
  border-radius: 14px 14px 0 14px;
  max-width: 80%;
}

.message.bot {
  align-self: flex-start;
  background: #f3f0ff;
  color: #333;
  padding: 7px 11px;
  border-radius: 14px 14px 14px 0;
  max-width: 80%;
}

/* Options Container */
.assistant-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  padding: 10px;
}

/* Smaller side-by-side buttons */
.option-btn {
  background: #9a7dff;
  color: white;
  border: none;
  padding: 6px 10px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s;
  width: auto;               /* ← VERY IMPORTANT */
  min-width: 110px;          /* keeps rows even */
  text-align: center;
  white-space: nowrap;       /* prevents text breaking */
}

.option-btn:hover {
  background: #7b5fff;
  transform: scale(1.05);
}


/* ==============================
   Dashboard SECTION
   ============================== */
body.dashboard-page-body {
  margin: 0;
  padding: 0;
  font-family: 'Segoe UI', sans-serif;
  background-color: #fffdf8;
  overflow-x: hidden;
  font-family: Arial, sans-serif;

}

/* Top Navbar */
.navbar-dashboard {
  padding-top: 30px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.navbar-links-dashboard h1 {
  color: #000;
  font-size: 28px;
  font-weight: 600;
  margin: 0;
  text-align: center;
}

/* Dashboard Boxes Grid */
.dashboard-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding: 40px 60px;
}

.dashboard-box {
  background-color: #FFE0B2;
  border-radius: 10px;
  text-align: center;
  padding: 30px;
  height: 230px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.dashboard-box:hover {
  background-color: pink;
  transform: translateY(-8px);
}

.dashboard-icon {
  width: 75px;
  height: 75px;
  margin-bottom: 12px;
}

.dashboard-box h3 {
  font-size: 22px;
  color: #000;
  font-weight: 600;
}

.navbar-dashboard {
    position: relative;   /* 🔑 anchor for absolute positioning */
}

/* KEEP heading perfectly centered */
.navbar-links-dashboard {
    text-align: center;
}

/* Live catalog link on right */
.live-catalog-link {
    position: absolute;
    right: 20px;
    top: 60%;
    transform: translateY(-50%);

    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 8px 14px;
    border-radius: 999px;

    background: #e6f9f0;
    color: #0a7d4f;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;

    border: 1px solid rgba(10,125,79,0.2);
    transition: all 0.2s ease;
}

/* Hover polish */
.live-catalog-link:hover {
    background: #d2f3e4;
    transform: translateY(-50%) scale(1.03);
}

/* Small pulse for LIVE feel */
.live-catalog-link::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff3b3b;
    box-shadow: 0 0 0 rgba(255,59,59,0.6);
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255,59,59,0.6); }
    70%  { box-shadow: 0 0 0 8px rgba(255,59,59,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,59,59,0); }
}

/* ==============================
   DASHBOARD HEADER — MOBILE VIEW
   ============================== */
@media (max-width: 768px) {

    /* Give space below main navbar */
    .navbar-dashboard {
        position: relative;
        margin-top: 20px;   
        padding-top: 10px;
    }

    /* Keep heading centered */
    .navbar-links-dashboard {
        text-align: center;
    }

    /* Reposition Live Catalog button safely */
    .live-catalog-link {
        position: static;          /* 🔥 remove absolute on mobile */
        transform: none;

        margin: 14px auto 0;       /* center it below heading */
        margin-right: 16px;        /* 🔥 small right breathing space */
        display: inline-flex;

        font-size: 14px;
        padding: 7px 12px;
    }

    /* Disable hover transform shift on mobile */
    .live-catalog-link:hover {
        transform: none;
    }
}

/* Upgrade Banner */
.upgrade-banner {
  text-align: center;
  margin-top: 25px;
  padding: 15px 20px;
  background-color: #fff4e5;
  color: #ff6600;
  font-weight: 600;
  font-size: 1.1rem;
  border-radius: 8px;
  border: 1px solid #ffcc99;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Loader Overlay */
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.spinner {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.notif-bubble {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #FF3B30;
    color: white;
    width: 40px;
    height: 40px;
    font-size: 13px;
    font-weight: bold;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
    animation: popIn 0.25s ease;
}

@keyframes popIn {
    0% { transform: scale(0); opacity:0; }
    80% { transform: scale(1.2); opacity:1; }
    100% { transform: scale(1); }
}

/* ==============================
   DASHBOARD HEADER — MOBILE VIEW
   ============================== */
@media (max-width: 768px) {
  .navbar-links-dashboard h1 {
    font-size: 20px;
    padding: 0 10px;
  }

  .dashboard-content {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 20px;
  }

  .dashboard-box {
    height: auto;
    padding: 20px;
  }

  .dashboard-icon {
    width: 60px;
    height: 60px;
  }

  .dashboard-box h3 {
    font-size: 20px;
  }
}

/* ==============================
   CREATE CATALOG SECTION
   ============================== */

/* ---------- Background Wrapper ---------- */
.create-catalog-wrapper {
  position: relative;
  width: 100%;
  min-height: calc(100vh - 160px); /* leaves space for navbar & footer */
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 0; /* creates vertical spacing */
  box-sizing: border-box;
  z-index: 1;
}

/* ---------- Main Form Card ---------- */
.form-card {
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 12px;
  padding: 40px 30px;
  box-shadow: 0 10px 20px rgba(255, 160, 122, 0.4); /* same warm color tone */
  width: 100%;
  max-width: 480px;
  margin: 10px;
  border: 4px solid #007bff;
  animation: borderColorChange 3s infinite linear;
  box-sizing: border-box;
}

.form-card.wide {
  max-width: 1080px;
  background-color: rgba(255, 255, 255, 0.75);
  padding: 50px 40px;
  margin: 20px;
  box-sizing: border-box;
}

/* ---------- Border Color Animation ---------- */
@keyframes borderColorChange {
  0% { border-color: #007bff; }
  25% { border-color: #ff5733; }
  50% { border-color: #32cd32; }
  75% { border-color: #ffcc00; }
  100% { border-color: #007bff; }
}

/* ---------- Grid Layout ---------- */
.catalog-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  padding: 0 10px;
}

/* ---------- Labels ---------- */
.catalog-form-grid label {
  font-weight: 600;
  margin-bottom: 4px;
  display: block;
}

/* ---------- Inputs & Textareas ---------- */
.catalog-form-grid input[type="text"],
.catalog-form-grid input[type="file"],
.catalog-form-grid input[type="email"],
.catalog-form-grid input[type="number"],
.catalog-form-grid input[type="url"],
.catalog-form-grid input[type="tel"],
.catalog-form-grid textarea,
.catalog-form-grid select {
  padding: 10px 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  width: 100%;
  max-width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background-color: white;
  transition: border 0.3s, box-shadow 0.3s;
}

.catalog-form-grid input:focus,
.catalog-form-grid textarea:focus,
.catalog-form-grid select:focus {
  border-color: #3a8dde;
  box-shadow: 0 0 5px rgba(58, 141, 222, 0.5);
  outline: none;
}

textarea {
  resize: vertical;
  min-height: 80px;
}
.catalog-form-grid textarea {
  text-align: left !important;
  white-space: pre-line;  /* prevents weird indentation */
}

/* ---------- Notes Section ---------- */
.catalog-notes {
  background-color: #fff8e1;
  border-left: 4px solid #ffca28;
  padding: 8px 15px;
  margin-bottom: 10px;
  border-radius: 4px;
  width: 100%;
  display: flex;
  gap: 20px;
  font-size: 14px;
  color: #555;
}

.catalog-notes ul {
  display: flex;
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style: disc inside;
}

.catalog-notes li {
  margin: 0;
}
/* ---------- Footer Buttons ---------- */
.form-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;                /* space between buttons */
  margin-top: 30px;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 0;
  flex-wrap: wrap;          /* allows wrapping on small screens */
}

.form-card .form-footer {
  max-width: 100%;
  margin: 0 auto;
}

.form-footer button {
  background: linear-gradient(to right, #3a8dde, #7f4de7);
  color: white;
  border: none;
  border-radius: 6px;
  /* ⬇️ increased padding + width */
  padding: 12px 40px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 220px;   /* was 160px */
  text-align: center;
}

.form-footer button:hover {
  transform: translateY(-2px);
  background: linear-gradient(to right, #2b6bb5, #6d3fd1);
}

/* --- Force horizontal button alignment inside the catalog form --- */
.catalog-form-grid .form-footer {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 25px;
  width: 100%;
  grid-column: 1 / -1; /* makes it span full grid width if grid layout exists */
}

.catalog-form-grid .form-footer button {
  flex: 0 0 auto;
  width: auto;
  /* ⬇️ match width with footer buttons */
  min-width: 250px;       /* was 150px */
  padding: 12px 40px;     /* was 10px 25px */
  background: linear-gradient(to right, #3a8dde, #7f4de7);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.catalog-form-grid .form-footer button:hover {
  transform: translateY(-2px);
  background: linear-gradient(to right, #2b6bb5, #6d3fd1);
}

/* ---------- Buttons ---------- */
.create-edit-button {
  margin-top: 10px;
  padding: 12px 50px;
  border: none;
  background: linear-gradient(to right, #3a8dde, #7f4de7);
  color: white;
  border-radius: 6px;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.create-edit-button:hover{
  background: linear-gradient(to right, #2c6bb6, #6d3fd1);
  transform: translateY(-2px);
}
.toast {
    position: fixed;
    top: 90px;              /* below your fixed navbar */
    right: 20px;
    z-index: 10000;         /* higher than navbar */
    background: #4caf50;
    color: #fff;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 18px;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.toast.show {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 768px) {
    .toast {
        left: 10px;
        right: 10px;
        top: 90px;
        text-align: center;
    }
}

/* ==============================
   CREATE CATALOG SECTION - MOBILE VIEW
   ============================== */
@media (max-width: 768px) {
  .create-catalog-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    padding-top: 90px;
    box-sizing: border-box;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    align-items: flex-start !important;
    margin-bottom: 20px;
  }

  .form-card.wide {
    padding: 30px 20px;
    border-width: 2px;
    margin: 10px;
  }

  .catalog-form-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
    padding: 0 10px;
  }

  .form-footer {
    flex-direction: column;
    gap: 12px;
    align-items: center;
    grid-column: span 1;
    padding-bottom: 30px;
  }

  .create-edit-button {
    width: 100%;
    font-size: 16px;
    padding: 12px;
  }

  h2 {
    font-size: 22px;
    text-align: center;
    margin-bottom: 20px;
  }

  .modal-content {
    padding: 24px 20px;
  }

  .modal-button-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
  }

  input[type="file"] {
    font-size: 14px;
  }
}

/* ==============================
   REQUEST SERVICE SECTION 
   ============================== */

.request-service-wrapper {
  min-height: 100vh;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.request-service-wrapper::-webkit-scrollbar {
  display: none;
}

.background-image-wrapper {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}

.background-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-heading {
  margin: 40px 20px 8px;
  margin-left: 140px;       
  padding-bottom: 20px;
  width: 100%;
  max-width: 1000px;
  text-align: center;
  font-family: 'Playfair Display', serif;
  font-size: 2.2rem;
  font-weight: 800;
  color: #000;
}

.page-heading + p {
  margin-top: 0;
  margin-bottom: 70px;
  margin-left: 220px;       
  font-weight: 550;
  text-align: center;
  font-size: 15px;
  line-height: 1.5;
}

.request-service-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 1000px;
  padding: 0 10px;
  z-index: 1;
}

.request-service-page {
  max-width: 500px;
  width: 100%;
  padding: 25px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(8px);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
}

.request-service-page h2 {
  margin-bottom: 20px;
  text-align: center;
  color: #333;
  font-size: 20px;
}

label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}

input[type="date"],
select {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  font-size: 16px;
  border-radius: 5px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

button {
  width: 100%;
  background-color: #4a90e2;
  color: white;
  padding: 12px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
  font-weight: bold;
}

button:hover {
  background-color: #357ac8;
}

.success-message {
  color: green;
  text-align: center;
  font-weight: bold;
}

.error-message {
  color: red;
  text-align: center;
  font-weight: bold;
}

.back-button-slott {
  margin-top: 15px;
  padding: 10px 16px;
  background-color: black !important;
  color: white !important;
  border: 1px solid white !important;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
}

.back-button-slott:hover {
  background-color: #333 !important;
}
.help-doc-link {
    color: #5a67ff;
    font-weight: 600;
    text-decoration: underline;
}

.help-doc-link:hover {
    text-decoration: none;
}

/* ==============================
   REQUEST SERVICE SECTION - MOBILE VIEW
   ============================== */
@media (max-width: 768px) {

  .request-service-page p {
    padding: 0 12px;   
    text-align: center;
  }

  .page-heading {
    font-size: 1.5rem;
    padding-bottom: 10px;
    padding-left: 0 !important;   /* 🔥 remove left padding */
    padding-right: 0 !important;
    margin-left: auto !important; /* 🔥 keep centered */
    margin-right: auto !important;
    margin-top: 100px !important;
    text-align: center;
  }

  .page-heading + p {
    margin: 8px 16px 32px;    /* space below subheading */
    margin-left: 0;           /* 🔥 remove desktop shift */
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
  }

  .request-service-page {
    width: 100%;
    padding: 15px;
  }

  button {
    font-size: 15px;
    padding: 10px;
  }

  .back-button-slott {
    font-size: 14px;
  }
  .request-service-wrapper p {
    padding: 0 16px;         /* 🔥 makes it neat and centered */
    text-align: center;
    box-sizing: border-box;
  }
}

/* ==========================================================
   SHOWMYBIZ PLANS PAGE — Final Polished Version
========================================================== */

.plans-page {
    width: 100%;
    min-height: 100vh;
    padding-top: 40px;
}

.plans-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.plans-title {
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 40px;
    color: #1a0033;
}

/* ====================================================
   GRID LAYOUT
==================================================== */
.plans-container {
    width: 100%;
    max-width: 1400px; /* increased from 1100px */
    margin: 0 auto;
}

.plans-grid {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important; /* force 1 row */
    gap: 60px !important; /* more breathing space */
      padding: 0 20px 60px;   /* 👈 bottom padding added */
}

.plans-page-body .plan-card {
    width: 370px; /* increased from 330px */
    height: 600px;
    perspective: 1400px;
}

/* ====================================================
   CARD + FLIP WRAPPER
==================================================== */
.plans-page-body .plan-card {
    width: 400px;
    height: 600px;
    perspective: 1400px;
}

.plan-card .flip-inner {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.6s ease;
}

.plan-card.flipped .flip-inner {
    transform: rotateY(180deg);
}

/* ====================================================
   CARD FACE STYLING
==================================================== */
.plan-face {
    position: absolute;
    inset: 0;
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
}

.plan-face.back {
    transform: rotateY(180deg);
}

/* ====================================================
   HEADINGS + FEATURES
==================================================== */
.plan-name {
    font-size: 22px;
    font-weight: 700;
    color: #0a2b7a;
    text-align: center;
    margin-bottom: 16px;
}

/* FEATURES */
.plans-page-body .feature {
    background: #f3e5f5;
    padding: 12px 12px;
    border-radius: 10px;
    margin-bottom: 10px;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.check { color: green; margin-right: 10px; font-size: 18px; }
.cross { color: red; margin-right: 10px; font-size: 18px; }

/* Freemium message */
.plans-page-body .freemium-message {
    color: red;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    margin-top: 10px;
}

/* ====================================================
   BUTTONS
==================================================== */
.plan-button {
    margin-top: auto;
    padding: 14px;
    border-radius: 10px;
    border: none;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    width: 100%;
}

.plan-button.free {
    background: #4caf50;
    color: white;
}

.plan-button.premium {
    background: linear-gradient(90deg, #4b39ef, #7b5fff);
    color: white;
}

.plan-button.verify {
    background: #0a2b7a;
    color: white;
}

/* "Back" button small styling */
.back-button {
    margin-left: 10px;
    padding: 12px 14px;
    font-size: 14px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #aaa;
    cursor: pointer;
}

/* ====================================================
   PAYMENT BACK SIDE
==================================================== */
.payment-title {
    text-align: center;
    font-size: 20px;
    color: #0a2b7a;
    margin-bottom: 10px;
}

.qr-area {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 15px;
}

.plans-page-body .transaction-input {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    margin-top: 10px;
    margin-bottom: 15px; /* <-- add spacing here */
    font-size: 15px;
}

/* Fix white box issue */
.payment-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
    width: 100%;
}
.payment-input-wrap {
    margin-bottom: 18px; /* <-- perfect spacing */
}

/* ====================================================
   POPUP
==================================================== */
.plan-popup {
    position: fixed;
    top: 20px;
    right: 20px;
    background: white;
    padding: 14px 18px;
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.15);
    z-index: 9999;
    font-size: 15px;
    max-width: 300px;
    /* ★ fade-out support */
    opacity: 1;
    transition: opacity 0.6s ease;
}

.plan-popup.success { border-left: 6px solid #28a745; }
.plan-popup.warning { border-left: 6px solid #ff9800; }

/* ★ Hidden state after timeout */
.plan-popup.hide {
    opacity: 0;
}
.enterprise-popup-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.65);
    display: flex; 
    justify-content: center; 
    align-items: center;
    z-index: 99999;
    overflow: auto; /* allows scrolling if form is tall */
    padding: 20px;
}

.enterprise-popup {
    background: #fff;
    width: 95%;
    max-width: 600px; /* increased width */
    max-height: 90vh; /* prevents vertical overflow */
    overflow-y: auto; /* enables scrolling inside popup */
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    animation: fadeIn 0.3s ease;
}

.enterprise-popup h2 {
    text-align: center;
    margin-bottom: 20px;
}

.input-group {
    margin-bottom: 15px;
}

.input-group label {
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.input-group input,
.input-group textarea {
    width: 100%;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #aaa;
    font-size: 15px;
}

.close-btn {
    margin-top: 12px;
    width: 100%;
    padding: 12px;
    background: #ff4d4d !important;   /* FORCE red color */
    color: white !important;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-size: 20px;
    font-weight: 600;
}

/* Keep SAME shade on hover */
.close-btn:hover,
.close-btn:active,
.close-btn:focus {
    background: #ff4d4d !important;
    color: white !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ==========================================================
   SHOWMYBIZ PLANS PAGE — MOBILE VIEW
========================================================== */
@media (max-width: 768px) {

    /* ⭐ TEXT CLARITY ONLY – Do NOT transform the entire card */
    .plan-face * {
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
    }

    /* ⭐ Remove 3D completely (we will swap faces manually) */
    .plan-card {
        perspective: none !important;
    }

    .flip-inner {
        transform: none !important;
        transform-style: flat !important;
    }

    /* ⭐ VERY IMPORTANT: Make sure backface is visible */
    .plan-face {
        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
        transform: none !important; /* no rotation */
        display: flex;
    }

    /* ⭐ FRONT face visible by default */
    .plan-face.front {
        display: flex !important;
    }

    /* ⭐ BACK face hidden by default */
    .plan-face.back {
        display: none !important;
    }

    /* ⭐ When flipped → show BACK face (QR becomes visible) */
    .plan-card.flipped .plan-face.front {
        display: none !important;
    }
    .plan-card.flipped .plan-face.back {
        display: flex !important;
    }

    /* Page layout (your existing settings) */
    .plans-grid .plan-card:last-child {
        margin-bottom: 40px;
    }
    .plans-page {
        padding-top: 20px;
    }
    .plans-container {
        padding: 0 10px;
    }
    .plans-title {
        font-size: 2rem;
        margin-bottom: 20px;
        padding: 0 10px;
    }
    .plans-grid {
        flex-direction: column;
        gap: 30px;
        padding: 0 8px;
    }
    .plan-card {
        width: 100%;
        max-width: 360px;
        height: auto;
        margin: 0 auto;
    }
    .plan-face {
        min-height: 520px;
        padding: 18px 16px;
    }
    .plan-button {
        padding: 12px;
        font-size: 14px;
    }
    .plans-page-body .feature {
        font-size: 14px;   /* reduced for mobile */
        padding: 10px;     /* optional: tighter spacing */
    }

}

/* ==========================================
   ADD CATEGORIES AND ITEMS SECTION
   ========================================== */
/* ==========================================
   ✅ FIX: STABLE TWO-COLUMN LAYOUT
   ========================================== */

.desktop-two-column {
    display: flex;
    align-items: stretch;
    gap: 80px;
    width: 100%;
}

/* Lock height ONLY when Items or Add tab is visible */
#tab-items.active,
#tab-add.active {
    min-height: 520px;   /* stable layout */
    display: flex;
}

/* Explicitly exclude appearance tab */
#tab-appearance {
    min-height: auto !important;
}

/* Left column content */
#tab-items,
#tab-add {
    flex: 1 1 60%;
}

/* Items table container */
.ai-items-table-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

/* Table fills space even when empty */
.ai-items-table {
    flex: 1;
}

/* Center empty / no-category message */
.ai-items-table tbody tr:only-child td {
    height: 100%;
    vertical-align: middle;
}

/* ===============================
   QUICK CATEGORY UI
================================= */

.ai-category-actions {
    display: flex;
    align-items: center;   
    gap: 25px;             
    margin-bottom: 15px;
}

/* Add Category Button – slightly more visible */
.ai-add-category-btn {
    padding: 10px 20px;    /* 🔥 increased but not bulky */
    background: #6c63ff;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 15.5px;     /* 🔥 small boost */
    cursor: pointer;

    width: auto;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Hover polish */
.ai-add-category-btn:hover:not(:disabled) {
    background: #5a52e0;
}

/* Disabled */
.ai-add-category-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* Push delete dropdown to far right */
.ai-delete-category-select {
    margin-left: auto;          
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 14px;
    min-width: 180px;
}

.ai-add-category-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}
/* Push delete category dropdown to extreme right of table header area */
/* Delete category dropdown – aligned & taller */
.ai-delete-category-select {
    min-width: 210px;          /* matches Add Category button width */
    height: 42px;              /* 🔥 increased height */
    padding: 8px 14px;         /* vertical + horizontal balance */
    border-radius: 9px;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    align-self: center;       
    margin-top: 5px;
}

/* Disabled state */
.ai-delete-category-select:disabled {
    background: #f1f1f1;
    cursor: not-allowed;
}

/* Modal */
.ai-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 3000;
    align-items: center;
    justify-content: center;
}

.ai-modal {
    background: #fff;
    padding: 22px;
    border-radius: 14px;
    width: 90%;
    max-width: 380px;
}

.ai-modal h3 {
    margin-bottom: 14px;
}

.ai-modal input,
.ai-modal textarea {
    width: 100%;
    margin-bottom: 12px;
    padding: 10px;
}

.ai-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.ai-limit-warning {
    margin-top: 10px;
    color: red;
    font-size: 14px;
    text-align: center;
}
/* Delete confirmation buttons */
.ai-confirm-btn {
    padding: 8px 16px;
    background: #d62828;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}

.ai-confirm-btn:hover {
    background: #b71f1f;
}

.ai-cancel-btn {
    padding: 8px 14px;
    background: #e0e0e0;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
}
/* Center text inside delete confirmation modal */
#deleteCategoryModal .ai-modal h3,
#deleteCategoryModal .ai-modal p,
#deleteCategoryModal #deleteCategoryName {
    text-align: center;
}
/* =========================================
   🔥 REMOVE EXTRA SPACE BELOW FOOTER (DESKTOP)
   ========================================= */

/* Ensure page wrapper does not exceed viewport */
.add-items-body,
.ai-add-items-page {
    min-height: 100%;
}

/* Remove accidental bottom spacing */
.ai-add-items-page {
    padding-bottom: 0 !important;
}

/* Footer should sit flush at bottom */
footer {
    margin-bottom: 0 !important;
}

/* Kill invisible overflow causing scroll */
body {
    overflow-x: hidden;
}
/* ==========================================
   ADD CATEGORIES AND ITEMS SECTION - MOBILE VIEW
   ========================================== */
@media (max-width: 768px) {

  /* Remove artificial bottom spacing */
  .ai-add-items-page {
    min-height: auto !important;
    padding-bottom: 0 !important;
  }

  /* Ensure footer sits flush at bottom */
  footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Prevent body/html from adding scroll gap */
  html, body {
    height: auto;
    overflow-x: hidden;
  }
}

.ai-add-items-page {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: #333;
  position: relative;
  min-height: 100vh;
  overflow-y: auto;
  padding-bottom: 2rem;
}

.ai-add-items-bg {
  position: fixed;        /* 🔑 makes background continuous on scroll */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  filter: brightness(0.95);
}

/* 🔹 Main layout */
.ai-add-items-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 80px; /* Increased spacing between table and form card */
  padding: 2rem 1.5rem;
  max-width: 1550px;
  margin: 0 auto;
  box-sizing: border-box;
}
/* 🔹 Filter section */
.ai-filter-section {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline; /* ✅ fixes slight up/down misalignment */
  gap: 25px;
  margin-bottom: 0rem;
}

/* ✅ Keep style same but normalize heights precisely */
.ai-filter-section select,
.ai-filter-section input,
.ai-filter-section button {
  padding: 10px 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-size: 1rem;
  background-color: #fff;
  color: #333;
  box-sizing: border-box;
  height: 44px;              /* consistent height for all fields */
  line-height: normal;       /* natural alignment */
  display: inline-flex;      /* ✅ ensures proper vertical centering */
  align-items: center;       /* ✅ aligns text perfectly inside */
  margin-bottom: 0px;
}

/* Keep your widths as is */
.ai-category-select,
.search-input,
.availability-select,
.price-input {
  width: 250px;
}

.availability-checkbox {
  width: 18px !important;
  height: 18px !important;
  cursor: pointer;
  appearance: checkbox;
  -webkit-appearance: checkbox;
}

.ai-items-table-container { 
  flex: 1 1 60%; 
  background: #fff; 
  padding: 1.5rem 2rem; 
  border-radius: 16px; 
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); 
  overflow-y: auto; 
  max-height: calc(100vh - 0px); 
  font-family: "Poppins", sans-serif; 
}

/* Header above table */
.ai-items-header {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  color: #222;
  margin-bottom: 1.2rem;
  letter-spacing: 0.3px;
}

.ai-items-header::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: #6c63ff;
  margin: 0.8rem auto 0;
  border-radius: 3px;
}

/* Table */
.ai-items-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
  color: #333;
  border-radius: 8px;
  overflow: hidden;
}

/* 🔹 Column Widths for better layout */
.ai-items-table th:nth-child(1),
.ai-items-table td:nth-child(1) {
  width: 15%; /* Name */
}

.ai-items-table th:nth-child(2),
.ai-items-table td:nth-child(2) {
  width: 35%; /* Description - largest column */
}

.ai-items-table th:nth-child(3),
.ai-items-table td:nth-child(3) {
  width: 15%; /* Price */
}

.ai-items-table th:nth-child(4),
.ai-items-table td:nth-child(4) {
  width: 10%; /* Available */
}

.ai-items-table th:nth-child(5),
.ai-items-table td:nth-child(5) {
  width: 10%; /* Image */
}

.ai-items-table th:nth-child(6),
.ai-items-table td:nth-child(6),
.ai-items-table th:nth-child(7),
.ai-items-table td:nth-child(7) {
  width: 15%; /* Edit + Delete */
  text-align: center;
}

.ai-items-table th {
  background-color: #f5f6fa;
  font-weight: 600;
  padding: 10px;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: #444;
  letter-spacing: 0.5px;
}

.ai-items-table td {
  border-bottom: 1px solid #ececec;
  padding: 8px 10px;
  text-align: center;
  vertical-align: middle;
  transition: background-color 0.2s ease-in-out;
}

.ai-items-table tr:hover {
  background-color: #fafaff;
}

/* Left align first two columns */
.ai-items-table td:first-child,
.ai-items-table td:nth-child(2) {
  text-align: left;
}

/* Compact input styling */
.ai-inline-input,
.ai-inline-textarea {
  border: none;
  background: transparent;
  width: 100%;
  font-size: 0.9rem;
  color: #222;
  padding: 3px 5px;
  line-height: 1.4;
  resize: none;
  font-family: "Poppins", sans-serif;
  border-radius: 5px;
}

.ai-inline-input[readonly],
.ai-inline-textarea[readonly] {
  background: transparent;
  color: #222;
}

.ai-inline-input.editing,
.ai-inline-textarea.editing {
  border: 1px solid #ccc;
  background: #fff;
  outline: none;
}

/* 🔹 Description height adjustment */
.ai-inline-textarea {
  min-height: 70px;
  max-height: 90px;
  overflow-y: auto;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.4;
}

/* 🔹 Ultra-thin scrollbar */
.ai-inline-textarea::-webkit-scrollbar {
  width: 2px;      /* SUPER thin */
}

.ai-inline-textarea::-webkit-scrollbar-track {
  background: transparent;
}

.ai-inline-textarea::-webkit-scrollbar-thumb {
  background: #c4c4c4;
  border-radius: 10px;
}

.ai-inline-textarea::-webkit-scrollbar-thumb:hover {
  background: #9e9e9e;
}

/* Firefox — ultra thin */
.ai-inline-textarea {
  scrollbar-width: thin;
  scrollbar-color: #c4c4c4 transparent;
}

/* Image Column */
.ai-items-table td img {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  object-fit: cover;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* 🔹 Edit Actions */
.ai-edit-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Pencil icon (always visible) */
.ac-edit-btn {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease;
}

.ac-edit-btn i {
  color: red;
  font-size: 1.1rem;
}

.ac-edit-btn:hover {
  transform: scale(1.1);
}

/* Save & Cancel buttons (icon only) */
.ac-save-btn,
.ac-cancel-btn {
  background: transparent !important;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  transition: transform 0.2s ease;
}

.ac-save-btn i { color: green; }
.ac-cancel-btn i { color: red; }

.ac-save-btn:hover,
.ac-cancel-btn:hover {
  transform: scale(1.2);
}

/* 🔹 Add Item Form */
.ai-add-item-form-container {
  flex: 1 1 25%;
  background: linear-gradient(to right, #a18cd1, #fbc2eb);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  padding: 2rem;
  color: #333;
  text-align: center;
}

.ai-add-item-form-container h2 {
  font-size: 1.7rem;
  margin-bottom: 1.2rem;
  font-weight: 600;
}

.ai-add-item-form-container form {
  display: flex;
  flex-direction: column;
  gap: 1.2rem; /* increased spacing between elements */
}

.ai-add-item-form-container input,
.ai-add-item-form-container textarea {
  width: 100%;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-family: inherit;
  font-size: 1rem;
  background-color: #fff;
  color: #222;
}

/* ✅ Toggle Switch for “Available” */
.toggle-switch {
  display: flex;
  align-items: center;
  justify-content: left;
  gap: 8px;
  position: relative;
  
}

.toggle-switch input[type="checkbox"] {
  width: 0;
  height: 0;
  opacity: 0;
}

.toggle-switch .slider {
  position: relative;
  width: 45px;
  height: 24px;
  background-color: #ccc;
  border-radius: 30px;
  transition: background 0.3s ease;
  cursor: pointer;
}

.toggle-switch .slider::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: white;
  transition: transform 0.3s ease;
}

.toggle-switch input:checked + .slider {
  background-color: #6c63ff;
}

.toggle-switch input:checked + .slider::before {
  transform: translateX(21px);
}

.toggle-switch .label-text {
  font-weight: 500;
  font-size: 1rem;
}

/* 🔹 Add Button */
.ai-add-item-form-container button {
  width: 100%;
  padding: 12px;
  background: linear-gradient(to right, #3a8dde, #7f4de7);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-weight: bold;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s ease;
}

.ai-add-item-form-container button:hover {
  background: linear-gradient(to right, #2c6bb6, #6d3fd1);
}

/* Scrollbar */
.ai-items-table-container::-webkit-scrollbar {
  width: 6px;
}
.ai-items-table-container::-webkit-scrollbar-thumb {
  background-color: #6c63ff;
  border-radius: 10px;
}

/* ✅ Toast popup - bottom-right clean style */
.toast-message {
  position: fixed;
  top: 80px;
  right: 25px;
  background: greenyellow;
  color: black;
  padding: 12px 18px;
  border-radius: 8px;
  font-size: 1.2rem;
  font-weight: 500;
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.4s ease;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.toast-message.show {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.toast-message.error {
  background-color: #dc3545; /* red for errors */
}

.toast-message.success {
  background-color: #28a745; /* green for success */
}
/* Fix image column width → now 6th column (because Featured added) */
.ai-items-table td:nth-child(6),
.ai-items-table th:nth-child(6) {
    width: 90px;
    max-width: 90px;
    text-align: center;
}

/* Keep image small & centered */
.ai-item-image {
    width: 45px;
    height: 45px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    margin: 0 auto 6px auto;
}

/* Hide file input */
.ai-image-input {
    display: none;
}

/* Expired subscription full-page overlay */
.subscription-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}

.subscription-expired-modal {
  background: #ffffff;
  padding: 24px 28px;
  border-radius: 16px;
  max-width: 420px;
  width: 90%;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0,0,0,0.25);
  animation: fadeInModal 0.25s ease-out;
}

.subscription-expired-modal h2 {
  margin: 0 0 10px;
  color: #d62828;
  font-size: 22px;
  font-weight: 700;
}

.subscription-expired-modal p {
  margin: 0 0 18px;
  color: #444;
  font-size: 15px;
  line-height: 1.5;
}

.subscription-renew-btn {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 999px;
  background: #d62828;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  box-shadow: 0 6px 16px rgba(214,40,40,0.35);
}

.subscription-renew-btn:hover {
  filter: brightness(1.05);
}

body.add-items-body.expired-lock {
  overflow: hidden;
}

@keyframes fadeInModal {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Header bar layout */
.ai-items-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    gap: 12px;
}

/* Heading */
.ai-items-title {
    font-size: 20px;
    font-weight: 600;
}

/* Dropdown size */
.ai-category-table-select {
    max-width: 220px;
}

/* 🔽 MOBILE VIEW FIX */
@media (max-width: 768px) {
    .ai-items-header-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .ai-category-table-select {
        width: 100%;
        max-width: 100%;
        margin-top: 8px;
    }
}
/* Header row for Add Item / Service */
.ai-add-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

/* Preview button */
.preview-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;                 /* slightly more spacing */

    padding: 8px 16px;        /* 🔼 bigger touch area */
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.45); /* 🔼 more visible */
    color: #4b2ccf;

    font-size: 15px;          /* 🔼 text size */
    font-weight: 600;
    text-decoration: none;

    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: all 0.2s ease;
}

/* Hover effect */
.preview-link:hover {
    background: rgba(255, 255, 255, 0.65);
    transform: translateY(-1px);
}

/* Preview icon */
.preview-link img {
    width: 20px;              /* 🔼 icon size */
    height: 20px;
    display: block;
}

/* ==========================================
   CATALOG APPEARANCE SECTION
   ========================================== */

.catalog-appearance-section {
    margin: 0 auto 60px;          /* no top margin */
    width: 100%;
    max-width: 1400px;
    padding: 0 48px;
}

/* REMOVE outer title spacing influence */
.catalog-appearance-title {
    display: none;
}

/* Main card */
.catalog-appearance-card {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 64px;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(6px);

    border-radius: 24px;
    padding: 56px 64px;

    box-shadow: 0 20px 45px rgba(0,0,0,0.12);
}

/* ===== LEFT SIDE ===== */
.catalog-appearance-visual {
    flex: 0 0 520px;
}

.catalog-appearance-visual img {
    width: 100%;
    max-width: 540px;
    border-radius: 18px;
    display: block;
}

/* ===== RIGHT CONTROLS ===== */
.catalog-appearance-controls {
    flex: 1;
    max-width: 520px;

    display: flex;
    flex-direction: column;
    align-items: center;          /* 🔥 center everything */
    text-align: center;
}

/* MAIN TITLE */
.catalog-style-heading {
    font-size: 38px;              /* 🔥 increased font */
    font-weight: 700;
    color: #2a2d34;

    margin: 0 0 12px 0;           /* 🔥 no top space */
    padding: 0;
}

/* DESCRIPTION */
.catalog-style-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #666;

    margin: 0 0 30px 0;
    max-width: 420px;
}

/* Center form */
.catalog-appearance-controls form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Options */
.appearance-option {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-bottom: 14px;
    font-weight: 500;
    font-size: 15px;
    color: #333;
}

/* Color picker */
.appearance-color-picker {
    width: 100%;
    max-width: 280px;
    height: 48px;
    border-radius: 10px;
    border: 1px solid #ccc;
    margin: 0 auto 26px;
    cursor: pointer;
}

/* ===== PATTERN DOTS ===== */
.appearance-patterns {
    display: flex;
    align-items: center;
    justify-content: center;      /* 🔥 center dots */
    gap: 18px;
    margin: 16px 0 34px;
}

/* Hide radios */
.appearance-patterns input[type="radio"] {
    display: none;
}

/* Label wrap */
.appearance-patterns label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

/* Pattern dot */
.pattern-dot {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;

    /* IMPORTANT FIXES */
    overflow: hidden;          /* forces true circle */
    box-sizing: border-box;    /* prevents shape distortion */

    outline: 2px solid transparent; /* use outline instead of border */
    outline-offset: 2px;

    transition: transform 0.2s ease, outline 0.2s ease;
}

/* Selected state */
.appearance-patterns input:checked + .pattern-dot {
    outline-color: #5a67ff;
    transform: scale(1.1);
}

/* Gradients */
/* ===== EXACT PATTERN COLORS ===== */

/* Pattern 1 – Soft Waves */
.pattern-dot.soft_waves {
    background:
        radial-gradient(circle at 20% 20%, #a8c0ff, transparent 60%),
        radial-gradient(circle at 80% 80%, #fbc2eb, transparent 60%),
        linear-gradient(135deg, #d9a7c7, #fffcdc);
}

/* Pattern 2 – Pastel Petals */
.pattern-dot.pastel_petals {
    background:
        radial-gradient(circle at 30% 40%, #ffd1dc, transparent 50%),
        radial-gradient(circle at 70% 60%, #d8b4fe, transparent 50%),
        radial-gradient(circle at 50% 80%, #b2f7ef, transparent 50%),
        linear-gradient(135deg, #fef9ff, #f3e7ff);
}

/* Pattern 3 – Pearl Glow */
.pattern-dot.pearl_glow {
    background:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.7), transparent 60%),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,0.5), transparent 60%),
        linear-gradient(120deg, #a1c4fd, #c2e9fb);
}

/* Pattern 4 – Sunset Blend */
.pattern-dot.sunset_blend {
    background:
        linear-gradient(135deg, #ff9a9e, #fad0c4 30%, #fbc2eb);
}

/* Pattern 5 – Aurora Flow */
.pattern-dot.aurora_flow {
    background:
        radial-gradient(circle at 20% 30%, rgba(255,140,200,0.55), transparent 65%),
        radial-gradient(circle at 80% 40%, rgba(120,180,255,0.50), transparent 65%),
        radial-gradient(circle at 50% 80%, rgba(120,255,200,0.50), transparent 65%),
        linear-gradient(135deg, rgba(255,170,220,0.65), rgba(180,200,255,0.65)),
        linear-gradient(225deg, rgba(255,240,200,0.60), rgba(180,255,230,0.60));
}

/* CTA */
.appearance-apply-btn {
    width: 100%;
    max-width: 360px;
    padding: 16px 0;

    border-radius: 14px;
    border: none;
    background: linear-gradient(90deg,#5a67ff,#6bc1ff);

    color: #fff;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;

    box-shadow: 0 10px 22px rgba(90,103,255,0.35);
}

/* Warning */
.appearance-warning {
    margin-top: 16px;
    font-size: 16px;          /* 🔥 increased size */
    font-weight: 600;         /* better readability */
    text-align: center;
    line-height: 1.5;
}

/* Success */
.appearance-warning.success {
    color: #2d7a2d;
}

/* Error */
.appearance-warning.error {
    color: #d62828;
}

/* RESTORE DESKTOP LAYOUT */
.desktop-two-column {
    display: flex;
    gap: 32px;              /* slightly tighter gap */
    align-items: flex-start;
}

/* ITEMS TABLE – dominant */
.desktop-two-column #tab-items {
    flex: 2.2;              /* ⬅️ wider */
    min-width: 0;           /* prevents overflow issues */
}

/* ADD ITEM FORM – compact */
.desktop-two-column #tab-add {
    flex: 0.9;              /* ⬅️ reduced width */
    max-width: 420px;       /* keeps form neat */
}

/* ================================
   APPEARANCE TAB — MOBILE FIX
   ================================ */

/* Mobile & Tablet */
@media (max-width: 768px) {

    /* Ensure tab behaves like a normal block */
    #tab-appearance {
        display: block;
        width: 100%;
        position: relative;
        margin: 0;
        padding: 0;
    }

    .catalog-appearance-section {
        width: 100%;
        padding: 0 16px 40px;
        margin: 0 auto;
    }

    /* Card becomes vertical */
    .catalog-appearance-card {
        flex-direction: column;
        gap: 24px;

        padding: 20px;
        border-radius: 18px;
    }

    /* IMAGE BLOCK */
    .catalog-appearance-visual {
        width: 100%;
        flex: none;
        margin: 0;
        padding: 0;
        text-align: center;
    }

    .catalog-appearance-visual img {
        display: block;
        width: 100%;
        max-width: 260px;
        height: auto;
        margin: 0 auto;        /* 🔥 removes bottom space */
        padding: 0; 
    }

    /* CONTROLS */
    .catalog-appearance-controls {
        width: 100%;
        max-width: none;
        align-items: center;
        text-align: center;
        margin: 0;
        padding: 0;
    }

    .catalog-style-heading {
        font-size: 22px;
        margin: 0 0 8px;
    }

    .catalog-style-desc {
        font-size: 14px;
        line-height: 1.5;
        margin: 0 0 18px;
        padding: 0 6px;
    }

    /* Options */
    .appearance-option {
        font-size: 14px;
        margin-bottom: 10px;
    }

    /* Color picker */
    .appearance-color-picker {
        max-width: 240px;
        height: 44px;
        margin-bottom: 20px;
    }

    /* Pattern dots */
    .appearance-patterns {
        flex-wrap: wrap;
        gap: 14px;
        margin: 10px 0 22px;
    }

    .pattern-dot {
        width: 42px;
        height: 42px;
    }

    /* Button */
    .appearance-apply-btn {
        max-width: 100%;
        padding: 14px;
        font-size: 15px;
    }

    /* Messages */
    .appearance-warning {
        font-size: 14px;
        margin-top: 12px;
    }
    .mobile-tab-section {
        display: none !important;
    }
    .mobile-tab-section.active {
        display: block !important;
    }

    /* Remove container offset caused by bg image */
    #tab-appearance.active {
        margin-top: -80px;   /* pull up to tabs */
    }

    /* Do NOT affect other tabs */
    #tab-items,
    #tab-add {
        margin-top: 0;
    }

    /* Ensure appearance card itself has no top spacing */
    #tab-appearance .catalog-appearance-section {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}


/* =========================================================
   DESKTOP – PERFECT EQUAL HEIGHT TWO COLUMN LAYOUT
   ========================================================= */
@media (min-width: 769px) {

    /* ❌ Mobile tabs NEVER on desktop */
    .mobile-tabs {
        display: none !important;
    }

    .mobile-tab-section {
        display: block !important;
        padding: 0 !important;
        height: 100%;
    }

    /* 🔥 Parent defines shared height */
    .desktop-two-column {
        display: flex;
        gap: 40px;
        align-items: stretch;          /* ✅ KEY FIX */
        width: 100%;
        min-height: 520px;             /* ✅ shared baseline height */
    }

    /* LEFT – Items table */
    #tab-items {
        flex: 0 0 68%;
        max-width: 68%;
        min-width: 68%;
        display: flex;                /* ✅ stretch child */
    }

    /* RIGHT – Add item form */
    #tab-add {
        flex: 0 0 32%;
        max-width: 32%;
        min-width: 32%;
        display: flex;                /* ✅ stretch child */
    }

    /* 🔥 BOTH inner containers stretch equally */
    .ai-items-table-container,
    .ai-add-item-form-container {
        flex: 1;                      /* ✅ equal height */
        display: flex;
        flex-direction: column;
        height: 100%;
    }
}

/* =========================================================
   MOBILE TABS SYSTEM (≤768px)
   ========================================================= */
@media (max-width: 768px) {

    /* ---------- Tabs bar ---------- */
    .mobile-tabs {
        display: flex;
        position: sticky;
        top: 0;
        z-index: 100;

        background: #ffffff;
        border-bottom: 1px solid #e5e7eb;

        padding: 6px;
        gap: 6px;
    }

    .tab-btn {
        flex: 1;
        padding: 8px 0;
        font-size: 13px;
        font-weight: 600;

        border: none;
        border-radius: 8px;
        background: transparent;
        color: #6b7280;

        cursor: pointer;
        transition: all 0.2s ease;
    }

    .tab-btn.active {
        background: linear-gradient(135deg, #5a67ff, #6bc1ff);
        color: #ffffff;
    }

    /* ---------- Sections ---------- */
    .mobile-tab-section {
        display: none;
        padding: 0;              /* 🔥 remove space under tabs */
        margin: 0;
        overflow-x: hidden;
    }
    .mobile-tab-section.active {
        display: block;
    }
}

/* =========================
   MOBILE TABS – OVERFLOW FIX
========================= */
@media (max-width: 768px) {

    /* 🔒 Prevent any horizontal scroll globally */
    html, body {
        overflow-x: hidden;
    }

    /* Tabs wrapper */
    .mobile-tabs {
        width: 100%;
        max-width: 100vw;          /* 🔥 key fix */
        box-sizing: border-box;

        display: flex;
        gap: 6px;

        padding: 6px;
        margin: 0;

        overflow-x: hidden;        /* 🔥 stop spill */
    }

    /* Individual tab buttons */
    .tab-btn {
        flex: 1 1 0;               /* 🔥 allow proper shrinking */
        min-width: 0;              /* 🔥 critical for flex overflow */

        white-space: nowrap;
        text-align: center;

        box-sizing: border-box;
    }
     /* 🔥 FIX space ABOVE tabs (filters / search section) */
    .ai-search-filters,
    .ai-filters,
    .items-filters,
    .ai-top-bar,
    .filters-wrapper {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .mobile-tabs {
        margin-top: -50px;   /* 🔥 THIS fixes the visible gap */
    }

}


/* =========================================================
   MOBILE – ITEMS + FORM ORDER & SPACING
   ========================================================= */
@media (max-width: 768px) {

    .ai-add-items-container {
        display: flex;
        flex-direction: column;
    }

    /* Items table first */
    .ai-items-table-container {
        order: 1;
        width: 100%;
        min-height: 420px;
        margin-bottom: 0;
    }

    /* Add item form second */
    .ai-add-item-form-container {
        order: 2;
        width: 100%;
        margin-top: 0;
        min-height: auto;
        border-radius: 16px;
    }
}

/* =========================================================
   EMPTY TABLE VISUAL (NO SHRINK)
   ========================================================= */
.ai-items-table-container table tbody tr td[colspan] {
    padding: 60px 0;
    text-align: center;
    color: #666;
}

/* ============================
   MOBILE VIEW FIXES (≤768px)
============================ */
@media screen and (max-width: 768px) {

  /* 🔥 Order: Card first, then table */
  .ai-add-items-container {
    display: flex;
    flex-direction: column;
  }

  .ai-add-item-form-container {
    order: 2;
    width: 100%;
    max-width: 500px;
  }
  .ai-add-item-form-container h2 {
    font-size: 24px;     /* reduced from default (~24px) */
    font-weight: 600;
  }
  .ai-items-table-container {
    order: 1;
    width: 100%;
    max-width: 500px;
  }

  /* 🔥 Filters stacked neatly */
  .ai-filter-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 0px;
    margin-bottom: 0px;
  }

  .ai-filter-section select,
  .ai-filter-section input {
    width: 100%;
    box-sizing: border-box;
  }

  /* 🔥 Min + Max Price in one row */
  .ai-price-row {
    display: flex;
    width: 100%;
    gap: 10px;
  }

  .ai-price-row .min-price,
  .ai-price-row .max-price {
    flex: 1;
  }

  /* 🔥 Table font + spacing */
  .ai-items-table th,
  .ai-items-table td {
    font-size: 0.9rem;
    padding: 10px 12px;
  }

  /* 🔥 Increase Name + Description column widths ONLY */
  .ai-items-table th:nth-child(1),
  .ai-items-table td:nth-child(1) {
    min-width: 140px;
  }

  .ai-items-table th:nth-child(2),
  .ai-items-table td:nth-child(2) {
    min-width: 200px;
  }
}
/* Remove ONLY the vertical gap between each section */
@media (max-width: 768px) {

  /* Remove bottom margin between all main sections */
  .ai-add-items-container > * {
      margin-bottom: 0 !important;
  }

  /* Filter section gap fix */
  .ai-filter-section {
      margin-bottom: 0 !important;
  }

  /* Items table container gap fix */
  .ai-items-table-container {
      margin-bottom: 0 !important;
      margin-top: 0px !important;
  }

  /* Add item form gap fix */
  .ai-add-item-form-container {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
  }

  /* Compact section header (the white box title) */
  .ai-items-header {
      margin-bottom: 5px !important;
      margin-top: 5px !important;
  }
}
/* ==========================================
   CATALOG NAVBAR SECTION 
   ========================================== */

.catalog-navbar {
  background-color: black;
  padding: 10px 40px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

.navbar-content {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  justify-content: space-between;
  box-sizing: border-box;
}

.center-block {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  margin-left: 100px;
}

.business-logo {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  margin-right: 10px;
}

.name-tagline {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
    padding-left: 10px; /* shift right */
}

.business-name {
  font-size: 1.9rem;
  color: white;
  font-weight: bold;
  align-items: center;
}

.business-tagline {
  font-size: 1.1rem;
  color: #ccc;
  font-style: italic;
  margin-top: 4px;
  transform: translateX(100px); /* smooth right shift */

}
/* Right Controls — perfect alignment */
.right-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;   /* clean spacing */
  margin-left: auto;
  margin-right: -70px;
}

/* Search icon */
.search-icon-cat {
  color: white;
  font-size: 22px;
  cursor: pointer;
  margin: 0;           /* REMOVE margin-top */
  display: flex;
  align-items: center; /* vertically center */
}

/* Category dropdown */
.category-select {
  padding: 6px 10px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background-color: #fff;
  cursor: pointer;
  width: 160px;
  margin: 0;           /* REMOVE margin-top */
  height: 38px;        /* match button height */
  display: flex;
  align-items: center;
}

/* Contact Us button */
.contact-button {
  background: transparent;
  color: white;
  border: 2px solid white;
  padding: 6px 22px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
  margin: 0;           /* REMOVE negative margin */
  height: 38px;        /* same height */
  display: flex;
  align-items: center;
}

.contact-button:hover {
  background: white;
  color: black;
}

/* Mobile search icon */
.search-icon-mobile {
  display: none;
  color: white;
  font-size: 20px;
  cursor: pointer;
}

/* Mobile icons container */
.nav-icons-mobile {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}


/* Search box */
.search-input-container {
  width: 100%;
  position: fixed;
  top: 80px;
  left: 0;
  z-index: 999;
  display: flex;
  justify-content: flex-end;
  padding: 20px 60px 20px 0px;
  box-sizing: border-box;
}

.search-input-container input {
  width: 100%;
  max-width: 500px;
  padding: 10px 16px;
  font-size: 16px;
  border-radius: 6px;
  border: 1px solid black;
  outline: none;
  background-color: white;
  color: black;
  margin-top: 10px;
}

/* Hide in desktop */
.mobile-only {
  display: none;
}
/* ==========================================
   CATALOG NAVBAR SECTION - MOBILE VIEW
   ========================================== */
@media (max-width: 768px) {
  .catalog-navbar {
    padding: 8px 12px;
    height: 70px;
    background-color: black;
  }

  .mobile-only {
    display: flex !important;
    align-items: center;
    gap: 12px;
  }

  .search-icon-mobile {
    font-size: 20px;
    color: white;
    cursor: pointer;
    display: block;
    z-index: 10;
  }

  .category-menu-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 28px;
    height: 28px;
    cursor: pointer;
  }

  .category-menu-icon span {
    height: 3px;
    background-color: white;
    margin: 3px 0;
    border-radius: 2px;
  }

  .navbar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .center-block {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-left: 0;
  }

  .business-logo {
    width: 40px;
    height: 40px;
    margin-right: 8px;
  }

  .name-tagline {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .business-name {
    font-size: 1.2rem;
  }

  .business-tagline {
    font-size: 0.8rem;
    margin-top: 2px;
  }

  .nav-icons-mobile {
    display: flex;
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: auto;
  }

  .search-input-container {
    padding: 12px 15px;
    top: 70px;
    justify-content: center;
    background-color: black;
    border-top: 1px solid #444;
    border-bottom: 1px solid #444;
  }

  .search-input-container input {
    font-size: 14px;
    padding: 8px 14px;
    background-color: white;
    color: black;
    border-radius: 6px;
  }

  .mobile-category-menu {
    position: absolute;
    top: 70%;
    right: 0;
    background-color: black;
    border: 1px solid #444;
    border-radius: 6px;
    list-style: none;
    padding: 8px 0;
    width: 180px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    z-index: 1000;
  }

  .mobile-category-menu li {
    padding: 10px 16px;
    color: white;
    cursor: pointer;
    font-size: 14px;
  }

  .mobile-category-menu li:hover {
    background-color: #333;
  }

  .mobile-category-menu .menu-heading {
    font-weight: bold;
    padding: 6px 16px;
    border-bottom: 1px solid #444;
  }

  .mobile-category-menu hr {
    margin: 5px 0;
    border-color: #444;
  }

  .mobile-category-menu span {
    display: block;
    padding: 10px 16px;
    color: white;
    cursor: pointer;
  }

  .mobile-category-menu span:hover {
    background-color: #333;
  }

  .desktop-only {
    display: none !important;
  }
}

/* ==========================================
   CATALOG FOOTER SECTION 
   ========================================== */

.c-footer-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
  padding: 2.5rem;
  background-color: #000;
  color: #fff;
  font-size: 1.1rem;
  overflow-x: hidden;
}

.c-footer-section {
  flex: 1 1 200px;
  min-width: 200px;
  padding-left: 20px;
}

.c-footer-branding {
  text-align: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}

.c-footer-logo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.5rem;
}

.c-footer-name {
  margin: 0.5rem 0 0.1rem 0;
  font-weight: bold;
  font-size: 1.4rem;
}

.c-footer-tagline {
  font-size: 1rem;
  font-style: italic;
  color: #ccc;
  margin-top: 0.2rem;
}

.c-footer-section a {
  display: block;
  color: #ccc;
  text-decoration: none;
  margin: 0.3rem 0;
}

.c-footer-section a:hover {
  color: #fff;
}

.c-footer-social-icons {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
}

.c-footer-social-icons a {
  font-size: 1.8rem;
  color: #ccc;
  transition: color 0.3s ease;
}

.c-footer-social-icons a:hover {
  color: #fff;
}

/* ==========================================
   CATALOG FOOTER SECTION - MOBILE VIEW 
   ========================================== */
@media (max-width: 600px) {

  /* Reduce wrapper height & spacing without touching desktop */
  .c-footer-wrapper {
    padding: 1rem 0.8rem !important;
    gap: 0.5rem !important;
  }

  /* Remove the 20px left padding applied in desktop */
  .c-footer-section {
    padding-left: 0 !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* Fix spacing under logo */
  .c-footer-logo {
    width: 80px !important;
    height: 80px !important;
    margin: 0.5rem 0 !important;
  }

  .c-footer-name {
    font-size: 1.2rem !important;
    margin: 0.3rem 0 !important;
  }

  .c-footer-tagline {
    margin: 0.2rem 0 !important;
    font-size: 0.9rem !important;
  }

  /* Center align the address row */
  .c-footer-address a {
    display: flex !important;
    flex-direction: column !important; /* icon above, text below */
    justify-content: center !important;
    align-items: center !important;    /* centers horizontally */
    text-align: center !important;
    gap: 4px !important;
  }

  /* Center the address text itself */
  .c-footer-address {
    text-align: center !important;
    width: 100% !important;
  }

  /* Center the pin icon */
  .c-footer-address i {
    margin: 0 auto !important;
  }

  .c-footer-section h4 {
    margin: 0.4rem 0 !important;
    font-size: 1rem !important;
  }

  .c-footer-section p {
    margin: 0.2rem 0 !important;
    font-size: 0.9rem !important;
  }

  /* SOCIAL ICONS */
  .c-footer-social-icons {
    margin-top: 0.4rem !important;
    margin-bottom: 0.6rem !important;
    gap: 0.8rem !important;
    justify-content: center !important;
  }

  .c-footer-social-icons i {
    font-size: 22px !important;
  }

  /* 🔥 THIS FIX REMOVES EXTRA BOTTOM GAP */
  #catalog-footer {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ==========================================
   CATALOG VIEW PAGE SECTION 
   ========================================== */

.catalog-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background: transparent !important; /* ✅ Allow body background color to show */
  transition: background-color 0.5s ease;
}

/* ✅ Ensure all inner containers are transparent */
.catalog-page .catalog-content,
.catalog-page .catalog-categories,
.catalog-page .category-card,
.catalog-page .items-list-catalog {
  background: transparent !important;
}

/* ✅ About Section */
.catalog-page .catalog-content {
  flex: 1;
  padding: 0.5rem;
  text-align: center;
  margin-top: 90px;
}

/* ✅ Error / Loading Messages */
.catalog-page .catalog-error,
.catalog-page .catalog-loading {
  padding: 2rem;
  text-align: center;
  font-size: 1.2rem;
  color: red;
}

/* ✅ Section Title */
.catalog-page .catalog-section-title-heading {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 0;
  font-weight: bold;
  padding-bottom: 10px;
  margin-top: 0rem;
  color: #222;
}

/* ✅ Description */
.catalog-page .catalog-description {
  text-align: center;
  font-size: 1.1rem;
  max-width: 1000px;
  margin: 0 auto 0rem auto;
  line-height: 1.6;
  color: black;
}

/* ✅ Categories Container */
.catalog-page .catalog-categories {
  padding: 0 10px;
  text-align: center;
  transition: background-color 0.3s ease;
}

/* ✅ Categories Grid */
.catalog-page .categories-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

/* ✅ Individual Category Card */
.catalog-page .category-card {
  background: transparent !important;
  border: none;
  text-align: center;
  max-width: 1300px;
  width: 100%;
    padding: 6px 12px;   /* reduced height */

}
/* ============ CATEGORY HEADER ============ */
.catalog-page .category-title-container {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  background-color: #6b21a8;
  color: #fff;
  font-family: 'Roboto Slab', serif;
  font-size: 1.6rem;
  font-weight: 600;

  /* ↓ Reduced height */
  padding: 4px 16px;

  border-radius: 6px;
margin: 10px 0 15px 0;
  position: relative;
}

.catalog-page .category-title-text {
  grid-column: 2;
  text-align: center;
  line-height: 40px;   /* keeps purple bar height neat */
}

/* ============ FILTER BOX (SORT) ============ */
.catalog-page .filter-wrapper {
  grid-column: 3;        /* stays on right */
  justify-self: end;     /* do NOT stretch */
  display: flex;
  align-items: center;
  gap: 3px;

  background: #fff;
  padding: 8px 6px;      /* smaller height */
  height: 30px;          /* ↓ fixed height */
  border-radius: 4px;
  font-size: 1rem;
  font-weight: bold;
}

.catalog-page .filter-icon {
  color: #6b21a8;
  font-size: 1rem;
}

.catalog-page .filter-wrapper select {
  border: none;
  background: transparent;
  font-size: 1rem;
  padding: 0;
  margin: 0;
  height: 30px;         /* smaller select height */
  cursor: pointer;
  outline: none;
  color: #333;
  width: 110px;          /* compact width */
}

/* ==============================
   FEATURED CAROUSEL
============================== */

.featured-section {
    margin: 10px auto;
    padding: 10px 5px;
    width: 100%;
    margin-top: 0px;
}

.featured-title {
    margin-bottom: 10px;
}

/* Horizontal scroll container */
.featured-carousel {
    display: flex;
    overflow-x: auto;
    gap: 30px;
    padding: 20px 70px;   /* ← adds left & right margin */
    scroll-behavior: smooth;
    justify-content: flex-start;  /* keeps natural scroll */
    margin-left: 50px;
    margin-bottom: 20px;
}

.featured-carousel::-webkit-scrollbar {
    height: 6px;
}

.featured-carousel::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

/* Card */
.featured-card {
    min-width: 150px;
    max-width: 150px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
    padding: 10px;
    text-align: center;
    cursor: pointer;
    transition: 0.25s;
}

.featured-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}

.featured-img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 8px;
}

.featured-name {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Featured Section Wrapper */
.featured-section {
    width: 100%;
    padding: 0 20px; /* left-right margin */
    margin-top: 20px;
}

/* Title */
.featured-title {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 15px;
    font-weight: 700;
    color: #111;
    letter-spacing: 0.5px;
}

.featured-carousel::-webkit-scrollbar {
    display: none;
}

/* Product Card */
.featured-item-card {
    min-width: 140px;
    max-width: 150px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    padding: 10px;
    text-align: center;
}

.featured-item-card img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    border-radius: 10px;
}

.featured-item-name {
    font-size: 0.9rem;
    margin-top: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Arrows */
.carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    padding: 8px 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    cursor: pointer;
    z-index: 50;
    display: none;
}

.carousel-arrow:hover {
    background: white;
}

.featured-wrapper:hover .carousel-arrow {
    display: block;
}

.arrow-left { left: 10px; }
.arrow-right { right: 10px; }

/* ============ ITEMS ============ */
.catalog-page .items-list-catalog {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 40px;
}

/* ✅ Item Card — centered perfectly with equal left/right spacing */
.catalog-page .item-card-catalogg {
  display: flex;
  width: 100%;
  max-width: 1000px;

  margin: 0 auto;      /* ← CENTER THE CARD */

  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 25px;
  gap: 30px;
  background: rgba(255, 255, 255, 0.85); /* Soft transparency */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* ✅ Item Image */
.catalog-page .item-image {
  width: 220px;
  height: 230px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.catalog-page .item-image:hover {
  transform: scale(1.05);
}

/* ✅ Item Details */
.catalog-page .item-details {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-grow: 1;
  gap: 8px;
  text-align: left;
}

.catalog-page .item-name {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 600;
  color: #111;
}

.catalog-page .item-description {
  margin: 0;
  font-size: 1rem;
  color: #444;
}

.catalog-page .item-price {
  font-weight: 700;
  font-size: 1.1rem;
  color: #222;
  margin-top: 0px;
}

.catalog-page .item-availability {
  display: block;      /* makes margin-bottom work */
  margin-bottom: 10px; /* the space you wanted */
  font-weight: 600;
  font-size: 0.95rem;
  margin-top: 0px !important;
}


.catalog-page .item-availability.available {
  color: green;
}

.catalog-page .item-availability.unavailable {
  color: red;
}

/* ============ BUTTONS ============ */
.catalog-page .item-actions {
  display: flex;
  gap: 12px;
  margin-top: 0;
}

/* Smaller, minimal, clean buttons */
.catalog-page .order-btn,
.catalog-page .share-btn {
  padding: 6px 16px;      /* Reduced padding */
  font-size: 1rem;     /* Slightly smaller text */
  min-width: 100px;        /* ↓↓ Reduced width */
  max-width: 150px;       /* Optional: keeps size consistent */
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.catalog-page .order-btn {
  background-color: #28a745;
  color: white;
}

.catalog-page .share-btn {
  background-color: #007bff;
  color: white;
}

.catalog-page .share-btn:hover:not(:disabled),
.catalog-page .order-btn:hover:not(:disabled) {
  opacity: 0.9;
}

/* =======================
   OVERLAY
   ======================= */
.op-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.60);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  backdrop-filter: blur(3px);
}

/* =======================
   POPUP BOX
   ======================= */
.op-box {
  width: 92%;
  max-width: 470px;
  background: #ffffff;
  border-radius: 16px;
  padding: 25px 30px;
  box-shadow: 0px 12px 40px rgba(0,0,0,0.35);
  animation: opFadeUp 0.3s ease-out;
  text-align: center;
}

@keyframes opFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.op-title {
  font-size: 1.8rem;
  color: #0a2b7a;  /* royal blue */
  margin: 0;
  font-weight: 700;
}

.op-subtext {
  margin-top: 6px;
  color: #666;
}

/* =======================
   ITEM BOX
   ======================= */
.op-item-box {
  margin-top: 18px;
  padding: 16px;
  border-radius: 12px;
  background: #f4f7ff; /* light royal blue tint */
  border: 1px solid #d6e1ff;
}

.op-item-name {
  font-size: 1.2rem;
  font-weight: 600;
  color: #0a2b7a;
  margin: 0;
}

.op-item-price {
  font-size: 1rem;
  margin-top: 4px;
  color: #444;
}

.op-total {
  margin-top: 12px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #012a84;
}

/* =======================
   QUANTITY CONTROLS
   ======================= */
.op-qty-wrapper {
  margin-top: 22px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
}

.op-qty-btn {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: none;
  background: #e3eaff;
  font-size: 24px;
  color: #012a84;
  cursor: pointer;
  transition: 0.2s;
  font-weight: bold;
}

.op-qty-btn:hover {
  background: #cbd9ff;
}

.op-qty-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #012a84;
}

/* =======================
   INPUT FIELDS
   ======================= */
.op-input, .op-textarea {
  width: 100%;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #c5c5c5;
  margin-top: 14px;
  font-size: 15px;
  outline: none;
  transition: border 0.2s;
}

.op-input:focus,
.op-textarea:focus {
  border-color: #0a2b7a;
  box-shadow: 0 0 0 2px rgba(10,43,122,0.15);
}

.op-textarea {
  min-height: 95px;
  resize: none;
}
/* Clean dropdown spacing */
.size-color-input {
    margin: 4px 0 !important;      /* Small spacing above/below */
    padding: 10px 12px !important; /* Better internal height */
    border-radius: 8px !important; /* Match your popup style */
}

/* =======================
   BUTTON ROW
   ======================= */
.op-btn-row {
  display: flex;
  gap: 12px;
  margin-top: 22px;
}

.op-btn {
  flex: 1;
  padding: 10px 0;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
}

/* Cancel */
.op-cancel {
  background: #e8e8e8;
  color: #333;
}

/* Query (Royal Blue) */
.op-query {
  background: #0a2b7a;
  color: white;
}

/* Order (Green) */
.op-order {
  background: #1fa83d;
  color: white;
}

.op-btn:hover {
  opacity: 0.92;
}

/* Cancel Button Hover */
.op-cancel:hover {
  background: #dcdcdc;   /* slightly darker grey */
  color: #222;
}

/* Query Button Hover (Royal Blue → Brighter Blue) */
.op-query:hover {
  background: #123b9d;   
  color: #fff;
}

/* Order Button Hover (Green → Deeper green) */
.op-order:hover {
  background: #199734;
  color: #fff;
}

/* ===========================
   FULL SCREEN IMAGE OVERLAY
   =========================== */
/* IMAGE OVERLAY */
.op-img-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.85);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 20000;
  backdrop-filter: blur(3px);
  animation: fadeIn 0.25s ease-out;
}

.op-img-content {
  width: 70vw;            /* 70% of screen width */
  height: 75vh;           /* 75% of screen height */
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 0 30px rgba(0,0,0,0.4);
  animation: zoomIn 0.25s ease-out;
}
.catalog-page .like-icon {
    cursor: pointer;
    margin-right: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    user-select: none;
}

/* DEFAULT HEART BEFORE LIKE */
.catalog-page .like-icon i {
    font-size: 28px;        /* Increased size */
    color: #666;            /* Grey outline before liking */
    transition: 0.2s ease;
}

/* WHEN LIKED — RED HEART */
.catalog-page .like-icon.liked i {
    color: #e60023 !important;   /* Pure Instagram red */
}

/* Like count text */
.catalog-page .like-count {
    font-size: 15px;
    color: #444;
}

/* Fade animation */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Zoom animation */
@keyframes zoomIn {
  from { transform: scale(0.85); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}
/* ==========================================
   CATALOG VIEW PAGE SECTION - MOBILE VIEW
   ========================================== */

@media (max-width: 600px) {

    /* Featured section wrapper */
    .featured-section {
        padding: 0 10px !important;
        margin-top: 0px !important;
        margin-bottom: 0px !important;   /* ← REMOVE SPACE BELOW CAROUSEL */
    }

    /* Title spacing */
    .featured-title {
        font-size: 1.9rem !important;
        margin-bottom: 10px !important;
    }

    /* Carousel container spacing */
    .featured-carousel {
        padding: 10px 0 !important;   /* No side padding */
        margin-left: 0 !important;
        margin-bottom: 0 !important;  /* ← IMPORTANT: removes extra gap */
        gap: 15px !important;
    }

    /* Cards */
    .featured-item-card,
    .featured-card {
        min-width: 120px !important;
        max-width: 120px !important;
        padding: 8px !important;
    }

    /* Images */
    .featured-item-card img,
    .featured-img {
        height: 110px !important;
    }

    /* Name text */
    .featured-item-name,
    .featured-name {
        font-size: 0.8rem !important;
    }

    /* Hide arrows on mobile */
    .carousel-arrow {
        display: none !important;
    }
}
@media (max-width: 600px) {
    .catalog-page .catalog-section-title-heading {
        margin-top: 2.5rem !important; /* adjust as per your liking */
    }
        .catalog-page .catalog-description {
        padding: 0 14px; /* add side padding */
        margin-bottom: 0.3rem !important; 

    }
}
@media (max-width: 600px) {
  .catalog-page {
    padding: 0 4px;
  }

  .catalog-page .catalog-content {
    margin-top: 40px;
   align-items: left;
  }

  .catalog-page .item-card-catalogg {
    flex-direction: column;
    align-items: left;
    padding: 8px;
    background: rgba(255, 255, 255, 0.9);
  }

  .catalog-page .item-image {
    width: 100%;
    height: auto;
    max-height: 260px;
  }

  .catalog-page .item-name {
    font-size: 1.2rem;
  }

  .catalog-page .order-btn,
  .catalog-page .share-btn {
    flex: 1;
    font-size: 1rem;
    padding: 8px;
  }

  /* FORCE CATEGORY TITLE TO LEFT — FIXED */
  .catalog-page .category-title-container {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    background-color: #6b21a8;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 600;

    padding: 8px 14px;
    border-radius: 6px;
    margin: 10px 0 12px 0;
  }

  /* Title ALWAYS left aligned */
  .catalog-page .category-title-text {
    text-align: left !important;
    
    /* Prevent early line break */
    white-space: nowrap;  
    overflow: hidden;
    text-overflow: ellipsis;

    /* Give enough room before filter pushes it */
    max-width: 70%;
    line-height: 1.25; /* clean line height */
  }

  /* Keep filter compact and on the right */
  .catalog-page .filter-wrapper {
    margin-left: auto !important;
    display: flex;
    align-items: center;
    gap: 4px;

    background: #fff;
    padding: 6px 6px;
    border-radius: 4px;
    height: 30px;
  }

  .catalog-page .filter-wrapper select {
    font-size: 0.9rem;
    width: 90px;
  }
}
/* -------- MOBILE FIX -------- */
@media (max-width: 600px) {

  .catalog-page .category-title-container {
    padding: 6px 10px;
  }

  .catalog-page .category-title-text {
    font-size: 1.2rem;
    white-space: normal;      /* allow wrapping only if necessary */
    line-height: 1.2;
    max-width: 68%;
  }

  .catalog-page .filter-wrapper select {
    width: 65px;
    font-size: 0.85rem;
  }

  .catalog-page .category-description {
    margin-bottom: 4px !important;
    line-height: 1.3 !important;
  }

  .catalog-page .items-list-catalog {
    padding-top: 4px !important;
  }
  /* Keep filter on right side */
  .catalog-page .filter-wrapper {
    margin-left: auto !important;
  }
}

@media (max-width: 600px) {
  .catalog-page .filter-wrapper {
    padding: 3px 5px;
    height: 26px;
    gap: 3px;
    border-radius: 4px;
  }

  .catalog-page .filter-icon {
    font-size: 0.95rem;
  }

  .catalog-page .filter-wrapper select {
    font-size: 1rem;
    width: 70px;          /* even more compact for mobile */
    height: 24px;
  }
}

/* ==============================
   ADMIN PANEL UI 
==============================*/

.admin-body {
    background-color: #ebe0f0;
    font-family: "Poppins", sans-serif;
}

.admin-nav {
    background: #4b2e83;
    padding: 15px;
    text-align: center;
}

.admin-nav a {
    color: white;
    margin: 0 20px;
    font-weight: 600;
    text-decoration: none;
}

.admin-nav .logout {
    color: #ffb3b3;
}

.admin-page {
    max-width: 850px;
    margin: 30px auto;
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 6px 14px rgba(0,0,0,0.1);
}

.admin-alert {
    padding: 12px;
    background: #d4edda;
    color: #155724;
    border-radius: 8px;
    margin-bottom: 20px;
}

.filter-box {
    margin-bottom: 20px;
}

.admin-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.admin-card {
    padding: 20px;
    border-radius: 10px;
    background: #fafafa;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.admin-buttons {
    margin-top: 15px;
    display: flex;
    gap: 12px;
}

.approve-btn {
    background: #22c55e;
    color: white;
    padding: 10px 18px;
    border-radius: 6px;
    border: none;
}

.decline-btn {
    background: #ef4444;
    color: white;
    padding: 10px 18px;
    border-radius: 6px;
    border: none;
}

/* =============================
   ADMIN SUBSCRIPTIONS — EDIT POPUP
   (Conflict-free, isolated names)
============================= */

.asr-edit-btn {
    background: #4a90e2;
    color: #fff;
    border: none;
    padding: 7px 15px;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 10px;
    font-size: 14px;
    transition: 0.2s ease;
}
.asr-edit-btn:hover {
    background: #3277c4;
}

/* Popup wrapper */
#asr-editPopup {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffffff;
    padding: 26px 28px;
    border-radius: 14px;
    width: 340px;
    z-index: 99999;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
    border: 1px solid #e5e5e5;
    animation: asr-fadeIn 0.28s ease-out;
}

#asr-editPopup h3 {
    margin-top: 0;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    color: #333;
}

/* Popup cancel button */
.asr-cancel-btn {
    width: 100%;
    margin-top: 10px;
    padding: 10px 0;
    background: #cfcfcf;
    border-radius: 6px;
    border: none;
    font-size: 14px;
    cursor: pointer;
}
.asr-cancel-btn:hover {
    background: #bababa;
}

/* Animation */
@keyframes asr-fadeIn {
    from { opacity: 0; transform: translate(-50%, -47%); }
    to   { opacity: 1; transform: translate(-50%, -50%); }
}

/* ==============================
   EXPIRY POPUP
==============================*/
.empty {
    text-align: center;
    color: #555;
}

.expired-block {
    text-align: center;
    margin-top: 80px;
    background: #fff3f3;
    padding: 30px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 12px;
    box-shadow: 0px 4px 12px rgba(0,0,0,0.1);
}

.expired-block h2 {
    color: #d62828;
    font-size: 26px;
    font-weight: 700;
}

.expired-block p {
    color: #444;
    margin-top: 10px;
    font-size: 18px;
}

.renew-btn {
    display: inline-block;
    margin-top: 15px;
    padding: 12px 20px;
    background: #6a5af9;
    color: white;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
}


/* ===============================
   ANALYTICS DASHBOARD
=============================== */

.analytics-section {
  margin-top: 30px;
  padding: 25px;
  background: #f9f8ff;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.analytics-section h2 {
  margin-bottom: 25px;
  font-size: 2rem;
  color: #4a3fff;
  text-align: center;
}

.analytics-error-msg {
  color: #d62828;
  text-align: center;
  margin-top: 10px;
}

/* Charts container */
.analytics-charts {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: space-between;
  margin-top: 30px;
}

/* Chart card */
.analytics-chart {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 25px;
}

.analytics-chart h4 {
  margin-bottom: 15px;
  color: #4a3fff;
  font-size: 1.2rem;
  text-align: center;
}

.analytics-chart h3 {
  margin-bottom: 15px;
  color: #4a3fff;
  font-size: 1.4rem;
  text-align: center;
}

/* Chart sizes */
.bar-chart {
  flex: 2;
  min-width: 400px;
  max-width: 700px;
}

.pie-chart {
  flex: 1;
  min-width: 280px;
  max-width: 380px;
}

.line-chart {
  flex: 1.5;
  min-width: 350px;
  max-width: 600px;
}

.horizontal-bar-chart {
  flex: 2;
  min-width: 400px;
  max-width: 700px;
}

/* Stat boxes */
.analytics-stats {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: space-between;
  margin-left: 150px;
  margin-right: 150px;
}

.analytics-stat-box {
  flex: 1;
  min-width: 160px;
  max-width: 220px;
  background: #e6e0ff;
  padding: 15px;

  border-radius: 12px;
  font-weight: 600;
  color: #4a3fff;
  transition: transform 0.2s ease;

  /* 🔥 FIXED → Make label + number appear in 1 LINE */
  display: inline-flex;       /* keep inline, not stacked */
  flex-direction: row;        /* side-by-side */
  align-items: center;        /* vertical align text + number */
  justify-content: center;    /* center content */

  gap: 6px;                   /* space between label & number */
  white-space: nowrap;        /* prevent wrapping */
}

/* Number styling */
.analytics-stat-box span {
  margin: 0;                  /* remove block behaviour */
  font-size: 1.1rem;
  display: inline;            /* ensure no line break */
}

.analytics-stat-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
/*items per category*/
/* Items per Category – clean list style */
.category-count-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 22px 26px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

/* Title centered */
.category-count-card h4 {
    text-align: center;
    margin-bottom: 18px;
}

/* Two-column grid for categories */
.category-count-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* 🔥 2 columns */
    gap: 14px 24px; /* row gap | column gap */
}

/* Single row */
.category-count-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    border-radius: 10px;
    background: #f8f9fc;
}

/* Category name – left aligned */
.category-name {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    text-align: left;
    padding-right: 14px; /* 🔥 space before count */
}

/* Count pill */
.category-count {
    font-size: 14px;
    font-weight: 600;
    color: #3f51ff;
    background: rgba(63, 81, 255, 0.12);
    padding: 4px 12px;
    border-radius: 999px;
    min-width: 36px;
    text-align: center;
}

/* Catalog views total below chart */
.catalog-views-total {
  margin-top: 10px;
  font-weight: bold;
  font-size: 16px;
  padding-top: 20px;
}
/* ==============================
   CATALOG VIEWS – BIG NUMBER CARD
   ============================== */
.catalog-views-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

    /* 🔧 adjustments */
    min-height: 280px;      /* ⬆️ slightly taller */
    padding: 18px 16px;     /* ⬇️ slimmer horizontally */
}

.catalog-views-number {
    margin-top: 12px;       /* reduced a bit */
}

.catalog-views-number span {
    display: block;
    font-size: 60px;        /* slightly slimmer than 56px */
    font-weight: 700;
    color: #ff6f61;
    line-height: 1;
}

.catalog-views-number small {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    color: #666;
    letter-spacing: 0.4px;
}
/* top region view*/
/* ================================
   STATE VIEWS CARD (FINAL)
================================ */

/* Card wrapper */
.state-views-card {
    padding: 20px;
    min-height: 280px;          /* keep height consistent */
    display: flex;
    flex-direction: column;
}

/* Grid: 2 equal wide columns */
.state-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;   /* 🔥 force equal width */
    gap: 14px 24px;                   /* more horizontal space */
    margin-top: 16px;
    width: 100%;
    flex-grow: 1;
}

/* Empty state */
.state-empty {
    margin: auto;
    text-align: center;
    font-size: 14px;
    color: #888;
}

/* Each row fills column width */
/* Single row */
.state-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f8f9fc;
    padding: 12px 16px;          /* slightly wider row */
    border-radius: 10px;
    gap: 12px;                  /* 🔥 THIS adds space between name & count */
}

/* State name — NEVER shrink */
.state-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 70%;             /* 🔥 ensures spacing is respected */
}

/* Count pill */
.state-count {
    font-size: 13px;
    font-weight: 600;
    color: #ff6f61;
    background: rgba(255,111,97,0.12);
    padding: 5px 12px;
    border-radius: 999px;
    flex-shrink: 0;
}

/* --- Item Views Engagement Section --- */
.views-chart,
.item-views-section {
  margin-top: 40px;
  width: 100%;
  margin-bottom: 30px;
}

.views-summary-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-bottom: 30px;
}

.views-card {
  background: #ffe6f0;
  padding: 18px 28px;
  border-radius: 12px;
  text-align: center;
  font-weight: 600;
  color: #ff3fa3;
  min-width: 160px;
  transition: transform 0.2s ease;
}

.views-card-blue {
  background: #d0f0fd;
  color: #007acc;
}

.views-card-orange {
  background: #fde2d4;
  color: #ff3f00;
}

.views-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Container for all 4 charts: Top/Least Views + Shares/Orders */
.views-charts,
.views-summary-charts {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
  margin-bottom: 25px;
}

/* Individual view/chart card */
.views-bar {
  flex: 0 1 45%;
  max-width: 45%;
  min-width: 250px;
  height: 320px;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin-top: 15px;
  margin-bottom: 15px;
}

.views-bar h4 {
  margin-bottom: 10px;
  color: #ff3fa3;
  font-size: 1.15rem;
  text-align: center;
}

.views-bar canvas {
  width: 100%;
  max-height: 250px;
  max-width: 550px;
}

/* Pie charts inside views */
/* Increase height only for pie cards */
.views-bar.pie-chart {
  height: 480px;        /* Increased from 320px */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

/* Adjust canvas sizing */
.views-bar.pie-chart canvas {
  max-width: 320px;
  max-height: 320px;
  width: 100%;
  margin-top: 10px;
}

.views-bar.pie-chart h4 {
  margin-top: 20px;
  margin-bottom: 25px;
}

/* Analytics locked state */
.analytics-locked-wrapper {
  display: flex;
  justify-content: center;
  padding: 60px 15px;
}

.analytics-locked-card {
  max-width: 480px;
  width: 100%;
  background: #fff7f7;
  border-radius: 16px;
  padding: 24px 26px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.analytics-locked-card h2 {
  margin-bottom: 10px;
  color: #d62828;
}

.analytics-locked-card p {
  margin-bottom: 20px;
  color: #444;
  font-size: 15px;
}

.analytics-upgrade-btn {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 999px;
  background: #d62828;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  font-size: 15px;
  box-shadow: 0 6px 16px rgba(214,40,40,0.35);
}

/* Stat boxes */
.analytics-stats {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: space-between;
  margin-left: 150px;
  margin-right: 150px;
}

.analytics-stat-box {
  flex: 1;
  min-width: 160px;
  max-width: 220px;
  background: #e6e0ff;
  padding: 15px;
  border-radius: 12px;
  font-weight: 600;
  color: #4a3fff;
  transition: transform 0.2s ease;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

/* Number styling */
.analytics-stat-box span {
  margin: 0;
  font-size: 1.1rem;
  display: inline;
}

.analytics-stat-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}


/* ================================
   CATEGORY-WISE TOP LIKED CHARTS
================================ */

.top-liked-section {
    margin-top: 40px;
    padding: 25px;
}

/* Perfect 3-per-row grid that maintains good spacing */
.top-liked-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* exactly 3 per row */
    gap: 28px;
    width: 100%;
    margin-top: 25px;
}

/* Each chart card */
.top-liked-chart-card {
    background: #ffffff;
    padding: 22px;
    border-radius: 14px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.07);
    text-align: center;
}

/* Title */
.top-liked-chart-card h3 {
    color: #3f51ff; /* blue heading */
    margin-bottom: 14px;
    font-size: 1.1rem;
    font-weight: 600;
}

/* Chart sizing for desktop */
.top-liked-chart-card canvas {
    width: 100% !important;
    height: 240px !important;
}

/* Analytics row grouping */
.analytics-row {
    display: flex;
    gap: 20px;
    margin: 25px 0;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
}
/* ===============================
   FIX SPACING FOR FIRST ANALYTICS ROW ONLY
   =============================== */

.analytics-row-3 {
    justify-content: space-between; /* keep alignment */
    gap: 24px;                      /* 🔥 reduce excessive gap */
}

/* Slightly wider first card */
.analytics-row-3 .analytics-chart:first-child {
    flex: 1.2;                      /* ⬅️ wider Items per Category */
}

/* Middle (Catalog Views) normal width */
.analytics-row-3 .analytics-chart:nth-child(2) {
    flex: 1;
}

/* Availability chart normal width */
.analytics-row-3 .analytics-chart:nth-child(3) {
    flex: 1;
}

/* Prevent cards from becoming too narrow */
.analytics-row-3 .analytics-chart {
    min-width: 280px;
}


.analytics-row-2 .analytics-chart {
    flex: 1;
    min-width: 350px;
    max-width: 48%;
}

/* Tooltip */
.unavailable-box { position: relative; cursor: pointer; }

.unavailable-tooltip {
    position: absolute;
    top: 40px;
    left: 0;
    background: #ffffff;
    padding: 10px 12px;
    border: 1px solid #ddd;
    min-width: 220px;
    border-radius: 6px;
    font-size: 13px;
    color: #333;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    display: none;
    z-index: 1000;
    white-space: normal;
}

/* ===============================
   ANALYTICS DASHBOARD - MOBILE VIEW
=============================== */

@media (max-width: 640px) {
    .category-count-list {
        grid-template-columns: 1fr; /* single column on small screens */
    }
}
@media (max-width: 600px) {

  /* Remove huge left/right margins */
  .analytics-stats {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-direction: column;      /* stack vertically */
    gap: 12px;                   /* smaller spacing */
    align-items: center;         /* center all boxes */
  }

  .analytics-stat-box {
    width: 100% !important;       /* full width on mobile */
    max-width: 100% !important;
    min-width: unset !important;
    padding: 14px;
    justify-content: center;      /* center label + number */
    align-items: center;
    display: flex !important;     /* ensure flexbox layout */
    gap: 10px;
  }
}

/* Responsive (Tablets) */
@media (max-width: 992px) {
    .top-liked-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 per row */
    }
}
/* Responsive (Mobile) */
@media (max-width: 600px) {
    .top-liked-grid {
        grid-template-columns: 1fr; /* 1 card per row */
    }
}

/* --- Optimized Top Liked charts for mobile (≤576px) --- */
@media (max-width: 576px) {

    .top-liked-chart-card {
        padding: 16px 10px;
        border-radius: 12px;
        width: 100%;
        box-sizing: border-box;        /* prevents overflow */
        overflow: hidden;              /* STOPS graph from pushing layout */
    }

    /* Title */
    .top-liked-chart-card h3 {
        font-size: 1.05rem;
        margin-bottom: 10px;
        text-align: center;
        word-wrap: break-word;
    }

    /* FIXED: Scales chart WITHOUT increasing width beyond card */
    .top-liked-chart-card canvas {
        width: 100% !important;        /* stay inside card */
        height: 200px !important;
        transform: scale(1.15);        /* enlarge visually */
        transform-origin: center;      /* scale from center */
        display: block;
        margin: 0 auto;
    }
}

/* Extra tuning for very small screens (≤400px) */
@media (max-width: 400px) {

    .top-liked-chart-card canvas {
        transform: scale(1.25);        /* slightly bigger but safe */
        height: 190px !important;
    }
}

/* -------- Desktop analytics styling remains untouched -------- */

/* MOBILE-ONLY OPTIMIZATION */
@media (max-width: 576px) {

    /* Main wrapper spacing */
    .analytics-section {
        padding: 12px;
        margin: 0 auto;
        width: 100%;
        box-sizing: border-box;
    }

    /* Titles */
    .analytics-section h2 {
        font-size: 1.4rem;
        text-align: center;
        margin-bottom: 18px;
    }

    .analytics-chart h4,
    .views-bar h4 {
        font-size: 1rem !important;
        text-align: center !important;
        margin-bottom: 10px !important;
    }

    /* Cards */
    .views-card,
    .analytics-stat-box {
        font-size: 0.85rem;
        padding: 12px;
        width: 100%;
        border-radius: 10px;
        text-align: center;
        margin: 0 auto;
    }

    .views-summary-cards {
        padding: 0 5px;
        gap: 12px;
        display: flex;
        flex-direction: column;
    }

    /* Charts wrapper */
    .bar-chart,
    .line-chart,
    .horizontal-bar-chart,
    .views-bar,
    .pie-chart {
        width: 100% !important;
        max-width: 100%;
        margin: 0 auto 10px;
        padding: 0 6px;
    }

    /* Canvas responsive scaling */
    .views-bar canvas,
    .pie-chart canvas,
    .bar-chart canvas,
    .line-chart canvas,
    .horizontal-bar-chart canvas {
        width: 100% !important;
        height: auto !important;
    }

    /* Improve spacing & look */
    .analytics-stat-box,
    .views-card {
        transform: translateY(0);
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }

    /* MOBILE: Reduce pie chart size */
    .pie-chart canvas {
        width: 85% !important;
        max-width: 260px !important;
        margin: 0 auto;
        display: block;
    }

    .views-bar.pie-chart {
        height: auto !important;
        padding-bottom: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .views-bar.pie-chart h4 {
        margin-top: 10px;
        margin-bottom: 15px;
        text-align: center;
        width: 100%;
    }
}

@media (max-width: 992px) {
    .analytics-row {
        flex-direction: column;
        gap: 20px;
    }

    .analytics-row .analytics-chart {
        max-width: 100% !important;
        width: 100% !important;
        min-width: unset;
    }
}

/* -------- Clean Mobile Layout for Views Section (≤600px) -------- */
@media (max-width: 600px) {

  /* Stack cards */
  .views-summary-cards {
    display: flex;               /* ensure flexbox is applied */
    flex-direction: column;      /* stack items vertically */
    align-items: center;         /* center all cards */
    justify-content: center;     /* center alignment */
    gap: 8px;                    /* tight spacing */
    margin-bottom: 18px;
    width: 100%;
  }

  .views-card {
    width: 92%;                  /* cleaner card width on mobile */
    padding: 12px 16px;
    font-size: 0.9rem;
    text-align: center;
  }

  /* Stack all chart cards vertically */
  .views-charts,
  .views-summary-charts {
    flex-direction: column;
    gap: 15px;
    margin-bottom: 10px;
  }

  /* Chart card compact layout */
  .views-bar {
    flex: 1 1 100%;
    max-width: 100% !important;
    height: auto;
    padding: 12px 14px;
    margin: 0 auto;
    text-align: center; /* ensures content stays centered */
  }

  .views-bar h4 {
    font-size: 1rem;
    margin-bottom: 8px;
  }

  /* -------- Bar Chart Resize (ONLY bar charts) -------- */
  .views-bar:not(.pie-chart) canvas {
      width: 120% !important;        /* enlarge chart area */
      margin-left: -10% !important;  /* visually center */
      height: auto !important;
      max-height: 200px !important;
  }

  /* -------- Pie Chart (KEEP CENTERED + Increased Size) -------- */
  .views-bar.pie-chart {
      height: auto;
      padding-bottom: 10px;
      display: flex;
      flex-direction: column;
      align-items: center;           /* keep centered */
      justify-content: center;
      text-align: center;
  }

  .views-bar.pie-chart canvas {
      width: 88% !important;         /* increased from 75% */
      max-width: 260px !important;   /* increased from 220px */
      height: auto !important;
      margin: 0 auto !important;     /* perfect center alignment */
      display: block;
  }
}

/* ================================
   GLOBAL LAYOUT FIX — STICK FOOTER TO BOTTOM
================================ */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
}

.dashboard-container {
    flex: 1;
}

/* ================================
   PAGE TITLE
================================ */
.dashboard-container h2 {
    font-size: 32px;
    font-weight: 900;
    color: #222;
    margin-top: 50px;
    margin-left: 20px;
    text-align: center;
}

.marketing-page-body {
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background: linear-gradient(180deg, #ffe9a3 0%, #c9ddff 45%, #8bb7ff 100%);
}

/* WAVE SECTION */
.wave-header {
    position: relative;
    height: 260px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 40px;
}

/* Title styling */
.wave-header h2 {
    font-size: 32px;
    font-weight: 700;
    color: #2b2b2b;
    z-index: 2;
}

/* Simple reliable wave */
.wave-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 140px;

    background: url("https://i.imgur.com/6p0V5DL.png");
    background-size: cover;
    opacity: 0.55;
}

/* Section Title Underline */
.section-title {
    font-size: 34px;
    font-weight: 700;
    color: #222;
    text-align: center;
    position: relative;
    margin-bottom: 45px;
    margin-top: 30px;
}

.section-title::after {
    content: "";
    width: 180px;
    height: 4px;
    background: linear-gradient(90deg, #ffb700, #0070f3);
    border-radius: 10px;
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
}


/* ================================
   MARKETING TOOLS WRAPPER
================================ */
.marketing-tools-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 35px;
    margin-top: 50px;
    padding: 30px;
    margin-bottom: 100px;
}


/* ================================
   GODLY MARKETING CARD UI
================================ */
.tool-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 28px 20px;        /* reduced padding */
    text-align: center;
    cursor: pointer;
    transition: all 0.35s ease;

    width: 360px;              /* wider cards */
    max-width: 100%;
    min-height: 340px;         /* same height for all cards */
    margin: 0 auto;

    box-shadow: 
        0 10px 25px rgba(0,0,0,0.08),
        0 4px 12px rgba(0,0,0,0.05);

    border: 1px solid #eee;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Hover effect */
.tool-card:hover {
    transform: translateY(-8px);
    box-shadow: 
        0 16px 35px rgba(0,0,0,0.12),
        0 6px 18px rgba(0,0,0,0.06);

    background: linear-gradient(145deg, #ffffff, #f7faff);
    border-color: #d0e4ff;
}

/* Title */
.tool-card h3 {
    font-size: 20px;
    margin-top: 20px;
    margin-bottom: 8px;
    font-weight: 700;
    color: #222;
}

.tool-card:hover h3 {
    color: #1da565;
}

/* Description */
.tool-card p {
    font-size: 15px;
    color: #555;
    line-height: 1.4;
}

/* ICON */
.tool-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 15px;
    object-fit: contain;
    transition: 0.3s ease;

    filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.15));
}

.tool-card:hover .tool-icon {
    transform: scale(1.15);
    filter: drop-shadow(0px 5px 10px rgba(0,0,0,0.25));
}
/***********************************
    SHOWMYBIZ CREATE-CATALOG OVERLAY
***********************************/
.smb-overlay-blocker {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.65);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

.smb-overlay-popup {
    background: #ffffff;
    padding: 35px 30px;
    border-radius: 14px;
    text-align: center;
    max-width: 340px;
    width: 90%;
    animation: smbOverlayPop 0.25s ease-out;
    box-shadow: 0 8px 25px rgba(0,0,0,0.25);
}

.smb-overlay-popup h2 {
    margin-bottom: 12px;
    font-size: 22px;
    font-weight: 700;
    color: #222;
}

.smb-overlay-popup p {
    font-size: 15px;
    color: #555;
    margin-bottom: 20px;
}

.smb-overlay-btn {
    background: #ff7a00;
    color: var(--white);
    border: none;
    padding: 12px 20px;
    width: 100%;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    transition: 0.2s ease;
}

.smb-overlay-btn:hover {
    background: #e56e00;
}

@keyframes smbOverlayPop {
    from { transform: scale(0.9); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}


/* ================================
   MARKETING TOOLS - RESPONSIVE (MOBILE)
================================ */
@media (max-width: 600px) {
    .marketing-tools-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;

        /* ✅ FIX: add equal left & right spacing */
        padding-left: 14px;
        padding-right: 14px;
    }

    .tool-card {
        padding: 25px 18px;

        /* ✅ prevent card touching screen edges */
        box-sizing: border-box;
        max-width: 100%;
    }

    .tool-card h3 {
        font-size: 18px;
    }

    .tool-icon {
        width: 65px;
        height: 65px;
    }
}


/* ==========================================================
   NON-CONFLICT FLIP CARD SYSTEM (UNIQUE MT- CLASSES)
========================================================== */
.mt-flip-card {
    perspective: 1000px;
    position: relative;
    width: 360px;
    height: 340px;
    margin: 0 auto;
}

.mt-flip-inner {
    width: 100%;
    height: 100%;
    transition: transform 0.6s ease;
    transform-style: preserve-3d;
}

.mt-flip-card.mt-flipped .mt-flip-inner {
    transform: rotateY(180deg);
}

.mt-flip-front,
.mt-flip-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    padding: 20px;
    box-sizing: border-box;
}

.mt-flip-back {
    transform: rotateY(180deg);
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0;
    padding-top: 10px;
}

/* ==========================================================
   DIRECT LINK DISPLAY
========================================================== */
.mt-direct-link {
    font-size: 16px;
    color: #0070f3;
    font-weight: 600;
    margin: 12px 0 18px;
    text-align: center;
    word-break: break-word;
    text-decoration: none;
}

.mt-direct-link:hover {
    text-decoration: underline;
}

/* ==========================================================
   ICON BUTTON ROW
========================================================== */
.mt-icon-buttons {
    display: flex;
    gap: 22px;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

/* Clean Icon Buttons (NO BACKGROUND, NO SHAPE) */
.mt-icon-btn {
    width: 60px;
    height: 60px;
    background: transparent !important;
    border: none !important;
    cursor: pointer;

    display: flex;
    justify-content: center;
    align-items: center;

    transition: transform 0.2s ease;
    padding: 0;
}

.mt-icon-btn img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

/* WhatsApp + Share still clean */
.mt-icon-btn.whatsapp,
.mt-icon-btn.share {
    background: transparent !important;
}

/* Hover effect */
.mt-icon-btn:hover {
    transform: translateY(-4px);
    opacity: 0.85;
}

/* ==========================================================
   QR IMAGE FIX
========================================================== */
/* QR container image centering */
#mtQR img {
    display: block;
    margin: 16px auto;
    width: 150px;
    height: 150px;
}

/* Improved QR back layout */
.mt-flip-back h3 {
    margin-bottom: 10px;
}

/* Download Button */
.mt-download-btn {
    width: 70%;
    padding: 12px 5px;
    background: #0070f3;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.2s ease;
    margin-top: 5px;
}

.mt-download-btn:hover {
    background: #005bd1;
}

/* After Download */
.mt-download-btn.downloaded {
    background: #1da565 !important;   /* green */
    cursor: default;
}

/* ============================
   VISITING CARD PAGE
============================ */
.vc-subtext {
    text-align: center;
    font-size: 18px;
    color: #555;
    margin-top: -10px;
    margin-bottom: 25px;
}

/* GRID — 3 CARDS PER ROW */
.vc-card-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.vc-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    padding: 20px 30px;
    justify-items: center;
}

/* ============================
   BASE VISITING CARD
============================ */
.vc-card {
    width: 430px;
    min-height: 185px;
    margin: 0 auto 10px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(0,0,0,0.08);
    padding: 16px 20px;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ROWS (used by template 1 & 3) */
.vc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.vc-row.top {
    margin-bottom: 10px;
    align-items: flex-start;
}

.vc-row.middle {
    margin: 4px 0 8px;
    align-items: flex-start;
}

.vc-row.bottom {
    margin-top: 8px;
    align-items: flex-start;
}

/* ============================
   LOGO
============================ */
.vc-logo-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #e0e0e0;
    background: #fafafa;
    display: flex;
    justify-content: center;
    align-items: center;
}

.vc-logo-circle.big {
    width: 82px;
    height: 82px;
}

.vc-logo-circle.small {
    width: 52px;
    height: 52px;
}

.vc-logo-circle img,
.vc-logo-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ============================
   BUSINESS TEXT
============================ */
.vc-business-text {
    margin-left: 14px;
}

.vc-business-title {
    font-size: 28px;
    font-weight: 700;
    margin: 0;
}

.vc-tagline {
    font-size: 12px;
    margin-top: 3px;
    color: #666;
    font-style: italic;   /* you asked tagline italic */
}

/* Owner name (template 1) */
.vc-owner {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #000;
}

/* CONTACT TEXT (template 1) */
.vc-contact p {
    font-size: 14px;
    margin: 2px 0;
    line-height: 1.35;
}

.vc-address-block {
    font-size: 11.5px;
    line-height: 1.35;
    max-width: 220px;
}

/* Small contact rows (template 3) */
.vc-contact-row p {
    font-size: 14px;
    margin: 0 8px 0 0;
}

/* ============================
   INSTAGRAM LINE
============================ */
.vc-instagram {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
}

.vc-ig-icon {
    width: 16px;
    height: 16px;
}

.vc-ig-icon.small {
    width: 14px;
    height: 14px;
}

/* ============================
   QR + SCAN LABEL (base)
============================ */
.qr-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 14px;
}

.vc-qr {
    width: 120px !important;
    height: 120px !important;
    background: #ffffff;
    padding: 6px;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.vc-qr img,
.vc-qr canvas {
    width: 100% !important;
    height: 100% !important;
}

/* Base label */
.vc-scan-label {
    font-size: 16px;
    font-weight: 500;
    padding: 0px 14px;
    border-radius: 2px;
    display: inline-block;
    margin-top: 6px;
    letter-spacing: 0.3px;
}

/* Template-1 green */
.vc-scan-label.green {
    background: #1da565;
    color: #fff;
    border: 1px solid #198d56;
    box-shadow: 0 2px 5px rgba(0, 128, 0, 0.25);
}

/* Template-3 gradient */
.vc-scan-label.gradient {
    background: linear-gradient(135deg, #ffb07c, #ff6f91);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 5px rgba(255, 120, 120, 0.25);
}

/* ============================
   TEMPLATE COLORS 1 & 3
============================ */
.vc-card-1 {
    border-top: 4px solid #1da565;
}

.vc-card-3 {
    background: linear-gradient(135deg, #ffe29f, #ffa99f, #67b26f);
}

/* =========================================================
   TEMPLATE 2 — DARK PREMIUM (ONLY .t2-* used)
========================================================= */
/* TEMPLATE 2 — DARK PREMIUM */
.t2-card {
    width: 430px;              /* EXACT SIZE of Template-1 */
    min-height: 185px;
    background: #0f1628;
    color: #fff;
    border-radius: 14px;
    padding: 16px 20px;
    box-sizing: border-box;
}

/* FIXED 2-COLUMN GRID (NO MORE FLOATING QR) */
.t2-grid {
    display: grid;
    grid-template-columns: 1fr 150px;   /* Left big, Right fixed */
    gap: 20px;
}

/* LEFT */
.t2-left {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.t2-title {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

.t2-tagline {
    font-size: 12px;
    margin: 0;
    color: #e5e5e5;
    font-style: italic;
}

.t2-logo {
    width: 82px;
    height: 82px;
    border-radius: 50%;
    border: 2px solid #1da565;
    overflow: hidden;
}

.t2-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-bottom: 2px;
}

/* CONTACT */
.t2-contact p {
    margin: 2px 0;
    font-size: 13px;
}

.t2-owner {
    font-weight: 700;
    margin-bottom: 6px;
}

.t2-instagram {
    display: flex;
    align-items: center;
    gap: 4px;
}

.t2-ig-icon {
    width: 16px;
    height: 16px;
}

/* RIGHT */
.t2-right {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.t2-qr {
    width: 120px;
    height: 120px;
    padding: 6px;
    border-radius: 6px;
    background: #fff;
    position: relative;       /* IMPORTANT */
    overflow: hidden;         /* Prevent QR from spilling out */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Force QRCanvas to fit perfectly */
.t2-qr canvas,
.t2-qr img,
.t2-qr > div {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    display: block;
}


.t2-scan {
    margin-top: 8px;
    padding: 4px 0;                     /* remove side padding */
    width: 120px;                       /* EXACT width of QR box */
    text-align: center;                 /* center the text */
    background: rgba(255,255,255,0.20);
    border: 1px solid rgba(255,255,255,0.3);
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    border-radius: 2px;
    display: inline-block;
    box-sizing: border-box;
}


.t2-address {
    margin-top: 10px;
    text-align: left;
    font-size: 12px;
    line-height: 1.35;
    color: #eaeaea;
}

/* ---------------------------------------------------
   TEMPLATE 3 — PREMIUM MODERN DESIGN
---------------------------------------------------*/
.t3-card {
    width: 430px;
    padding: 20px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffb3a7, #ffd27f, #8fdd82);
    box-shadow: 0 10px 22px rgba(0,0,0,0.1);
    color: #222;
    box-sizing: border-box;
}

/* TOP SPLIT SECTION */
.t3-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

/* LEFT SIDE */
.t3-left {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 55%;
}

/* LOGO */
.t3-logo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #fff;
}

.t3-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* BUSINESS NAME + TAGLINE */
.t3-title {
    margin: 4px 0 0;
    font-size: 24px;
    font-weight: 700;
}

.t3-tagline {
    margin: -2px 0 2px;
    font-size: 13px;
    font-style: italic;
    color: #333;
}

.t3-owner {
    margin-top: 4px;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 2px;
}

/* CONTACT SECTION */
.t3-contact p {
    margin: 0px 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 20px;
}

.t3-ig-icon {
    width: 16px;
    height: 16px;
}

/* RIGHT SIDE */
.t3-right {
    width: 45%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* QR Box */
.t3-qr-box {
    background: #fff;
    border-radius: 10px;
    padding: 6px;
    width: 120px;
    height: 120px;
}

.t3-qr > div {
    width: 100%!important;
    height: 100%!important;
}
/* Force QR canvas to fit inside the box */
.t3-qr-box canvas,
.t3-qr-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}


/* Scan button */
.t3-scan-btn {
    margin-top: 8px;
    background: #ff6f91;
    border: none;
    padding: 5px 0;
    width: 120px;
    color: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

/* ADDRESS */
.t3-address {
    margin-top: 10px;
    text-align: left;
    font-size: 12px;
    line-height: 1.35;
    max-width: 160px;
}

/* ============================
   VISITING CARD DOWNLOAD BUTTON
============================ */
.vc-download-btn {
    display: inline-block !important;
    padding: 10px 18px;
    border-radius: 10px;
    border: none;
    background: #1F3A93;   /* Deep navy blue */
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.25s ease;
    margin: 14px auto 30px;
}

.vc-download-btn:hover {
    background: #162B6A;   /* Darker navy */
}
.vc-download-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px; /* spacing between icon & text */
}

/* =======================================
   LOCKED CARD — Transparent + Blurred look
======================================= */
.vc-card-wrapper.locked {
    position: relative;
}

.vc-card-wrapper.locked .vc-card,
.vc-card-wrapper.locked .t2-card,
.vc-card-wrapper.locked .t3-card {
    opacity: 0.35;                /* fade */
    filter: blur(0.6px);          /* soft blur */
    pointer-events: none;         /* block interactions */
    user-select: none;
}

/* Keep the download button active (not faded) */
.vc-card-wrapper.locked + .vc-download-btn {
    opacity: 1 !important;
    filter: none !important;
    pointer-events: auto;
}

/* --- POPUP --- */
.upgrade-popup {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(4px);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.upgrade-popup.active {
    display: flex;
}

.upgrade-content {
    background: #fff;
    padding: 20px 28px;
    border-radius: 12px;
    text-align: center;
    width: 320px;
}

.upgrade-btn {
    background: #1da565;
    color: #fff;
    padding: 10px 18px;
    border-radius: 8px;
    border: none;
    font-size: 14px;
    margin-top: 12px;
    cursor: pointer;
}

.close-btn {
    background: transparent;
    border: none;
    color: #333;
    margin-top: 10px;
    font-size: 13px;
    cursor: pointer;
}
/* ============================
   MOBILE VIEW - VISITING CARDS SECTION
============================ */
@media (max-width: 1200px) {
    .vc-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 900px) {
    .vc-cards-grid {
        grid-template-columns: 1fr;
    }
}

/* Tablets & Mobile Landscape (max 768px) */
@media (max-width: 768px) {

    .vc-cards-grid {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 30px !important;
    }

    /* Scale cards slightly down */
    .vc-card,
    .t2-card,
    .t3-card {
        transform: scale(0.92);
        transform-origin: top center;
    }
}

/* Mobile Portrait (max 480px) */
@media (max-width: 480px) {

    .vc-cards-grid {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 25px !important;

        /* ✅ FIX: equal spacing on left & right */
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    /* Scale further down but preserve layout */
    .vc-card,
    .t2-card,
    .t3-card {
        transform: scale(0.85);
        transform-origin: top center;

        /* ✅ prevent overflow after scaling */
        max-width: 100% !important;
        box-sizing: border-box !important;

        /* ✅ slight inner spacing so content breathes */
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    /* Ensure wrapper also reduces spacing */
    .vc-card-wrapper {
        margin: 0 !important;
    }

    /* ✅ FIX: paragraph text should not touch edges */
    .vc-card p,
    .t2-card p,
    .t3-card p {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    /* Keep buttons normal size — NOT scaled */
    .vc-download-btn {
        transform: scale(1) !important;
        margin-top: -10px !important;
    }
}

/* ============================================================
   MOBILE BUTTON FIX — No stretch + reduced spacing
============================================================ */

/* FINAL MOBILE SPACING FIX */
@media (max-width: 480px) {

    /* Remove extra space caused by transform scaling */
    .vc-card-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Visually shrink card AND reduce wrapper height */
    .vc-card,
    .t2-card,
    .t3-card {
        transform: scale(0.85);
        transform-origin: top center;
        margin-bottom: -25px !important; /* closes large empty gap */
    }

    /* Bring button right under the card */
    .vc-download-btn {
        margin-top: -5px !important;   /* pulls closer */
        margin-bottom: 18px !important;

        width: auto !important;
        max-width: fit-content !important;
        padding: 6px 14px !important;
        font-size: 14px !important;
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Reduce grid gap further for tight mobile layout */
    .vc-cards-grid {
        gap: 12px !important;
    }
}
@media (max-width: 480px) {

    /* ✅ Center cards WITHOUT changing size or height */
    .vc-card,
    .t2-card,
    .t3-card {
        max-width: 380px !important;   /* limit overflow only */
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        margin-bottom: 40px !important;

        /* keep layout stable */
        transform: none !important;
    }

}

/*newly added css for mic for category and item description addition --------->

/* ✅ GRID overlay — bulletproof */
.voice-input-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  position: relative;
  margin-bottom: 16px;
}

/* textarea occupies grid */
.voice-input-wrapper textarea {
  grid-row: 1;
  grid-column: 1;
  padding-right: 40px;
}

/* mic overlays textarea bottom-right */
.mic-float {
  grid-row: 1;
  grid-column: 1;

  align-self: end;
  justify-self: end;

  margin: 10px;

  width: 16px;
  height: 16px;

  cursor: pointer;
  opacity: 0.6;
  z-index: 2;
}

.mic-float svg {
  width: 16px;
  height: 16px;
  fill: #555;
  display: block;
}

.mic-float:hover {
  opacity: 0.9;
}

.mic-float.listening svg {
  fill: #e53935;
}



/* === ShowMyBiz : Home Plans Preview === */

.smb-plans-preview {
  padding: 60px 20px;
}

.smb-plans-title {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 32px;
}

/* Table */
.smb-plans-table {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 2px solid #e0e0f0;
  border-radius: 12px;
  overflow: hidden;
  font-size: 16px;
}

/* Header */
.smb-plans-table th {
  padding: 14px 18px;
  background: #e9e7ff;
  font-weight: 600;
  text-align: center;
  border-bottom: 2px solid #e0e0f0;
}
/* ===== Pricing Row ===== */

.smb-pricing-row td {
  padding: 22px 18px;
  text-align: center;
  border-bottom: 1px solid #e9e8f5;
}

/* Main price */
.smb-pricing-row td strong {
  display: block;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 4px;
}

/* Secondary pricing text */
.smb-pricing-row td small {
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin-top: 0px;
}

/* Cells */
.smb-plans-table td {
  padding: 14px 18px;
  text-align: center;
  border-bottom: 2px solid #e6e6f0;
  color: #222;
}

/* First column (feature names) */
.smb-plans-table td:first-child {
  text-align: left;
  font-weight: 500;
  color: #000;
}

/* Vertical separators */
.smb-plans-table th:not(:last-child),
.smb-plans-table td:not(:last-child) {
  border-right: 1px solid #f0f0f5;
}

/* Remove last row border */
.smb-plans-table tr:last-child td {
  border-bottom: none;
}
/* === Mobile responsiveness for Plans Table === */

@media (max-width: 768px) {

  .smb-plans-preview {
    padding: 40px 12px;
  }

  .smb-plans-title {
    font-size: 22px;
    margin-bottom: 20px;
  }

  /* Enable horizontal scroll */
  .smb-plans-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    font-size: 13px;
  }

  .smb-plans-table th,
  .smb-plans-table td {
    padding: 12px 14px;
  }

  /* Keep first column readable */
  .smb-plans-table td:first-child {
    min-width: 160px;
    white-space: normal;
  }

  /* Ensure plan columns don’t shrink too much */
  .smb-plans-table th,
  .smb-plans-table td {
    min-width: 140px;
  }
}

html {
  scroll-behavior: smooth;
}
/* === END OF ShowMyBiz : Home Plans Preview === */
