@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&family=Bree+Serif&display=swap");

:root {
  --kd-primary: #0d6efd;
  --kd-secondary: #0b3d91;
  --kd-accent: #f9d976;
  --kd-text: #1a2a43;
  --kd-muted: #60708a;
  --kd-bg: #f3f7fc;
  --kd-card: #ffffff;
  --kd-border: #dfe8f6;
  --kd-danger: #dc3545;
  --kd-kerala-collage: url("/images/kerala-collage.png");
}

.required-label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.required-field-indicator {
  color: var(--kd-danger);
  font-weight: 700;
  line-height: 1;
  margin-right: 0.15rem;
}

html {
  font-size: 15px;
}

body.kd-body {
  margin: 0;
  font-family: "Nunito Sans", "Trebuchet MS", sans-serif;
  color: var(--kd-text);
  background:
    radial-gradient(circle at 10% 10%, rgba(13, 110, 253, 0.08), transparent 34%),
    radial-gradient(circle at 85% 8%, rgba(249, 217, 118, 0.22), transparent 30%),
    linear-gradient(180deg, #eef4fc 0%, var(--kd-bg) 34%, #f8fbff 100%);
  position: relative;
  overflow-x: hidden;
}

body.kd-body::before {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0;
  width: min(42vw, 520px);
  height: min(34vw, 320px);
  background: var(--kd-kerala-collage) right bottom / cover no-repeat;
  opacity: 0.18;
  pointer-events: none;
  z-index: -1;
  animation: driftHills 24s ease-in-out infinite alternate;
}

body.kd-body::after {
  content: "";
  position: fixed;
  left: -4vw;
  top: 6vh;
  width: min(36vw, 460px);
  height: min(28vw, 300px);
  background: var(--kd-kerala-collage) left top / cover no-repeat;
  opacity: 0.12;
  pointer-events: none;
  z-index: -1;
  animation: driftBackwaters 28s ease-in-out infinite alternate;
}

main {
  min-height: 72vh;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Bree Serif", Georgia, serif;
  letter-spacing: 0.2px;
}

.main-nav {
  background: linear-gradient(130deg, var(--kd-primary), var(--kd-secondary));
  box-shadow: 0 10px 24px rgba(11, 61, 145, 0.2);
  position: sticky;
  top: 0;
  z-index: 1035;
  padding: 0.45rem 0;
}

.main-nav .container {
  align-items: center;
}

.kd-nav-shell {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-size: 1.2rem;
  margin-right: 0.5rem;
}

.brand-logo {
  width: 110px;
  height: auto;
  max-height: 76px;
  border-radius: 14px;
  background: transparent;
  padding: 0;
  object-fit: contain;
  display: block;
}

.brand-text {
  display: none;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.4rem 0.62rem;
  border-radius: 12px;
  transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
  font-size: 0.95rem;
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  transform: translateY(-1px);
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.kd-nav-links {
  gap: 6px;
}

.main-nav .navbar-collapse {
  flex-basis: 100%;
}

.kd-nav-utility {
  margin-left: auto;
  flex-wrap: wrap;
}

.nav-cart-button {
  width: 40px;
  height: 40px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 4px 10px rgba(5, 36, 85, 0.16);
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nav-cart-button:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.24);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 8px 16px rgba(5, 36, 85, 0.28);
  transform: translateY(-1px) scale(1.04);
}

.nav-cart-button:focus-visible {
  color: #ffffff;
  outline: 3px solid rgba(255, 214, 76, 0.95);
  outline-offset: 2px;
}

.nav-cart-icon {
  width: 23px;
  height: 23px;
  display: inline-flex;
}

.nav-cart-icon svg {
  width: 100%;
  height: 100%;
}

.nav-cart-badge {
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  position: absolute;
  top: -5px;
  right: -5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #14213d;
  background: #ffd64c;
  border: 2px solid var(--kd-primary);
  border-radius: 999px;
  box-shadow: 0 2px 5px rgba(5, 36, 85, 0.28);
  font-size: 0.67rem;
  font-weight: 800;
  line-height: 1;
}

.commerce-store-page {
  max-width: 1280px;
}

.commerce-store-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.65rem 1.8rem;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--kd-border);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(20, 61, 112, 0.08);
}

.commerce-store-eyebrow {
  margin: 0 0 0.3rem;
  color: #1c7c54;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.commerce-store-header h1 {
  margin: 0;
  color: var(--kd-secondary);
  font-size: 2rem;
}

.commerce-store-header p:not(.commerce-store-eyebrow) {
  margin: 0.25rem 0 0;
  color: var(--kd-muted);
}

.commerce-store-cart {
  width: 48px;
  height: 48px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  color: var(--kd-secondary);
  background: #eef5ff;
  border: 1px solid #caddf6;
  border-radius: 14px;
  box-shadow: 0 4px 10px rgba(13, 73, 145, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.commerce-store-cart:hover { color: var(--kd-secondary); background: #dcecff; box-shadow: 0 8px 16px rgba(13, 73, 145, 0.2); transform: translateY(-1px); }
.commerce-store-cart:focus-visible { outline: 3px solid var(--kd-accent); outline-offset: 3px; }
.commerce-store-cart svg { width: 25px; height: 25px; }
.commerce-store-cart-badge { min-width: 19px; height: 19px; position: absolute; top: -6px; right: -6px; display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; color: #14213d; background: var(--kd-accent); border: 2px solid #fff; border-radius: 999px; font-size: 0.67rem; font-weight: 800; }

.commerce-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; align-items: stretch; }
.commerce-package-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; background: var(--kd-card); border: 1px solid var(--kd-border); border-radius: 8px; box-shadow: 0 8px 20px rgba(20, 61, 112, 0.08); transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.commerce-package-card:hover { border-color: #aac8ee; box-shadow: 0 14px 28px rgba(20, 61, 112, 0.14); transform: translateY(-3px); }
.commerce-package-card-premium { border-top: 4px solid #1c7c54; }
.commerce-package-badge { position: absolute; top: 1.25rem; right: 1.25rem; padding: 0.25rem 0.55rem; color: #105b3a; background: #dff3e7; border-radius: 999px; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; }
.commerce-package-icon { width: 43px; height: 43px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1rem; color: var(--kd-secondary); background: #e9f2ff; border-radius: 8px; }
.commerce-package-icon svg { width: 24px; height: 24px; }
.commerce-package-icon-gold { color: #88620a; background: #fff5d5; }
.commerce-package-icon-teal { color: #0a6d69; background: #e1f6f3; }
.commerce-package-card h2 { margin: 0; color: var(--kd-text); font-size: 1.28rem; }
.commerce-package-card h3 { margin: 1.25rem 0 0.6rem; color: var(--kd-muted); font-family: "Nunito Sans", "Trebuchet MS", sans-serif; font-size: 0.73rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.commerce-package-description { min-height: 3rem; margin: 0.45rem 0 1rem; color: var(--kd-muted); font-size: 0.91rem; }
.commerce-price-row { display: flex; align-items: center; flex-wrap: wrap; gap: 0.55rem; min-height: 2.2rem; }
.commerce-price-row > strong { color: var(--kd-secondary); font-size: 1.75rem; line-height: 1; }
.commerce-original-price { color: #75829a; font-size: 0.88rem; text-decoration: line-through; }
.commerce-discount-badge { padding: 0.2rem 0.4rem; color: #a83820; background: #fff0eb; border-radius: 4px; font-size: 0.7rem; font-weight: 800; }
.commerce-duration { display: flex; align-items: center; gap: 0.4rem; margin-top: 0.8rem; color: var(--kd-muted); font-size: 0.84rem; font-weight: 700; }
.commerce-duration svg { width: 17px; height: 17px; color: #1c7c54; }
.commerce-feature-list { display: grid; gap: 0.55rem; padding: 0; margin: 0; list-style: none; }
.commerce-feature-list li { display: grid; grid-template-columns: 19px minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; color: #38516f; font-size: 0.88rem; }
.commerce-feature-list li strong { color: var(--kd-text); font-size: 0.84rem; }
.commerce-feature-icon { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; color: #16834d; background: #e0f4e7; border-radius: 999px; font-size: 0.7rem; font-weight: 800; }
.commerce-feature-icon svg { width: 13px; height: 13px; }
.commerce-more-features { margin-top: 0.8rem; }
.commerce-more-features summary { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--kd-secondary); cursor: pointer; font-size: 0.84rem; font-weight: 800; list-style: none; }
.commerce-more-features summary::-webkit-details-marker { display: none; }
.commerce-more-features summary span { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 0.2s ease; }
.commerce-more-features[open] summary span { transform: rotate(225deg) translate(-2px, -2px); }
.commerce-more-features summary:focus-visible { outline: 3px solid rgba(13, 110, 253, 0.35); outline-offset: 3px; }
.commerce-card-action { margin-top: auto; padding-top: 1.35rem; }
.commerce-card-action label { display: block; margin-bottom: 0.4rem; color: var(--kd-text); font-size: 0.82rem; font-weight: 800; }
.commerce-card-action .form-select { margin-bottom: 0.75rem; border-color: #cddcf0; font-size: 0.9rem; }
.commerce-add-button { width: 100%; color: #fff; background: var(--kd-secondary); border-color: var(--kd-secondary); font-weight: 800; }
.commerce-add-button:hover, .commerce-add-button:focus { color: #fff; background: #082d6d; border-color: #082d6d; }
.commerce-add-button span { margin-right: 0.25rem; font-size: 1.1rem; line-height: 0; }
.commerce-empty-selection { margin: 0; color: #9a5424; font-size: 0.85rem; }
.commerce-empty-store { margin-top: 1.5rem; padding: 2rem; color: var(--kd-muted); background: rgba(255, 255, 255, 0.82); border: 1px dashed #bdd0e9; border-radius: 8px; text-align: center; }

.cart-remove-button { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; margin-left: 0.45rem; padding: 0; color: #c43636; background: #fff4f4; border: 1px solid #f1caca; border-radius: 7px; vertical-align: middle; transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
.cart-remove-button:hover { color: #fff; background: #c43636; border-color: #c43636; transform: translateY(-1px); }
.cart-remove-button:focus-visible { outline: 3px solid rgba(220, 53, 69, 0.42); outline-offset: 2px; }
.cart-remove-button svg { width: 18px; height: 18px; }

.navbar-toggler {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-color: rgba(255, 255, 255, 0.32);
  border-radius: 12px;
  padding: 0;
}

.nav-link-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-link-icon svg {
  width: 100%;
  height: 100%;
}

.kd-nav-actions {
  flex-wrap: wrap;
}

.nav-user-chip {
  min-height: 40px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  padding: 0.33rem 0.72rem;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.nav-user-name {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-user-chip .nav-link-icon {
  width: 16px;
  height: 16px;
}

.nav-profile-photo {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.nav-logout-btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.48);
  font-weight: 700;
  padding-left: 0.9rem;
  padding-right: 0.9rem;
}

.site-footer {
  background: linear-gradient(125deg, #09284c, #0b4b62 65%, #176246);
  color: #dfeaf8;
  padding: 42px 0;
  margin-top: 64px;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.footer-logo {
  width: 36px;
  height: 36px;
}

.site-footer a {
  color: #dfeaf8;
  text-decoration: none;
  margin-right: 14px;
  font-weight: 700;
  transition: color 0.2s ease;
}

.site-footer a:hover {
  color: #ffffff;
}

.hero-section {
  padding: 26px 0 42px;
}

.home-brand-hero {
  background: #000000;
  padding-top: 18px;
  padding-bottom: 8px;
}

.hero-shell {
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(11, 61, 145, 0.12);
  box-shadow: 0 18px 36px rgba(18, 48, 92, 0.15);
  background: #f0f6ff;
  position: relative;
}

.hero-shell::after {
  content: "";
  position: absolute;
  inset: -35% auto auto -35%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 72%);
  transform: rotate(18deg);
  animation: shimmerSweep 7.5s linear infinite;
  pointer-events: none;
}

.hero-copy {
  padding: 36px;
}

.hero-title {
  font-size: clamp(2rem, 5vw, 3rem);
  color: #153769;
  margin-bottom: 10px;
}

.hero-sub {
  color: #3f5881;
  font-size: 1.05rem;
  margin-bottom: 22px;
}

.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-brand-panel {
  width: 100%;
  background: #000000;
  text-align: center;
  padding: 10px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-brand-image {
  display: block;
  width: min(100%, 420px);
  max-width: 33.333%;
  height: auto;
  margin: 0 auto;
  background: #000000;
  object-fit: contain;
  image-rendering: auto;
  filter: none;
  transform: none;
}

.brand-pill-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px;
  margin: 14px auto 26px;
  padding: 0 12px;
}

.brand-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 180px;
  justify-content: center;
  padding: 16px 26px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 1.05rem;
  color: #18335b;
  box-shadow: 0 12px 25px rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.brand-pill-primary { background: #edf9ff; }
.brand-pill-success { background: #e8fff5; }
.brand-pill-warning { background: #fff4df; }
.brand-pill-purple { background: #f2ebff; }
.brand-pill-pink { background: #ffeaf7; }

.pill-icon {
  font-size: 1.4rem;
  line-height: 1;
}

.search-panel {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(19, 54, 107, 0.12);
  padding: 24px;
  border: 1px solid rgba(19, 54, 107, 0.08);
}

.search-panel .form-label,
.form-label {
  font-weight: 700;
  color: #274875;
}

.section-header {
  margin-bottom: 22px;
}

.section-header h2 {
  color: #163a68;
}

.category-box,
.business-card,
.admin-card,
.form-shell,
.detail-card {
  border-radius: 18px;
  border: 1px solid var(--kd-border);
  background: var(--kd-card);
  box-shadow: 0 10px 24px rgba(31, 41, 55, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.business-card:hover,
.admin-card:hover,
.category-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 28px rgba(17, 61, 99, 0.12);
}

.admin-shell {
  position: relative;
}

.admin-dashboard-shell {
  display: flex;
  min-height: calc(100vh - 88px);
  background: rgba(245, 249, 255, 0.8);
}

.admin-dashboard-shell.admin-dark {
  background: linear-gradient(180deg, #0a1221 0%, #0d1729 100%);
}

.admin-sidebar {
  width: 260px;
  background: linear-gradient(180deg, #0d223d 0%, #102f5c 100%);
  color: #edf5ff;
  padding: 1.2rem 1rem;
  box-shadow: 18px 0 40px rgba(15, 34, 55, 0.12);
  border-right: 1px solid rgba(255,255,255,0.06);
}

.admin-dark .admin-sidebar {
  background: linear-gradient(180deg, #0a1324 0%, #111b2d 100%);
  border-right-color: rgba(148, 163, 184, 0.15);
}

.admin-sidebar-header {
  padding: 0.35rem 0.4rem 1.2rem;
}

.admin-brand-box {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.65rem 0.8rem;
  border-radius: 16px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  font-weight: 800;
}

.admin-brand-box img {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

.admin-sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.admin-nav-link {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 0.9rem;
  border-radius: 12px;
  color: rgba(237,245,255,0.82);
  text-decoration: none;
  font-weight: 700;
  transition: all 0.2s ease;
}

.admin-nav-link:hover,
.admin-nav-link.active {
  background: rgba(255,255,255,0.12);
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.admin-main-panel {
  flex: 1;
  min-width: 0;
}

.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem 1.5rem 1rem;
  background: rgba(255,255,255,0.76);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(15, 45, 56, 0.08);
}

.admin-breadcrumb {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--kd-muted);
  font-weight: 800;
}

.admin-topbar h2 {
  font-size: clamp(1.6rem, 2vw, 2.2rem);
  color: var(--kd-secondary);
}

.admin-hero {
  background: linear-gradient(135deg, rgba(14, 111, 117, 0.1), rgba(42, 98, 255, 0.06));
  border: 1px solid rgba(18, 58, 88, 0.08);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 38px rgba(13, 27, 46, 0.08);
}

.admin-kicker {
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.8rem;
  border-radius: 999px;
  background: rgba(14, 111, 117, 0.12);
  color: var(--kd-secondary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}

.admin-hero-title {
  color: var(--kd-secondary);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  margin: 0;
  font-weight: 800;
}

.admin-hero-subtitle {
  color: var(--kd-muted);
  max-width: 680px;
}

.admin-action-btn {
  border-radius: 12px;
  font-weight: 700;
  padding: 0.75rem 1.1rem;
  min-width: 150px;
}

.admin-toolbar {
  border-radius: 18px;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(15, 45, 56, 0.08);
  box-shadow: 0 12px 24px rgba(17, 61, 99, 0.05);
}

.admin-dark .admin-toolbar,
.admin-dark .admin-card,
.admin-dark .admin-stat-card,
.admin-dark .admin-hero,
.admin-dark .admin-topbar {
  background: rgba(15, 23, 42, 0.92);
  border-color: rgba(148, 163, 184, 0.12);
  box-shadow: 0 14px 32px rgba(2, 6, 23, 0.38);
}

.admin-dark .admin-sidebar,
.admin-dark .admin-toolbar,
.admin-dark .admin-card,
.admin-dark .admin-stat-card,
.admin-dark .admin-hero,
.admin-dark .admin-topbar,
.admin-dark .quick-action-card {
  transition: all 0.2s ease;
}

.admin-dark .admin-toolbar .card-body,
.admin-dark .admin-hero .card-body,
.admin-dark .admin-card .card-body,
.admin-dark .admin-stat-card,
.admin-dark .admin-topbar {
  color: #e2e8f0;
}

.admin-dark .admin-hero-title,
.admin-dark .admin-topbar h2,
.admin-dark .admin-stat-card h3,
.admin-dark .activity-list strong,
.admin-dark .admin-table thead th,
.admin-dark .admin-card h5 {
  color: #f8fafc;
}

.admin-dark .admin-hero-subtitle,
.admin-dark .text-muted,
.admin-dark .small,
.admin-dark .admin-stat-label,
.admin-dark .activity-list small,
.admin-dark .admin-breadcrumb,
.admin-dark .card-body p,
.admin-dark .admin-stat-card small {
  color: #94a3b8 !important;
}

.admin-dark .admin-table thead th,
.admin-dark .admin-table tbody td,
.admin-dark .activity-list li {
  border-color: rgba(148, 163, 184, 0.12);
}

.admin-dark .admin-table tbody td,
.admin-dark .admin-table tbody td .fw-semibold,
.admin-dark .admin-table tbody td a,
.admin-dark .admin-table tbody td .badge,
.admin-dark .admin-table tbody tr {
  color: #e2e8f0 !important;
}

.admin-toolbar .card-body {
  padding: 1rem 1.2rem;
}

.quick-actions {
  margin-top: 0.5rem;
}

.quick-action-card {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  text-decoration: none;
  color: var(--kd-secondary);
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(240,246,255,0.92));
  border: 1px solid rgba(15,45,56,0.08);
  box-shadow: 0 12px 24px rgba(17, 61, 99, 0.05);
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sidebar-toggle {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.05);
  color: white;
  border-radius: 10px;
  display: none;
}

.quick-action-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 26px rgba(17, 61, 99, 0.08);
  text-decoration: none;
  color: var(--kd-secondary);
}

.quick-action-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(13,110,253,0.1);
  font-size: 1.3rem;
}

.admin-dark .quick-action-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 1), rgba(17, 24, 39, 1));
  border-color: rgba(148, 163, 184, 0.12);
  color: #e2e8f0;
}

.admin-dark .quick-action-icon {
  background: rgba(96, 165, 250, 0.12);
}

.admin-alert {
  border-radius: 14px;
  border: 0;
  box-shadow: 0 8px 18px rgba(17, 61, 99, 0.06);
}

.admin-stat-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(244,247,255,0.96));
  border: 1px solid rgba(20, 52, 84, 0.08);
  border-radius: 22px;
  padding: 1.15rem 1rem 1rem;
  box-shadow: 0 14px 28px rgba(17, 61, 99, 0.06);
}

.insight-grid .insight-card {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(246,250,255,0.96));
  border: 1px solid rgba(15, 45, 56, 0.08);
  border-radius: 20px;
  box-shadow: 0 12px 24px rgba(17, 61, 99, 0.05);
  padding: 1rem 1.1rem;
}

.insight-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-size: 1.5rem;
  background: rgba(13,110,253,0.12);
}

.insight-team .insight-icon { background: rgba(13,110,253,0.12); }
.insight-updates .insight-icon { background: rgba(46,125,50,0.12); }
.insight-ops .insight-icon { background: rgba(111,66,193,0.12); }

.insight-label {
  display: block;
  color: var(--kd-muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 800;
}

.insight-card h3 {
  margin: 0.2rem 0 0;
  font-size: 1.8rem;
  color: var(--kd-secondary);
}

.insight-card small {
  color: var(--kd-muted);
}

.stats-chart {
  display: flex;
  align-items: end;
  gap: 0.9rem;
  height: 180px;
  padding: 1.2rem 0.3rem 0.2rem;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(241,247,255,0.9), rgba(255,255,255,0.7));
  border: 1px solid rgba(15,45,56,0.06);
}

.chart-bar {
  flex: 1;
  height: var(--bar-height);
  min-height: 26px;
  background: linear-gradient(180deg, #7da9ff 0%, #2b5bd7 100%);
  border-radius: 12px 12px 0 0;
  position: relative;
  box-shadow: inset 0 -10px 18px rgba(255,255,255,0.2);
}

.chart-bar span {
  position: absolute;
  bottom: -1.7rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--kd-muted);
  font-size: 0.7rem;
  font-weight: 700;
}

.activity-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.85rem;
}

.activity-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  padding: 0.7rem 0.2rem;
  border-bottom: 1px solid rgba(15,45,56,0.06);
}

.activity-list li:last-child {
  border-bottom: 0;
}

.activity-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin-top: 0.35rem;
  flex-shrink: 0;
}

.activity-dot.blue { background: #2c7af1; }
.activity-dot.green { background: #1ea76b; }
.activity-dot.orange { background: #f59e0b; }
.activity-dot.purple { background: #7c5cff; }

.activity-list strong {
  display: block;
  color: var(--kd-secondary);
  font-size: 0.94rem;
}

.activity-list small {
  color: var(--kd-muted);
}

.admin-stat-card .admin-stat-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.55rem;
  background: rgba(13,110,253,0.1);
}

.admin-stat-card h3 {
  margin: 0.25rem 0 0;
  font-size: clamp(1.5rem, 2vw, 2.15rem);
  color: var(--kd-secondary);
  font-weight: 800;
}

.admin-stat-card small {
  color: var(--kd-muted);
}

.admin-stat-label {
  display: block;
  color: var(--kd-muted);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 800;
}

.admin-stat-link {
  margin-left: auto;
  padding: 0.35rem 0;
  font-weight: 700;
}

.stat-business .admin-stat-icon { background: rgba(13,110,253,0.12); }
.stat-review .admin-stat-icon { background: rgba(252,136,48,0.12); }
.stat-categories .admin-stat-icon { background: rgba(25,135,84,0.10); }
.stat-coverage .admin-stat-icon { background: rgba(111,66,193,0.12); }

.admin-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.admin-table thead th {
  background: rgba(244,247,255,0.9);
  color: var(--kd-secondary);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(15, 45, 56, 0.08);
}

.admin-table tbody td {
  padding: 0.95rem 1rem;
  border-bottom: 1px solid rgba(15, 45, 56, 0.06);
  vertical-align: middle;
}

.admin-table tbody tr:hover {
  background: rgba(239,246,255,0.45);
}

.admin-pagination .page-item .page-link {
  border-radius: 12px;
  min-width: 42px;
  text-align: center;
  color: var(--kd-secondary);
  border: 1px solid rgba(20, 52, 84, 0.08);
}

.admin-pagination .page-item.active .page-link {
  background: linear-gradient(135deg, var(--kd-primary), var(--kd-secondary));
  border-color: transparent;
  color: white;
  box-shadow: 0 12px 22px rgba(26, 98, 124, 0.18);
}

@media (max-width: 991.98px) {
  .admin-dashboard-shell {
    display: block;
  }

  .admin-sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .admin-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .sidebar-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .admin-sidebar-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}

.admin-collapsible .admin-sidebar {
  transition: width 0.25s ease;
}

.admin-collapsible .admin-sidebar.collapsed {
  width: 86px;
}

.admin-collapsible .admin-sidebar.collapsed .admin-brand-box span,
.admin-collapsible .admin-sidebar.collapsed .admin-nav-link span:last-child {
  display: none;
}

.admin-collapsible .admin-sidebar.collapsed .admin-nav-link {
  justify-content: center;
  padding-inline: 0.6rem;
}

.support-ticket-page,
.support-ticket-create-page {
  position: relative;
}

.ticket-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.38rem 0.8rem;
  border-radius: 999px;
  background: rgba(13, 110, 253, 0.1);
  color: var(--kd-secondary);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.ticket-page-title {
  color: var(--kd-secondary);
  font-size: clamp(2rem, 3vw, 2.7rem);
}

.ticket-page-subtitle {
  color: var(--kd-muted);
}

.ticket-create-btn {
  border-radius: 14px;
  padding: 0.8rem 1.2rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 12px 24px rgba(13, 110, 253, 0.22);
}

.support-stat-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(243,247,255,0.98));
  border: 1px solid var(--kd-border);
  border-radius: 20px;
  padding: 1.1rem 1rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  box-shadow: 0 12px 24px rgba(17, 61, 99, 0.06);
}

.support-stat-card h3 {
  color: var(--kd-secondary);
  font-size: 1.8rem;
  margin: 0;
}

.support-stat-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-weight: 800;
}

.total-stat .support-stat-icon { background: rgba(13,110,253,0.1); color: var(--kd-primary); }
.open-stat .support-stat-icon { background: rgba(252, 136, 48, 0.12); color: #d27616; }
.waiting-stat .support-stat-icon { background: rgba(255, 193, 7, 0.18); color: #b57a00; }
.resolved-stat .support-stat-icon { background: rgba(25,135,84,0.12); color: #198754; }

.support-stat-label {
  color: var(--kd-muted);
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 800;
}

.ticket-alert {
  border-radius: 14px;
  border: 0;
  font-weight: 600;
  margin-bottom: 18px;
}

.support-ticket-filter {
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(240,245,255,0.98));
  border: 1px solid var(--kd-border);
}

.support-ticket-filter .card-body {
  padding: 1.1rem 1.2rem;
}

.filter-btn {
  border-radius: 12px;
  min-height: 42px;
  font-weight: 700;
}

.support-ticket-list {
  border-radius: 22px;
  overflow: hidden;
}

.ticket-list-wrap {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.ticket-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: linear-gradient(180deg, #ffffff, #f5f9ff);
  border: 1px solid var(--kd-border);
  border-radius: 18px;
  padding: 1rem 1.1rem;
}

.ticket-main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  flex: 1;
}

.ticket-number {
  min-width: 92px;
  padding: 0.5rem 0.8rem;
  border-radius: 12px;
  background: rgba(13,110,253,0.1);
  color: var(--kd-secondary);
  font-weight: 800;
  text-align: center;
}

.ticket-subject {
  color: var(--kd-secondary);
  font-weight: 800;
  font-size: 1.03rem;
  margin-bottom: 4px;
}

.ticket-meta {
  color: var(--kd-muted);
  font-size: 0.80rem;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.ticket-side {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.ticket-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.support-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.4rem 0.7rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.support-badge.primary { background: rgba(13,110,253,0.12); color: var(--kd-primary); }
.support-badge.warning { background: rgba(255,193,7,0.18); color: #8b6000; }
.support-badge.danger { background: rgba(220,53,69,0.12); color: #b12635; }
.support-badge.success { background: rgba(25,135,84,0.12); color: #137a46; }
.support-badge.info { background: rgba(13,202,240,0.15); color: #0b7da7; }
.support-badge.secondary { background: rgba(108,117,125,0.12); color: #4a5058; }
.support-badge.dark { background: rgba(33,37,41,0.10); color: #1a1d20; }
.support-badge.neutral { background: rgba(108,117,125,0.10); color: #4a5058; }

.open-ticket-btn {
  border-radius: 12px;
  min-width: 78px;
  font-weight: 700;
}

.empty-ticket-state {
  padding: 3rem 1.5rem;
}

.empty-ticket-icon {
  width: 68px;
  height: 68px;
  margin: 0 auto 18px;
  border-radius: 18px;
  background: rgba(13,110,253,0.08);
  color: var(--kd-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

.empty-ticket-state h4 {
  color: var(--kd-secondary);
  margin-bottom: 8px;
}

.empty-ticket-state p {
  max-width: 420px;
  margin: 0 auto 18px;
  color: var(--kd-muted);
}

.support-create-hero {
  border-radius: 24px;
  background: linear-gradient(165deg, #0b3d91, #0d6efd);
  color: #fff;
  padding: 2rem 1.5rem;
  box-shadow: 0 18px 28px rgba(11, 61, 145, 0.18);
}

.support-create-hero h2 {
  color: #fff;
  font-size: clamp(1.8rem, 2.6vw, 2.5rem);
}

.support-create-hero p,
.support-create-hero li {
  color: rgba(255,255,255,0.9);
}

.support-create-hero .feature-list {
  list-style: none;
  padding: 0;
  margin: 1.2rem 0 1.6rem;
  display: grid;
  gap: 0.7rem;
}

.support-create-hero .feature-list li::before {
  content: "✓";
  margin-right: 8px;
  color: #d8efff;
  font-weight: 800;
}

.support-help-card {
  display: grid;
  gap: 0.25rem;
  padding: 1rem 1rem 0.8rem;
  border-radius: 16px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
}

.support-help-card strong {
  color: #fff;
}

.support-help-card span {
  color: rgba(255,255,255,0.8);
}

.support-create-form {
  border-radius: 22px;
  background: rgba(255,255,255,0.96);
  border: 1px solid var(--kd-border);
}

.ticket-submit-btn {
  border-radius: 12px;
  min-width: 150px;
  font-weight: 800;
}

.category-box {
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 100%;
}

.category-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #eaf3ff;
  color: var(--kd-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.business-card {
  overflow: hidden;
}

.business-thumb {
  width: 100%;
  height: 172px;
  object-fit: contain;
  display: block;
  padding: 18px 20px;
  background: linear-gradient(135deg, #ffffff, #edf4ff);
  border-bottom: 1px solid var(--kd-border);
}

.business-card .card-body,
.admin-card .card-body {
  padding: 20px;
}

.detail-hero {
  border-radius: 20px;
  width: 100%;
  max-height: 380px;
  border: 1px solid var(--kd-border);
  margin-bottom: 20px;
  object-fit: contain;
  padding: 18px;
  background: linear-gradient(135deg, #ffffff, #edf4ff);
}

.meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--kd-muted);
  font-size: 0.84rem;
}

.ad-spot {
  border-radius: 22px;
  padding: 32px;
  color: #fff;
  border: 1px solid rgba(18, 59, 30, 0.32);
  background:
    linear-gradient(120deg, rgba(6, 42, 25, 0.66), rgba(5, 40, 83, 0.45)),
    url("/images/kerala-splash-munnar.png") center/cover no-repeat;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.ad-slot-shell {
  border-radius: 16px;
  border: 1px dashed #bed4f6;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.page-banner {
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(240, 246, 255, 0.88), rgba(229, 241, 255, 0.88)),
    var(--kd-kerala-collage) center/cover no-repeat;
  border: 1px solid #d5e4fa;
  box-shadow: 0 12px 24px rgba(18, 48, 92, 0.08);
  margin-bottom: 28px;
  position: relative;
}

.page-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 32%, rgba(255, 255, 255, 0.48) 50%, transparent 67%);
  transform: translateX(-120%);
  animation: shimmerBand 8s ease-in-out infinite;
  pointer-events: none;
}

.page-banner .banner-copy {
  padding: 28px;
}

.compact-banner-copy {
  padding: 22px 24px;
}

.page-banner .banner-visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.form-shell {
  overflow: hidden;
}

.business-create-shell {
  border-radius: 24px;
}

.create-visual-pane {
  background:
    radial-gradient(circle at 15% 16%, rgba(13, 110, 253, 0.16), transparent 38%),
    linear-gradient(165deg, #eef5ff 0%, #e6f0ff 100%);
  border-right: 1px solid #d2e2fb;
}

.create-visual-inner {
  padding: 28px;
  height: 100%;
}

.create-logo-card {
  border: 1px solid #d8e4f7;
  border-radius: 14px;
  background: #fff;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.create-logo-preview {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  border: 1px solid #d8e4f7;
  object-fit: cover;
  background: #f8fbff;
}

.create-cover-preview {
  width: 100%;
  height: 164px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid #d8e4f7;
  background: #f3f8ff;
}

.create-tips {
  border-radius: 14px;
  border: 1px solid rgba(13, 110, 253, 0.2);
  background: rgba(255, 255, 255, 0.75);
  padding: 14px 16px;
}

.create-tips h6 {
  margin-bottom: 10px;
  color: #173765;
}

.create-tips ul {
  padding-left: 18px;
  color: #3c5073;
}

.location-picker-card {
  border: 1px solid #d8e4f7;
  border-radius: 14px;
  padding: 14px;
  background: #f9fbff;
}

.location-map {
  width: 100%;
  height: 300px;
  border-radius: 14px;
  border: 1px solid #d2e2fb;
}

.location-hint {
  color: #4e6288;
  font-size: 0.9rem;
  margin-top: 8px;
}

.qr-card {
  text-align: center;
}

.qr-image {
  width: 180px;
  height: 180px;
  border-radius: 14px;
  border: 1px solid #d8e4f7;
  padding: 8px;
  background: #fff;
}

.event-poster-frame {
  width: min(100%, 640px);
  height: 420px;
  margin-inline: auto;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 1rem;
  background: #edf3f8;
  box-shadow: 0 .25rem .75rem rgba(21, 48, 77, .14);
}

.event-poster-image {
  display: block !important;
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

.event-gallery-frame {
  height: 180px;
  display: grid;
  place-items: center;
  overflow: hidden;
  position: relative;
  border-radius: .75rem;
  background: #edf3f8;
}

.event-gallery-image {
  display: block !important;
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

.event-status-badge,
.event-category-badge {
  color: #fff !important;
  font-weight: 700;
  padding: .45rem .65rem;
}

.event-status-badge {
  background: #1267d6;
}

.event-category-badge {
  background: #175c3f;
}

@media (max-width: 575.98px) {
  .event-poster-frame {
    width: 100%;
    height: 360px;
  }
}

.event-page { padding: 34px 0 4px; background: radial-gradient(circle at 88% 4%, rgba(16,135,98,.11), transparent 25rem), radial-gradient(circle at 4% 20%, rgba(22,103,214,.12), transparent 28rem); }
.event-page-container { max-width: 1220px; }
.event-breadcrumb { margin-bottom: 22px; font-size: .9rem; }.event-breadcrumb a { color: #1764bb; font-weight: 800; text-decoration: none; }.event-breadcrumb .breadcrumb-item.active { max-width: min(52vw,400px); color: #5b6d81; }
.event-hero { display: grid; grid-template-columns: minmax(280px,.86fr) minmax(0,1.14fr); align-items: center; gap: clamp(26px,5vw,64px); padding: clamp(22px,4vw,44px); border: 1px solid rgba(37,102,171,.13); border-radius: 24px; background: rgba(255,255,255,.77); box-shadow: 0 22px 55px rgba(24,57,99,.11); }
.event-poster-card { position: relative; min-height: 420px; overflow: hidden; border: 1px solid rgba(255,255,255,.65); border-radius: 18px; isolation: isolate; background: #e9f1f7; box-shadow: 0 18px 40px rgba(13,55,91,.2); }.event-poster-blur { position: absolute; inset: -20px; z-index: -1; width: calc(100% + 40px); height: calc(100% + 40px); object-fit: cover; filter: blur(22px) saturate(1.15); opacity: .48; transform: scale(1.08); }.event-poster-main { display: block; width: 100%; height: 420px; object-fit: contain; }.event-poster-empty { display: grid; place-items: center; background: linear-gradient(145deg,#0d63bc,#168264); }.event-poster-placeholder { color: rgba(255,255,255,.94); font-family: "Bree Serif",Georgia,serif; font-size: 2rem; }
.event-hero-content h1 { max-width: 18ch; margin: 14px 0 12px; color: #102f50; font-size: clamp(2.15rem,4vw,3.6rem); line-height: 1.05; overflow-wrap: anywhere; }.event-badges { display: flex; flex-wrap: wrap; gap: 8px; }.event-status-badge,.event-category-badge { display: inline-flex; align-items: center; border-radius: 999px; color: #fff !important; font-size: .78rem; font-weight: 800; letter-spacing: .35px; padding: .43rem .75rem; text-transform: uppercase; }.event-status-badge { background: #1267d6; box-shadow: 0 6px 16px rgba(18,103,214,.2); }.event-category-badge { background: #16704f; }.event-intro { max-width: 62ch; color: #5a6c80; font-size: 1.08rem; line-height: 1.65; }
.event-fact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 24px 0; }.event-fact { min-width: 0; display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #e2ebf3; border-radius: 12px; background: rgba(248,252,255,.88); }.event-fact-icon { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #e4f2ff; font-size: 1rem; }.event-fact div { min-width: 0; }.event-fact span:not(.event-fact-icon) { display: block; color: #6d7c8d; font-size: .77rem; font-weight: 800; text-transform: uppercase; }.event-fact strong { display: -webkit-box; overflow: hidden; color: #163754; font-size: .92rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.event-cta-area { padding-top: 4px; }.event-cta-area p { margin: 0 0 8px; color: #486b83; font-size: .9rem; font-weight: 800; }.event-primary-actions { display: flex; flex-wrap: wrap; gap: 10px; }.event-primary-actions .btn { min-height: 44px; padding: .65rem 1rem; font-weight: 800; }.event-btn-primary { border: 0; color: #fff; background: linear-gradient(120deg,#1168d7,#087d87); box-shadow: 0 10px 20px rgba(16,102,189,.25); }.event-btn-primary:hover { color: #fff; background: linear-gradient(120deg,#075dc9,#066873); transform: translateY(-2px); }.event-btn-secondary { border: 1px solid #caddec; color: #175484; background: #fff; }.event-btn-secondary:hover { border-color: #137260; color: #0c5f51; background: #effaf7; transform: translateY(-2px); }.event-btn-outline { border: 1px solid #16704f; color: #126347; font-weight: 800; }.event-btn-outline:hover { color: #fff; background: #126347; }
.event-content-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,360px); gap: 26px; margin-top: 26px; align-items: start; }.event-main-column,.event-side-column { display: grid; gap: 26px; }.event-surface { padding: clamp(22px,3vw,30px); border: 1px solid rgba(31,92,148,.13); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 14px 32px rgba(25,57,97,.07); }.event-section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }.event-section-heading > span { width: 5px; height: 28px; border-radius: 999px; background: linear-gradient(#1267d6,#16805c); }.event-section-heading h2,.event-share h2 { margin: 0; color: #163754; font-size: 1.45rem; }.event-description { color: #4d6175; line-height: 1.75; overflow-wrap: anywhere; }.event-description > :last-child { margin-bottom: 0; }
.event-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.event-gallery-item { position: relative; aspect-ratio: 1/.77; overflow: hidden; padding: 0; border: 1px solid #dbe6ef; border-radius: 13px; background: #eff5f9; cursor: zoom-in; }.event-gallery-item img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }.event-gallery-item:hover img,.event-gallery-item:focus-visible img { transform: scale(1.06); }.event-gallery-item:focus-visible { outline: 3px solid #2a86e8; outline-offset: 3px; }.event-gallery-zoom { position: absolute; right: 10px; bottom: 10px; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: rgba(10,46,75,.75); font-size: 1.35rem; line-height: 1; opacity: 0; transform: translateY(5px); transition: .25s ease; }.event-gallery-item:hover .event-gallery-zoom,.event-gallery-item:focus-visible .event-gallery-zoom { opacity: 1; transform: translateY(0); }
.event-detail-list { margin: 0; }.event-detail-list > div { padding: 13px 0; border-bottom: 1px solid #e5edf3; }.event-detail-list > div:first-child { padding-top: 0; }.event-detail-list > div:last-child { padding-bottom: 0; border-bottom: 0; }.event-detail-list dt { margin-bottom: 3px; color: #6b7b8d; font-size: .8rem; font-weight: 800; text-transform: uppercase; }.event-detail-list dd { margin: 0; color: #183956; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }.event-detail-list a { color: #1267d6; }
.event-map-preview { position: relative; height: 138px; overflow: hidden; border-radius: 12px; background-color: #dcecf0; background-image: linear-gradient(24deg,transparent 47%,rgba(47,128,168,.22) 48%,rgba(47,128,168,.22) 52%,transparent 53%),linear-gradient(118deg,transparent 46%,rgba(255,255,255,.8) 47%,rgba(255,255,255,.8) 52%,transparent 53%),repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(26,107,129,.12) 29px,transparent 31px); }.event-map-preview span { position: absolute; top: 50%; left: 50%; display: grid; width: 42px; height: 42px; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #146d58; box-shadow: 0 6px 14px rgba(17,74,67,.28); font-size: 1.15rem; transform: translate(-50%,-50%); }.event-location-panel p { margin: 12px 0; color: #38566e; font-weight: 700; }
.event-organizer-card { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; padding: 18px; border: 1px solid #cde6dd; border-radius: 16px; background: linear-gradient(130deg,#f2fbf7,#edf7ff); }.event-organizer-avatar { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#1267d6,#16805c); font-weight: 800; }.event-organizer-label { display: block; color: #668073; font-size: .74rem; font-weight: 800; text-transform: uppercase; }.event-organizer-card strong { display: block; color: #174033; overflow-wrap: anywhere; }.event-organizer-contact { grid-column: 1/-1; color: #126347; font-size: .88rem; font-weight: 800; text-decoration: none; }.event-share { padding: 4px 2px; }.event-share h2 { margin-bottom: 12px; font-size: 1.1rem; }.event-share-actions { display: flex; gap: 9px; }.event-share-button { display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; color: #fff; font-weight: 800; text-decoration: none; transition: transform .2s ease,box-shadow .2s ease; }.event-share-button:hover,.event-share-button:focus-visible { color: #fff; transform: translateY(-2px); box-shadow: 0 8px 15px rgba(26,58,99,.2); }.event-share-whatsapp { background: #168b57; }.event-share-facebook { background: #1665c1; }.event-share-copy { background: #4d667c; }.event-copy-status { display: block; min-height: 18px; margin-top: 7px; color: #386477; font-size: .8rem; }
.event-lightbox .modal-content { color: #fff; background: rgba(3,18,32,.97); }.event-lightbox .modal-body { display: flex; position: relative; align-items: center; justify-content: center; min-height: 0; padding: 18px 62px 36px; }.event-lightbox .modal-body img { display: block; width: 100%; height: 100%; max-width: 1200px; max-height: calc(100vh - 112px); object-fit: contain; }.event-lightbox-nav { position: absolute; z-index: 1; top: 50%; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; background: rgba(255,255,255,.12); font-size: 1.8rem; transform: translateY(-50%); }.event-lightbox-nav:hover,.event-lightbox-nav:focus-visible { background: rgba(255,255,255,.28); }.event-lightbox-prev { left: 14px; }.event-lightbox-next { right: 14px; }.reveal-on-scroll { opacity: 0; transform: translateY(14px); transition: opacity .55s ease,transform .55s ease; }.reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width:991.98px) { .event-hero { grid-template-columns: minmax(240px,.75fr) minmax(0,1.25fr); gap: 28px; }.event-poster-card,.event-poster-main { min-height: 340px; height: 340px; }.event-content-grid { grid-template-columns: 1fr; }.event-side-column { grid-template-columns: repeat(2,minmax(0,1fr)); }.event-details-panel { grid-row: span 2; } }
@media (max-width:767.98px) { .event-page { padding-top: 22px; }.event-hero { grid-template-columns: 1fr; padding: 16px; border-radius: 18px; }.event-poster-card,.event-poster-main { min-height: 330px; height: min(94vw,440px); }.event-hero-content { padding: 4px 4px 8px; }.event-hero-content h1 { font-size: 2.25rem; }.event-content-grid { gap: 18px; margin-top: 18px; }.event-main-column,.event-side-column { gap: 18px; }.event-side-column { grid-template-columns: 1fr; }.event-details-panel { grid-row: auto; }.event-surface { border-radius: 15px; }.event-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; } }
@media (max-width:420px) { .event-fact-grid { grid-template-columns: 1fr; }.event-primary-actions { display: grid; grid-template-columns: 1fr; }.event-primary-actions .btn { width: 100%; }.event-lightbox .modal-body { padding-inline: 48px; }.event-lightbox-nav { width: 38px; height: 38px; }.event-lightbox-prev { left: 5px; }.event-lightbox-next { right: 5px; } }
@media (prefers-reduced-motion:reduce) { .reveal-on-scroll,.event-gallery-item img,.event-gallery-zoom,.event-share-button,.event-primary-actions .btn { transition: none; } }

.job-page { padding: 34px 0 4px; background: radial-gradient(circle at 94% 3%, rgba(17,129,104,.1), transparent 25rem), radial-gradient(circle at 4% 22%, rgba(13,110,253,.1), transparent 28rem); }.job-page-container { max-width: 1180px; }.job-breadcrumb { margin-bottom: 22px; font-size: .9rem; }.job-breadcrumb a { color: #1764bb; font-weight: 800; text-decoration: none; }.job-breadcrumb .breadcrumb-item.active { max-width: min(52vw,400px); color: #5b6d81; }
.job-hero { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: clamp(20px,4vw,42px); overflow: hidden; padding: clamp(24px,4vw,46px); border: 1px solid rgba(34,101,166,.13); border-radius: 24px; background: linear-gradient(120deg,rgba(255,255,255,.9),rgba(238,248,251,.9)); box-shadow: 0 22px 55px rgba(24,57,99,.11); }.job-hero::after { content: ""; position: absolute; right: -80px; bottom: -120px; width: 300px; height: 300px; border: 42px solid rgba(24,123,105,.08); border-radius: 50%; pointer-events: none; }.job-hero-marker { display: grid; position: relative; width: 116px; height: 136px; align-content: center; gap: 8px; padding: 18px; border-radius: 18px; color: #fff; background: linear-gradient(145deg,#0d62bb,#138060); box-shadow: 0 14px 28px rgba(20,91,136,.23); transform: rotate(-3deg); }.job-hero-marker span { font-size: 1.14rem; font-weight: 900; letter-spacing: 1px; }.job-hero-marker i { display: block; width: 70%; height: 3px; border-radius: 999px; background: rgba(255,255,255,.68); }.job-hero-marker i:nth-child(3) { width: 52%; }.job-hero-content { position: relative; z-index: 1; }.job-badges { display: flex; flex-wrap: wrap; gap: 8px; }.job-status-badge,.job-department-badge { display: inline-flex; border-radius: 999px; font-size: .78rem; font-weight: 800; letter-spacing: .35px; padding: .43rem .75rem; text-transform: uppercase; }.job-status-badge { color: #fff; background: #16704f; }.job-status-closed,.job-status-filled,.job-status-draft { background: #5c6d7d; }.job-department-badge { color: #175484; background: #e3f0ff; }.job-hero h1 { max-width: 18ch; margin: 14px 0 12px; color: #102f50; font-size: clamp(2.1rem,4vw,3.55rem); line-height: 1.05; overflow-wrap: anywhere; }.job-intro { max-width: 64ch; margin: 0; color: #5a6c80; font-size: 1.05rem; line-height: 1.65; }.job-fact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 24px; }.job-fact { display: flex; min-width: 0; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid #e2ebf3; border-radius: 12px; background: rgba(255,255,255,.72); }.job-fact > span { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #e5f3ff; }.job-fact div { min-width: 0; }.job-fact small { display: block; color: #718091; font-size: .75rem; font-weight: 800; text-transform: uppercase; }.job-fact strong { display: -webkit-box; overflow: hidden; color: #163754; font-size: .9rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.job-apply-hero { position: relative; z-index: 1; align-self: center; min-height: 46px; white-space: nowrap; padding: .68rem 1rem; border: 0; color: #fff; background: linear-gradient(120deg,#1168d7,#087d87); box-shadow: 0 10px 20px rgba(16,102,189,.25); font-weight: 800; }.job-apply-hero:hover { color: #fff; transform: translateY(-2px); }
.job-content-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,390px); gap: 26px; margin-top: 26px; align-items: start; }.job-main-column,.job-side-column { display: grid; gap: 26px; }.job-surface { padding: clamp(22px,3vw,30px); border: 1px solid rgba(31,92,148,.13); border-radius: 18px; background: rgba(255,255,255,.9); box-shadow: 0 14px 32px rgba(25,57,97,.07); }.job-section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }.job-section-heading > span { width: 5px; height: 28px; border-radius: 999px; background: linear-gradient(#1267d6,#16805c); }.job-section-heading h2 { margin: 0; color: #163754; font-size: 1.45rem; }.job-description { color: #4d6175; line-height: 1.75; overflow-wrap: anywhere; }.job-description > :last-child { margin-bottom: 0; }.job-detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; margin: 0; }.job-detail-list > div { padding: 14px 0; border-bottom: 1px solid #e5edf3; }.job-detail-list dt { margin-bottom: 3px; color: #6b7b8d; font-size: .77rem; font-weight: 800; text-transform: uppercase; }.job-detail-list dd { margin: 0; color: #183956; font-weight: 700; overflow-wrap: anywhere; }.job-location-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 24px; border: 1px solid #cae3da; border-radius: 17px; background: linear-gradient(130deg,#f2fbf7,#edf7ff); }.job-location-card > div { min-width: 0; }.job-location-pin { display: inline-grid; width: 38px; height: 38px; margin-bottom: 9px; place-items: center; border-radius: 50%; background: #dff3eb; }.job-location-card h2 { margin: 0; color: #174033; font-size: 1.2rem; overflow-wrap: anywhere; }.job-location-card p { margin: 3px 0 0; color: #668073; font-size: .85rem; font-weight: 800; }.job-location-action { flex: 0 0 auto; border: 1px solid #16704f; color: #126347; font-weight: 800; }.job-location-action:hover { color: #fff; background: #126347; }
.job-application-panel { padding: clamp(22px,3vw,30px); border: 1px solid rgba(24,102,166,.2); border-radius: 18px; background: #fff; box-shadow: 0 18px 36px rgba(17,70,117,.12); }.job-application-heading { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 22px; }.job-application-heading > span { display: grid; flex: 0 0 35px; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(135deg,#1267d6,#16805c); font-weight: 900; }.job-application-heading h2 { margin: 0 0 2px; color: #163754; font-family: "Bree Serif",Georgia,serif; font-size: 1.35rem; }.job-application-heading p { margin: 0; color: #738093; font-size: .86rem; }.job-application-form .form-label { color: #36516a; font-size: .87rem; font-weight: 800; }.job-application-form .form-control { border-color: #d6e3ee; border-radius: 10px; padding: .68rem .75rem; }.job-application-form .form-control:focus { border-color: #2480d9; box-shadow: 0 0 0 .2rem rgba(33,126,216,.13); }.job-submit-button { min-height: 46px; border: 0; color: #fff; background: linear-gradient(120deg,#1168d7,#087d87); box-shadow: 0 10px 20px rgba(16,102,189,.22); font-weight: 800; }.job-submit-button:hover { color: #fff; background: linear-gradient(120deg,#075dc9,#066873); transform: translateY(-2px); }.job-contact-card { display: flex; gap: 12px; align-items: flex-start; padding: 18px; border: 1px solid #d8e6ef; border-radius: 15px; background: rgba(255,255,255,.72); }.job-contact-icon { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: #e6f2ff; }.job-contact-card h2 { margin: 1px 0 5px; color: #284962; font-family: "Bree Serif",Georgia,serif; font-size: 1.1rem; }.job-contact-card a { display: block; color: #1267d6; font-size: .9rem; font-weight: 700; overflow-wrap: anywhere; }.job-external-apply { display: flex; justify-content: space-between; padding: 14px 16px; border: 1px solid #cde6dd; border-radius: 13px; color: #126347; background: #f2fbf7; font-weight: 800; text-decoration: none; }.job-external-apply:hover { color: #0d503a; background: #e6f7ef; }
@media (max-width:991.98px) { .job-content-grid { grid-template-columns: 1fr; }.job-side-column { grid-template-columns: repeat(2,minmax(0,1fr)); }.job-application-panel { grid-row: span 2; } }
@media (max-width:767.98px) { .job-page { padding-top: 22px; }.job-hero { grid-template-columns: 1fr; gap: 19px; padding: 22px; border-radius: 18px; }.job-hero-marker { width: 84px; height: 48px; grid-template-columns: auto 1fr; align-items: center; padding: 10px; transform: rotate(-2deg); }.job-hero-marker i { display: none; }.job-hero h1 { font-size: 2.25rem; }.job-apply-hero { width: 100%; }.job-content-grid { gap: 18px; margin-top: 18px; }.job-main-column,.job-side-column { gap: 18px; }.job-side-column { grid-template-columns: 1fr; }.job-application-panel { grid-row: auto; }.job-surface,.job-application-panel { border-radius: 15px; }.job-detail-list { grid-template-columns: 1fr; }.job-location-card { align-items: stretch; flex-direction: column; }.job-location-action { width: 100%; }.job-fact-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion:reduce) { .job-apply-hero,.job-submit-button { transition: none; } }

.map-preview {
  width: 100%;
  height: 260px;
  border: 1px solid #d8e4f7;
  border-radius: 16px;
}

.country-code-select {
  max-width: 96px;
  flex: 0 0 96px;
}

.inline-otp-row {
  display: grid;
  grid-template-columns: 96px 170px auto 132px auto;
  gap: 8px;
  align-items: center;
}

.inline-otp-row .country-code-select {
  max-width: none;
  width: 100%;
  min-width: 0;
  flex: initial;
}

.inline-otp-row .form-control {
  min-width: 0;
}

.send-otp-btn {
  white-space: nowrap;
}

.contact-number-input {
  max-width: 170px;
}

.otp-code-input {
  max-width: 132px;
}

.inline-otp-row .btn {
  padding: 0.44rem 0.68rem;
  font-size: 0.94rem;
}

.auth-visual,
.dashboard-visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.03);
}

.btn-primary {
  background: linear-gradient(130deg, var(--kd-primary), var(--kd-secondary));
  border-color: var(--kd-secondary);
  position: relative;
  overflow: hidden;
}

.btn-primary::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -30%;
  width: 36%;
  height: 340%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0));
  transform: rotate(24deg);
  animation: buttonFlash 5.8s ease-in-out infinite;
}

.btn-outline-primary {
  border-color: var(--kd-primary);
  color: var(--kd-primary);
}

.form-control,
.form-select {
  border-color: #cfdcf0;
  border-radius: 12px;
}

.form-control:focus,
.form-select:focus,
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-check-input:focus {
  border-color: #8ab6ff;
  box-shadow: 0 0 0 0.15rem rgba(37, 140, 251, 0.22);
}

.offer-hero {
  background:
    linear-gradient(135deg, rgba(11, 61, 145, 0.9), rgba(13, 110, 253, 0.85)),
    url("/images/kerala-splash-munnar.png") center/cover no-repeat;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.offer-card {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid #d8e6fa;
  box-shadow: 0 12px 24px rgba(14, 42, 94, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.offer-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 30px rgba(12, 41, 90, 0.16);
}

.offer-thumb {
  width: 100%;
  height: 220px;
  object-fit: cover;
  background: linear-gradient(135deg, #d9e8ff, #f1f6ff);
}

.offer-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: #0f6a2e;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.top-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
}

.featured-ribbon {
  position: absolute;
  top: 12px;
  right: -30px;
  transform: rotate(35deg);
  background: #f5c11d;
  color: #1a1a1a;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.25rem 2rem;
  box-shadow: 0 8px 14px rgba(10, 10, 10, 0.18);
}

.offers-scroll-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 280px);
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.best-offer-card {
  border-radius: 16px;
  border: 1px solid #d8e6fa;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 20px rgba(15, 43, 89, 0.08);
}

.best-offer-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}

.premium-gate-shell {
  border-radius: 20px;
  background: linear-gradient(140deg, #f6fbff, #f0f7ff);
  border: 1px solid #d4e5fb;
  box-shadow: 0 16px 28px rgba(12, 42, 95, 0.09);
  padding: 46px 22px;
}

.premium-success-banner {
  border-radius: 18px;
  border: 1px solid #dfeec6;
  background: linear-gradient(135deg, #f4ffe7 0%, #f8fff3 52%, #fff9ea 100%);
  color: #1d5b2d;
  box-shadow: 0 12px 26px rgba(34, 95, 44, 0.08);
  padding: 1rem 1.1rem;
}

.premium-success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2ea65a, #6acb74);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 800;
  flex-shrink: 0;
}

.premium-success-title {
  font-weight: 800;
  font-size: 1.05rem;
  margin-bottom: 0.15rem;
}

.metric-card {
  border-radius: 14px;
  border: 1px solid #d7e5fa;
  background: #fff;
  padding: 14px;
  height: 100%;
}
  .rich-editor {
    min-height: 180px;
    height: 180px;
    border-radius: 0.75rem;
    overflow: hidden;
    display: block;
    width: 100%;
    clear: both;
    margin-top: 0.7rem;
    margin-bottom: 2.6rem;
    border: 1px solid #dfe7f3;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(15, 30, 60, 0.04);
  }

  .rich-editor .ql-toolbar.ql-snow {
    border-color: #dfe7f3;
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
    background: #fafcff;
    min-height: 42px;
  }

  .rich-editor .ql-container.ql-snow {
    border-color: #dfe7f3;
    border-bottom-left-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;
    min-height: 90px;
    height: 90px;
    font-size: 0.96rem;
    background: #fff;
  }

  .offer-field-block {
    display: block;
    width: 100%;
    clear: both;
    margin-top: 2.7rem;
    margin-bottom: 0;
    padding-bottom: 0.8rem;
  }

  .offer-field-block:first-of-type {
    margin-top: 0;
  }

  .offer-field-block + .offer-field-block {
    margin-top: 4.5rem;
  }

  .offer-field-block .form-label {
    margin-bottom: 0.7rem;
    display: block;
    white-space: nowrap;
    font-weight: 600;
    color: #1a3d68;
  }

  .offer-inline-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    width: 100%;
    margin-top: 0.8rem;
    clear: both;
    align-items: start;
    padding-top: 0.2rem;
  }

  .offer-inline-col {
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  .offer-inline-col .form-control,
  .offer-inline-col .form-select {
    width: 100%;
    min-height: 46px;
  }

  .offer-field-block .rich-editor,
  .offer-field-block .row {
    margin-bottom: 0;
    margin-top: 0.7rem;
  }

  .offer-field-block .row {
    row-gap: 1.1rem;
  }

@media (max-width: 767.98px) {
  .offer-inline-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .offer-field-block .form-label {
    white-space: normal;
  }
}

.metric-card h6 {
  color: #3f5780;
  font-size: 0.85rem;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.metric-card p {
  font-size: 1.45rem;
  font-weight: 800;
  color: #163d72;
  margin: 0;
}

.offer-detail-shell {
  border-radius: 22px;
  border: 1px solid #d8e7fc;
  background: #fff;
  box-shadow: 0 16px 30px rgba(14, 44, 94, 0.1);
  padding: 24px;
}

.offer-detail-banner {
  width: 100%;
  border-radius: 16px;
  max-height: 420px;
  object-fit: cover;
  border: 1px solid #dce8fb;
}

.offer-gallery-thumb {
  width: 100%;
  height: 140px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid #dde9fc;
}

.offer-rich-text {
  line-height: 1.7;
  color: #2a4066;
}

.owner-dashboard-page {
  max-width: 1220px;
}

.owner-dashboard-banner {
  min-height: 220px;
}

.owner-dashboard-page {
  --owner-blue: #145da0;
  --owner-ink: #19324f;
  --owner-muted: #647993;
  --owner-teal: #16817a;
  --owner-line: #dce7f2;
  --owner-surface: #ffffff;
  color: var(--owner-ink);
}

.owner-dashboard-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, #f3f8fc 0, #f8fbfd 42rem, #f4f8fb 100%);
}

.owner-dashboard-hero {
  min-height: 255px;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid #cbdced;
  border-radius: 8px;
  background: #eaf3f9;
  box-shadow: 0 14px 30px rgba(21, 57, 91, 0.1);
  margin-bottom: 1.25rem;
}

.owner-dashboard-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(235, 246, 251, 0.98) 0%, rgba(235, 246, 251, 0.88) 48%, rgba(235, 246, 251, 0.18) 100%);
}

.owner-hero-copy {
  max-width: 610px;
  padding: 2.5rem 3rem;
  position: relative;
  z-index: 1;
}

.owner-eyebrow,
.owner-account-label,
.owner-metric-label {
  color: var(--owner-blue);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.owner-hero-copy h1,
.owner-section-heading h2,
.owner-membership-heading h2 {
  margin: 0.45rem 0 0.7rem;
  color: var(--owner-ink);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.18;
}

.owner-hero-copy h1 span { color: var(--owner-blue); }
.owner-hero-copy p { max-width: 480px; margin: 0; color: #496581; font-size: 1rem; }
.owner-dashboard-hero .dashboard-visual { position: absolute; right: 0; top: 0; height: 100%; width: 48%; object-fit: cover; }

.owner-account-card,
.owner-membership-card {
  border: 1px solid var(--owner-line);
  border-radius: 8px;
  box-shadow: 0 9px 22px rgba(31, 66, 99, 0.07);
  margin-bottom: 1.25rem;
  background: var(--owner-surface);
}

.owner-account-card .card-body,
.owner-membership-card .card-body { padding: 1.5rem; }
.owner-panel-heading,
.owner-panel-heading > div,
.owner-membership-heading,
.owner-entitlement-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.owner-panel-heading > div:first-child { justify-content: flex-start; }
.owner-panel-heading h2 { margin: 0; color: var(--owner-ink); font-size: 1.1rem; font-weight: 800; }
.owner-panel-heading p { margin: 0.2rem 0 0; color: var(--owner-muted); font-size: 0.9rem; }
.owner-panel-heading .owner-section-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 7px; color: var(--owner-blue); background: #e9f3fc; padding: 8px; }
.owner-account-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 1.5rem; background: var(--owner-line); border: 1px solid var(--owner-line); border-radius: 6px; overflow: hidden; }
.owner-account-grid > div { padding: 0.9rem 1rem; background: #fbfdff; }
.owner-account-grid strong { display: block; margin-top: 0.3rem; color: var(--owner-ink); font-size: 0.98rem; overflow-wrap: anywhere; }
.owner-photo-settings { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--owner-line); }
.owner-photo-preview { display: grid; width: 46px; height: 46px; place-items: center; overflow: hidden; border: 2px solid #d5e8f6; border-radius: 50%; color: var(--owner-blue); background: #eef7fd; }
.owner-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.owner-photo-preview svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.owner-photo-settings > div:nth-child(2) { display: grid; gap: .1rem; margin-right: auto; }
.owner-photo-settings > div:nth-child(2) span { color: var(--owner-muted); font-size: .82rem; }
.owner-profile-details-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: .8rem; align-items: end; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--owner-line); }
.owner-profile-details-form label { display: block; margin-bottom: .3rem; color: var(--owner-muted); font-size: .82rem; font-weight: 700; }
@media (max-width: 575.98px) { .owner-profile-details-form { grid-template-columns: 1fr; } }
.email-verification-status { display: inline-flex; align-items: center; margin-left: .3rem; border: 1px solid transparent; border-radius: 999px; padding: .15rem .45rem; font-size: .72rem; font-weight: 800; line-height: 1.2; vertical-align: middle; white-space: nowrap; }
.email-verification-status.is-verified { color: #087443 !important; background: #dff3e7; border-color: #b8e2c7; }
.email-verification-status.is-unverified { color: #7a5000 !important; background: #fff0c7; border-color: #e9c96d; }
.owner-status-badge { display: inline-flex; align-items: center; width: max-content; color: #087068; background: #e5f6f1; border: 1px solid #bde5dc; border-radius: 999px; padding: 0.35rem 0.6rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; }
.owner-membership-heading { margin-bottom: 1.4rem; }
.owner-membership-heading h2 { margin-bottom: 0; font-size: 1.35rem; }
.owner-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.owner-metric { min-width: 0; padding: 1rem; border: 1px solid var(--owner-line); border-radius: 7px; background: #fbfdff; }
.owner-metric strong { display: block; margin: 0.4rem 0 0.7rem; font-size: 1.3rem; }
.owner-metric small { display: block; margin-top: 0.5rem; color: var(--owner-muted); }
.owner-progress { height: 6px; overflow: hidden; border-radius: 999px; background: #dfeaf2; }
.owner-progress span { display: block; height: 100%; min-width: 0; border-radius: inherit; background: var(--owner-teal); }
.owner-entitlements-section,
.owner-actions-section { margin: 2rem 0; }
.owner-section-heading { margin-bottom: 1rem; }
.owner-section-heading h2 { margin-bottom: 0; font-size: 1.45rem; }
.owner-entitlement-card { height: 100%; padding: 1.25rem; border: 1px solid var(--owner-line); border-radius: 8px; background: var(--owner-surface); box-shadow: 0 6px 16px rgba(31, 66, 99, 0.05); }
.owner-entitlement-card h3 { margin: 0; color: var(--owner-ink); font-size: 1rem; font-weight: 800; }
.owner-entitlement-date { margin: 1rem 0; color: var(--owner-muted); font-size: 0.88rem; }
.owner-entitlement-date span { padding: 0 0.3rem; color: var(--owner-teal); font-weight: 700; }
.owner-entitlement-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.owner-entitlement-metrics div { min-width: 0; border-left: 2px solid #c7e6df; padding-left: 0.55rem; }
.owner-entitlement-metrics span { display: block; color: var(--owner-muted); font-size: 0.72rem; }
.owner-entitlement-metrics strong { display: block; color: var(--owner-ink); font-size: 0.9rem; white-space: nowrap; }
.owner-pending-orders { margin: 1.5rem 0 2rem; padding: 1.25rem 1.35rem; border: 1px solid #b9ddec; border-left: 4px solid var(--owner-blue); border-radius: 7px; background: #edf8fc; color: #245674; }
.owner-pending-orders > strong { display: block; color: var(--owner-ink); font-size: 1.05rem; }
.owner-pending-orders a { color: var(--owner-blue); font-weight: 700; }
.owner-dashboard-grid .admin-card { display: flex; border: 1px solid var(--owner-line); border-radius: 8px; box-shadow: 0 6px 15px rgba(31, 66, 99, 0.05); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.owner-dashboard-grid .admin-card:hover { transform: translateY(-3px); border-color: #9bbfe0; box-shadow: 0 13px 24px rgba(31, 66, 99, 0.12); }
.owner-dashboard-grid .compact-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.35rem; }
.owner-dashboard-grid .compact-card-body p { color: var(--owner-muted); font-size: 0.91rem; }
.owner-dashboard-grid .compact-card-body > .btn,
.owner-dashboard-grid .compact-card-body > .d-flex,
.owner-dashboard-grid .compact-card-body > .owner-card-actions { margin-top: auto; }
.owner-card-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.owner-dashboard-grid .owner-section-icon { width: 26px; height: 26px; flex-basis: 26px; padding: 5px; border-radius: 6px; background: #e9f3fc; }
.owner-website-builder-card .admin-card { border-color: #a9d8d1; background: #f5fcfa; }

@media (max-width: 991.98px) {
  .owner-account-grid, .owner-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-dashboard-hero .dashboard-visual { width: 42%; opacity: 0.7; }
}

@media (max-width: 575.98px) {
  .owner-dashboard-page { padding-left: 0.85rem; padding-right: 0.85rem; }
  .owner-dashboard-hero { min-height: 225px; }
  .owner-hero-copy { padding: 1.7rem; }
  .owner-hero-copy h1 { font-size: 1.55rem; }
  .owner-dashboard-hero .dashboard-visual { display: none; }
  .owner-dashboard-hero::after { background: rgba(235, 246, 251, 0.97); }
  .owner-account-card .card-body, .owner-membership-card .card-body { padding: 1.1rem; }
  .owner-panel-heading { align-items: flex-start; }
  .owner-panel-heading p { display: none; }
  .owner-account-grid, .owner-metric-grid { grid-template-columns: 1fr; }
  .owner-entitlement-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 0.8rem; }
  .owner-entitlement-top { align-items: flex-start; }
}

.owner-account-card {
  overflow: hidden;
}

.owner-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

.owner-account-label {
  display: block;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5b6f92;
  margin-bottom: 0.2rem;
}

.owner-dashboard-grid .admin-card {
  min-height: 100%;
}

.compact-card-body {
  padding: 16px 18px;
}

.compact-card-body p {
  margin-bottom: 0.85rem;
  color: #48607f;
}

.compact-card-body h5 {
  margin-bottom: 0.55rem;
}

.owner-section-title {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
}

.owner-section-icon {
  display: inline-flex;
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  align-items: center;
  justify-content: center;
  color: #245d9d;
}

.owner-section-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.owner-logout-button {
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
}

.owner-logout-button .owner-section-icon {
  flex-basis: 15px;
  width: 15px;
  height: 15px;
  color: currentColor;
}

.coupon-chip {
  border: 1px dashed #0d6efd;
  color: #0d4aa8;
  border-radius: 10px;
  padding: 8px 12px;
  display: inline-block;
  font-weight: 800;
  letter-spacing: 0.4px;
}

.about-page {
    padding-top: 24px;
    padding-bottom: 24px;
}

.about-hero-shell {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(11, 61, 145, 0.12);
    background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(234,245,255,0.92));
    box-shadow: 0 18px 34px rgba(11, 61, 145, 0.10);
    padding: 34px;
}

.about-hero-shell::after {
    content: "";
    position: absolute;
    inset: auto -60px -70px auto;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(13, 110, 253, 0.18), transparent 68%);
    border-radius: 50%;
    pointer-events: none;
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.44rem 0.82rem;
    border-radius: 999px;
    background: rgba(13, 110, 253, 0.08);
    color: var(--kd-secondary);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.about-hero-shell h1 {
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    color: var(--kd-secondary);
    margin-bottom: 12px;
    line-height: 1.1;
}

.about-hero-shell .lead {
    color: var(--kd-muted);
    font-size: 1.08rem;
    max-width: 640px;
    margin-bottom: 26px;
}

.about-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.about-highlight-card {
    background: linear-gradient(180deg, rgba(11, 61, 145, 0.96), rgba(13, 110, 253, 0.92));
    border-radius: 24px;
    padding: 26px;
    color: #fff;
    box-shadow: 0 18px 36px rgba(11, 61, 145, 0.22);
    height: 100%;
}

.about-highlight-card h3 {
    color: #fff;
    margin-bottom: 18px;
    font-size: 1.5rem;
}

.about-highlight-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

.about-highlight-card li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: rgba(255,255,255,0.94);
}

.about-highlight-card li::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255,255,255,0.16);
    font-size: 0.88rem;
}

.about-section {
    padding: 36px 0;
}

.about-section .section-header h2 {
    font-size: clamp(2rem, 3vw, 2.6rem);
    color: var(--kd-secondary);
    margin-bottom: 8px;
}

.about-section .section-header p {
    color: var(--kd-muted);
    font-size: 1.05rem;
    margin-bottom: 0;
}

.mission-panel {
    background: linear-gradient(135deg, rgba(11,61,145,0.04), rgba(13,110,253,0.08));
    border: 1px solid rgba(11, 61, 145, 0.12);
    border-radius: 24px;
    padding: 30px;
}

.mission-quote {
    border-left: 4px solid var(--kd-primary);
    padding-left: 18px;
    font-size: 1.18rem;
    color: var(--kd-secondary);
    font-weight: 700;
    margin-bottom: 20px;
}

.feature-card {
    background: rgba(255,255,255,0.9);
    border: 1px solid var(--kd-border);
    border-radius: 20px;
    padding: 22px 20px;
    box-shadow: 0 10px 22px rgba(17, 61, 99, 0.05);
    height: 100%;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(17, 61, 99, 0.12);
}

.feature-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(13, 110, 253, 0.10);
    color: var(--kd-primary);
    font-size: 1.5rem;
    margin-bottom: 16px;
}

.feature-card h3 {
    font-size: 1.2rem;
    color: var(--kd-secondary);
    margin-bottom: 10px;
}

.feature-card p {
    margin-bottom: 0;
    color: var(--kd-muted);
    line-height: 1.7;
}

.benefit-list,
.business-list {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

.benefit-item,
.business-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    border: 1px solid var(--kd-border);
    border-radius: 18px;
    background: rgba(255,255,255,0.9);
}

.benefit-item strong,
.business-item strong {
    display: block;
    color: var(--kd-secondary);
    margin-bottom: 4px;
}

.benefit-item span,
.business-item span {
    color: var(--kd-muted);
    line-height: 1.6;
}

.benefit-mark,
.business-mark {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(13, 110, 253, 0.10);
    color: var(--kd-primary);
    font-weight: 800;
    flex-shrink: 0;
}

.district-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.district-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    border-radius: 14px;
    border: 1px solid rgba(11, 61, 145, 0.12);
    background: linear-gradient(180deg, #ffffff, #f2f8ff);
    color: var(--kd-secondary);
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.district-pill:hover {
    text-decoration: none;
    color: var(--kd-secondary);
    transform: translateY(-2px);
    box-shadow: 0 12px 20px rgba(11, 61, 145, 0.08);
}

.about-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 18px;
    margin-top: 26px;
}

.about-stat-card {
    background: rgba(255,255,255,0.92);
    border: 1px solid var(--kd-border);
    border-radius: 18px;
    padding: 20px 18px;
    text-align: center;
    box-shadow: 0 12px 24px rgba(17, 61, 99, 0.05);
}

.about-stat-value {
    display: block;
    font-size: clamp(1.6rem, 2vw, 2.25rem);
    color: var(--kd-secondary);
    font-weight: 800;
    margin-bottom: 8px;
}

.about-stat-card small {
    color: var(--kd-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.about-cta-panel {
    border-radius: 26px;
    background: linear-gradient(135deg, var(--kd-primary), var(--kd-secondary));
    color: #fff;
    padding: 34px 28px;
    box-shadow: 0 18px 34px rgba(11, 61, 145, 0.25);
}

.about-cta-panel h2 {
    color: #fff;
    margin-bottom: 12px;
}

.about-cta-panel p {
    color: rgba(255,255,255,0.9);
    margin-bottom: 22px;
}

.contact-card {
    background: rgba(255,255,255,0.9);
    border: 1px solid var(--kd-border);
    border-radius: 20px;
    padding: 24px;
    height: 100%;
}

.contact-card h3 {
    color: var(--kd-secondary);
    margin-bottom: 12px;
}

.contact-card p,
.contact-card li {
    color: var(--kd-muted);
}

.contact-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: grid;
    gap: 8px;
}

@media (max-width: 767.98px) {
    .about-hero-shell {
        padding: 22px 18px;
    }

    .about-cta {
        flex-direction: column;
    }

    .about-section {
        padding: 28px 0;
    }

    .mission-panel {
        padding: 18px;
    }
}

@keyframes driftHills {
  from {
    transform: translateY(0px) scale(1);
  }
  to {
    transform: translateY(10px) scale(1.02);
  }
}

@keyframes driftBackwaters {
  from {
    transform: translateY(0px) translateX(0px);
  }
  to {
    transform: translateY(10px) translateX(8px);
  }
}

@keyframes shimmerSweep {
  0% {
    transform: translate(-120%, -80%) rotate(18deg);
    opacity: 0;
  }
  16% {
    opacity: 0.8;
  }
  44% {
    opacity: 0.35;
  }
  100% {
    transform: translate(260%, 130%) rotate(18deg);
    opacity: 0;
  }
}

@keyframes shimmerBand {
  0% {
    transform: translateX(-120%);
  }
  50% {
    transform: translateX(120%);
  }
  100% {
    transform: translateX(120%);
  }
}

@keyframes buttonFlash {
  0%,
  65%,
  100% {
    left: -45%;
    opacity: 0;
  }
  72% {
    opacity: 0.95;
  }
  86% {
    left: 132%;
    opacity: 0;
  }
}

@media (max-width: 991.98px) {
  .main-nav {
    padding: 0.35rem 0;
  }

  .kd-nav-links {
    gap: 2px;
    padding-top: 8px;
    padding-bottom: 6px;
  }

  .navbar-dark .navbar-nav .nav-link {
    width: 100%;
    border-radius: 10px;
  }

  .kd-nav-actions {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    padding-top: 10px;
    margin-top: 8px;
  }

  .kd-nav-utility {
    width: 100%;
    justify-content: flex-end;
  }

  .nav-cart-button {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .nav-user-chip,
  .nav-logout-btn,
  .navbar-toggler { min-height: 38px; height: 38px; }

  .commerce-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nav-user-name {
    max-width: 120px;
  }

  .hero-copy {
    padding: 30px 22px;
  }

  .page-banner .banner-copy {
    padding: 22px;
  }

  .create-visual-pane {
    border-right: 0;
    border-bottom: 1px solid #d2e2fb;
  }

  .owner-account-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .brand-text {
    font-size: 1rem;
  }

  .navbar-brand {
    gap: 8px;
  }

  .kd-nav-utility {
    gap: 0.5rem;
    flex-wrap: nowrap;
  }

  .nav-cart-button {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 12px;
  }

  .nav-user-chip,
  .nav-logout-btn,
  .navbar-toggler { min-height: 36px; height: 36px; }

  .commerce-store-header {
    padding: 1.25rem;
  }

  .commerce-store-header h1 {
    font-size: 1.55rem;
  }

  .commerce-store-cart {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .commerce-card-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .commerce-package-card {
    padding: 1.25rem;
  }

  .owner-dashboard-page {
    padding-top: 1rem;
  }

  .inline-otp-row {
    grid-template-columns: 1fr;
  }

  .inline-otp-row .country-code-select,
  .inline-otp-row .form-control,
  .inline-otp-row .btn,
  .send-otp-btn {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .inline-otp-row {
    grid-template-columns: 96px 150px auto;
  }

  .inline-otp-row .btn-outline-success {
    grid-column: 3;
  }

  .inline-otp-row input[placeholder*="OTP"] {
    grid-column: 1 / span 2;
  }
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.catalog-page {
  padding: 34px 0 10px;
  background: radial-gradient(circle at 92% 2%, rgba(19, 135, 97, 0.14), transparent 26rem), radial-gradient(circle at 6% 18%, rgba(20, 100, 190, 0.13), transparent 27rem);
}

.catalog-page-container,
.catalog-form-container { max-width: 1220px; }
.catalog-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: clamp(26px, 4vw, 46px); color: #fff; background: linear-gradient(122deg, #123c67, #176d71 68%, #238451); border-radius: 20px; box-shadow: 0 20px 42px rgba(17, 63, 91, 0.2); }
.catalog-eyebrow, .catalog-kicker { display: block; color: #d2f1dc; font-size: 0.76rem; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.catalog-hero h1, .catalog-form-hero h1 { margin: 7px 0 8px; font-size: clamp(2rem, 4vw, 3.35rem); }
.catalog-hero p, .catalog-form-hero p { max-width: 48ch; margin: 0; font-size: 1.05rem; opacity: 0.9; }
.catalog-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.catalog-hero-actions .btn { font-weight: 800; white-space: nowrap; }
.catalog-business-picker { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(260px, 460px) auto; align-items: center; gap: 14px; margin: 18px 0; padding: 15px 18px; border: 1px solid #dbe8ec; border-radius: 12px; background: rgba(255, 255, 255, 0.82); box-shadow: 0 10px 25px rgba(25, 68, 91, 0.06); }
.catalog-business-picker label { color: #345169; font-size: 0.82rem; font-weight: 800; text-transform: uppercase; }
.catalog-builder-link, .catalog-back-link { color: #1467b5; font-weight: 800; text-decoration: none; }
.catalog-builder-link { text-align: right; }
.catalog-alert { border: 0; box-shadow: 0 8px 18px rgba(19, 119, 72, 0.1); }
.catalog-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 20px 0 38px; }
.catalog-stat { min-height: 104px; padding: 18px; border: 1px solid #dce9f0; border-radius: 12px; background: rgba(255, 255, 255, 0.86); box-shadow: 0 9px 20px rgba(33, 75, 98, 0.06); }
.catalog-stat span { display: block; color: #5c7282; font-size: 0.82rem; font-weight: 700; }
.catalog-stat strong { display: block; margin-top: 7px; color: #143a57; font-family: "Bree Serif", Georgia, serif; font-size: 2rem; line-height: 1; }
.catalog-section { margin-top: 42px; }
.catalog-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.catalog-section-heading h2, .catalog-editor-section h2, .catalog-image-panel h2, .catalog-settings-section h2 { margin: 3px 0 4px; color: #153a58; font-size: 1.75rem; }
.catalog-section-heading p { margin: 0; color: #607687; }
.catalog-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.catalog-item-card { overflow: hidden; border: 1px solid #dce8ef; border-radius: 12px; background: #fff; box-shadow: 0 12px 28px rgba(27, 70, 95, 0.08); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.catalog-item-card:hover { transform: translateY(-3px); box-shadow: 0 17px 34px rgba(27, 70, 95, 0.13); }
.catalog-item-media { position: relative; display: grid; height: 176px; place-items: center; overflow: hidden; color: #5a7386; background: linear-gradient(135deg, #dceff0, #eaf2fa); font-weight: 800; }
.catalog-item-media img { width: 100%; height: 100%; object-fit: cover; }
.catalog-service-media { background: linear-gradient(135deg, #d9ede0, #e5f0f4); }
.catalog-featured-badge { position: absolute; top: 12px; right: 12px; padding: 4px 9px; border-radius: 999px; color: #694d00; background: #ffdc75; font-size: 0.72rem; font-weight: 800; }
.catalog-item-body { padding: 18px; }
.catalog-item-meta, .catalog-item-footer, .catalog-item-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.catalog-item-meta { color: #587083; font-size: 0.76rem; font-weight: 800; text-transform: uppercase; }
.catalog-state { padding: 3px 7px; border-radius: 999px; font-size: 0.68rem; }
.catalog-state.is-active { color: #15643c; background: #dbf4e5; }.catalog-state.is-inactive { color: #67727c; background: #edf0f2; }
.catalog-item-body h3 { margin: 10px 0 6px; color: #163a57; font-size: 1.35rem; overflow-wrap: anywhere; }
.catalog-item-body p { display: -webkit-box; min-height: 48px; margin: 0; overflow: hidden; color: #5e7383; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.catalog-item-footer { margin-top: 17px; padding-top: 12px; border-top: 1px solid #e6edf1; color: #627686; font-size: 0.85rem; }.catalog-item-footer strong { color: #174d69; overflow-wrap: anywhere; }.catalog-item-footer span { white-space: nowrap; }
.catalog-item-actions { justify-content: flex-start; flex-wrap: wrap; margin-top: 16px; }.catalog-item-actions form { margin: 0; }.catalog-item-actions .btn { font-weight: 700; }
.catalog-empty-state { display: grid; justify-items: center; gap: 10px; padding: 46px 20px; border: 1px dashed #b9ccd6; border-radius: 12px; color: #627687; background: rgba(255, 255, 255, 0.68); text-align: center; }.catalog-empty-state strong { color: #274c64; font-size: 1.1rem; }
.catalog-form-page { padding: 34px 0 18px; background: radial-gradient(circle at 90% 3%, rgba(19, 135, 97, 0.13), transparent 24rem), radial-gradient(circle at 4% 20%, rgba(20, 100, 190, 0.1), transparent 26rem); }
.catalog-form-container { max-width: 1040px; }.catalog-form-hero { padding: 8px 4px 22px; }.catalog-back-link { display: inline-block; margin-bottom: 22px; }.catalog-form-hero p { color: #597181; opacity: 1; }
.catalog-editor-card { margin-top: 6px; padding: clamp(18px, 3vw, 32px); border: 1px solid #d8e6ed; border-radius: 16px; background: rgba(255, 255, 255, 0.92); box-shadow: 0 18px 42px rgba(23, 64, 89, 0.1); }
.catalog-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 30px; }.catalog-editor-section { min-width: 0; }.catalog-editor-section h2, .catalog-image-panel h2, .catalog-settings-section h2 { font-size: 1.36rem; }.catalog-editor-section .form-label, .catalog-image-panel .form-label { color: #37576c; font-weight: 800; }
.catalog-image-panel { padding: 18px; border: 1px solid #d6e7e8; border-radius: 12px; background: #f4fbf9; }.catalog-image-preview { display: grid; height: 190px; place-items: center; overflow: hidden; border-radius: 10px; color: #60807b; background: #dceee9; font-weight: 800; }.catalog-image-preview img { width: 100%; height: 100%; object-fit: contain; background: #fff; }.catalog-image-panel p { margin: 9px 0 0; color: #607786; font-size: 0.82rem; }
.catalog-settings-section { margin-top: 30px; padding-top: 23px; border-top: 1px solid #e2ebef; }.catalog-toggle-row { display: flex; flex-wrap: wrap; gap: 20px 28px; margin-top: 13px; }.catalog-toggle-row .form-check { min-width: 150px; }.catalog-toggle-row .form-check-label { color: #38596d; font-weight: 700; }.catalog-form-actions { display: flex; justify-content: end; gap: 10px; margin-top: 30px; }.catalog-form-actions .btn { min-width: 122px; font-weight: 800; }
@media (max-width: 991.98px) { .catalog-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.catalog-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .catalog-page, .catalog-form-page { padding-top: 22px; }.catalog-hero { align-items: start; flex-direction: column; padding: 25px 20px; border-radius: 14px; }.catalog-hero-actions { width: 100%; }.catalog-hero-actions .btn { flex: 1 1 140px; }.catalog-business-picker { grid-template-columns: 1fr; gap: 8px; }.catalog-builder-link { margin-top: 5px; text-align: left; }.catalog-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.catalog-stat:last-child { grid-column: 1 / -1; }.catalog-section { margin-top: 34px; }.catalog-section-heading { align-items: start; flex-direction: column; }.catalog-card-grid { grid-template-columns: 1fr; }.catalog-editor-grid { grid-template-columns: 1fr; gap: 20px; }.catalog-image-panel { order: -1; }.catalog-image-preview { height: 215px; }.catalog-form-actions { justify-content: stretch; }.catalog-form-actions .btn { flex: 1; } }
