@import url(https://db.onlinewebfonts.com/c/ef3aab6eae44b00ed09594544784e6d8?family=Axiforma+Regular);
@import url(https://db.onlinewebfonts.com/c/ef3aab6eae44b00ed09594544784e6d8?family=Axiforma+Regular);
@import url(https://db.onlinewebfonts.com/c/ef3aab6eae44b00ed09594544784e6d8?family=Axiforma+Regular);
@charset "UTF-8";
:root {
  --primary-color: #FF5E4D;
  --primary-text: #FFFFFF;
  --secondary-color: #FFF;
  --secondary-text: #FF5E4D;
  --tertiary-color: #232323;
  --tertiary-text: #ffffff;
  --quaternary-color: #232323;
  --quaternary-text: #ffffff;
  --error-color: #a61717;
  --error-text: #ffffff;
  --submit-color: #ffd037;
  --submit-text: #232323;
}

:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: rgb(5.2, 44, 101.2);
  --bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);
  --bs-success-text-emphasis: rgb(10, 54, 33.6);
  --bs-info-text-emphasis: rgb(5.2, 80.8, 96);
  --bs-warning-text-emphasis: rgb(102, 77.2, 2.8);
  --bs-danger-text-emphasis: rgb(88, 21.2, 27.6);
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: rgb(206.6, 226, 254.6);
  --bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);
  --bs-success-bg-subtle: rgb(209, 231, 220.8);
  --bs-info-bg-subtle: rgb(206.6, 244.4, 252);
  --bs-warning-bg-subtle: rgb(255, 242.6, 205.4);
  --bs-danger-bg-subtle: rgb(248, 214.6, 217.8);
  --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: rgb(158.2, 197, 254.2);
  --bs-secondary-border-subtle: rgb(196.2, 199.8, 203);
  --bs-success-border-subtle: rgb(163, 207, 186.6);
  --bs-info-border-subtle: rgb(158.2, 233.8, 249);
  --bs-warning-border-subtle: rgb(255, 230.2, 155.8);
  --bs-danger-border-subtle: rgb(241, 174.2, 180.6);
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: rgb(10.4, 88, 202.4);
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: rgb(255, 242.6, 205.4);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: rgb(109.8, 168, 253.8);
  --bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);
  --bs-success-text-emphasis: rgb(117, 183, 152.4);
  --bs-info-text-emphasis: rgb(109.8, 223.2, 246);
  --bs-warning-text-emphasis: rgb(255, 217.8, 106.2);
  --bs-danger-text-emphasis: rgb(234, 133.8, 143.4);
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: rgb(2.6, 22, 50.6);
  --bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);
  --bs-success-bg-subtle: rgb(5, 27, 16.8);
  --bs-info-bg-subtle: rgb(2.6, 40.4, 48);
  --bs-warning-bg-subtle: rgb(51, 38.6, 1.4);
  --bs-danger-bg-subtle: rgb(44, 10.6, 13.8);
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: rgb(7.8, 66, 151.8);
  --bs-secondary-border-subtle: rgb(64.8, 70.2, 75);
  --bs-success-border-subtle: rgb(15, 81, 50.4);
  --bs-info-border-subtle: rgb(7.8, 121.2, 144);
  --bs-warning-border-subtle: rgb(153, 115.8, 4.2);
  --bs-danger-border-subtle: rgb(132, 31.8, 41.4);
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: rgb(109.8, 168, 253.8);
  --bs-link-hover-color: rgb(138.84, 185.4, 254.04);
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: rgb(230.4, 132.6, 181.2);
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: rgb(102, 77.2, 2.8);
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: rgb(117, 183, 152.4);
  --bs-form-valid-border-color: rgb(117, 183, 152.4);
  --bs-form-invalid-color: rgb(234, 133.8, 143.4);
  --bs-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-family: var(--bs-body-font-family);
  font-size: 1rem;
  font-size: var(--bs-body-font-size);
  font-weight: 400;
  font-weight: var(--bs-body-font-weight);
  line-height: 1.5;
  line-height: var(--bs-body-line-height);
  color: #212529;
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: #fff;
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: #212529;
  color: var(--bs-highlight-color);
  background-color: rgb(255, 242.6, 205.4);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(13, 110, 253, 1);
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: #d63384;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: #fff;
  color: var(--bs-body-bg);
  background-color: #212529;
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-size: calc(1.625rem + 4.5vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-size: calc(1.575rem + 3.9vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-size: calc(1.525rem + 3.3vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-size: calc(1.425rem + 2.1vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-size: calc(1.375rem + 1.5vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  background-color: var(--bs-body-bg);
  border: 1px solid #dee2e6;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 100px;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color);
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(1px * 2) solid currentcolor;
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: 1px 0;
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 1px;
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: rgb(206.6, 226, 254.6);
  --bs-table-border-color: rgb(165.28, 180.8, 203.68);
  --bs-table-striped-bg: rgb(196.27, 214.7, 241.87);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(185.94, 203.4, 229.14);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(191.105, 209.05, 235.505);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: rgb(225.6, 227.4, 229);
  --bs-table-border-color: rgb(180.48, 181.92, 183.2);
  --bs-table-striped-bg: rgb(214.32, 216.03, 217.55);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(203.04, 204.66, 206.1);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(208.68, 210.345, 211.825);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: rgb(209, 231, 220.8);
  --bs-table-border-color: rgb(167.2, 184.8, 176.64);
  --bs-table-striped-bg: rgb(198.55, 219.45, 209.76);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(188.1, 207.9, 198.72);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(193.325, 213.675, 204.24);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: rgb(206.6, 244.4, 252);
  --bs-table-border-color: rgb(165.28, 195.52, 201.6);
  --bs-table-striped-bg: rgb(196.27, 232.18, 239.4);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(185.94, 219.96, 226.8);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(191.105, 226.07, 233.1);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: rgb(255, 242.6, 205.4);
  --bs-table-border-color: rgb(204, 194.08, 164.32);
  --bs-table-striped-bg: rgb(242.25, 230.47, 195.13);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(229.5, 218.34, 184.86);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(235.875, 224.405, 189.995);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: rgb(248, 214.6, 217.8);
  --bs-table-border-color: rgb(198.4, 171.68, 174.24);
  --bs-table-striped-bg: rgb(235.6, 203.87, 206.91);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(223.2, 193.14, 196.02);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(229.4, 198.505, 201.465);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: rgb(198.4, 199.2, 200);
  --bs-table-striped-bg: rgb(235.6, 236.55, 237.5);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(223.2, 224.1, 225);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(229.4, 230.325, 231.25);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: rgb(77.4, 80.6, 83.8);
  --bs-table-striped-bg: rgb(44.1, 47.9, 51.7);
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: rgb(55.2, 58.8, 62.4);
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: rgb(49.65, 53.35, 57.05);
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  color: var(--bs-body-color);
  -webkit-appearance: none;
          appearance: none;
  background-color: #fff;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: 1px solid #dee2e6;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: #212529;
  color: var(--bs-body-color);
  background-color: #fff;
  background-color: var(--bs-body-bg);
  border-color: rgb(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
          margin-inline-end: 0.75rem;
  color: #212529;
  color: var(--bs-body-color);
  background-color: #f8f9fa;
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
          margin-inline-end: 0.75rem;
  color: #212529;
  color: var(--bs-body-color);
  background-color: #f8f9fa;
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(1px * 2));
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.25rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::-webkit-file-upload-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(1px * 2));
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.5rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::-webkit-file-upload-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(1px * 2));
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(1px * 2));
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(1px * 2));
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(1px * 2));
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(1px * 2));
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(1px * 2));
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  color: var(--bs-body-color);
  -webkit-appearance: none;
          appearance: none;
  background-color: #fff;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), none;
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #dee2e6;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: rgb(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #212529;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.25rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: 0.5rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  -webkit-appearance: none;
          appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid #dee2e6;
  border: var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: rgb(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgb%28134, 182.5, 254%29%27/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none;
          appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: rgb(182.4, 211.5, 254.4);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: rgb(182.4, 211.5, 254.4);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: rgba(33, 37, 41, 0.75);
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: rgba(33, 37, 41, 0.75);
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(1px * 2));
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(1px * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(33, 37, 41, 0.65);
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: #fff;
  background-color: var(--bs-body-bg);
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(33, 37, 41, 0.65);
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: 1px 0;
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: #f8f9fa;
  background-color: var(--bs-tertiary-bg);
  border: 1px solid #dee2e6;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.5rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.25rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(1px * -1);
  margin-left: calc(var(--bs-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #198754;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: #198754;
  background-color: var(--bs-success);
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #198754;
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #198754;
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: #198754;
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: #198754;
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: #198754;
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: #198754;
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #198754;
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #dc3545;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: #dc3545;
  background-color: var(--bs-danger);
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #dc3545;
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: #dc3545;
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: #dc3545;
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: #dc3545;
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: #dc3545;
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(11.05, 93.5, 215.05);
  --bs-btn-hover-border-color: rgb(10.4, 88, 202.4);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(10.4, 88, 202.4);
  --bs-btn-active-border-color: rgb(9.75, 82.5, 189.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(91.8, 99.45, 106.25);
  --bs-btn-hover-border-color: rgb(86.4, 93.6, 100);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(86.4, 93.6, 100);
  --bs-btn-active-border-color: rgb(81, 87.75, 93.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(21.25, 114.75, 71.4);
  --bs-btn-hover-border-color: rgb(20, 108, 67.2);
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(20, 108, 67.2);
  --bs-btn-active-border-color: rgb(18.75, 101.25, 63);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);
  --bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(61.4, 212.6, 243);
  --bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(255, 202.3, 44.2);
  --bs-btn-hover-border-color: rgb(255, 199.2, 31.8);
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(255, 205.4, 56.6);
  --bs-btn-active-border-color: rgb(255, 199.2, 31.8);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(187, 45.05, 58.65);
  --bs-btn-hover-border-color: rgb(176, 42.4, 55.2);
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(176, 42.4, 55.2);
  --bs-btn-active-border-color: rgb(165, 39.75, 51.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);
  --bs-btn-hover-border-color: rgb(198.4, 199.2, 200);
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(198.4, 199.2, 200);
  --bs-btn-active-border-color: rgb(186, 186.75, 187.5);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);
  --bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(77.4, 80.6, 83.8);
  --bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d6efd;
  --bs-btn-hover-border-color: #0d6efd;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0d6efd;
  --bs-btn-active-border-color: #0d6efd;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0d6efd;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0d6efd;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: 0.375rem;
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(1px * -1);
  margin-left: calc(var(--bs-border-width) * -1);
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(1px * -1);
  margin-top: calc(var(--bs-border-width) * -1);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #0d6efd;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: 1px solid var(--bs-navbar-toggler-border-color);
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: 75vh;
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: #212529;
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23212529%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27M2 5L8 11L14 5%27/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27rgb%285.2, 44, 101.2%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27M2 5L8 11L14 5%27/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgb%28109.8, 168, 253.8%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgb%28109.8, 168, 253.8%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e");
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: "/";
  content: var(--bs-breadcrumb-divider, "/")
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #0d6efd;
  --bs-pagination-active-border-color: #0d6efd;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(1px * -1);
  margin-left: calc(var(--bs-border-width) * -1);
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}

.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #0d6efd;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--bs-progress-height) var(--bs-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #0d6efd;
  --bs-list-group-active-border-color: #0d6efd;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z%27/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  filter: var(--bs-btn-close-white-filter);
}

[data-bs-theme=dark] .btn-close {
  filter: var(--bs-btn-close-white-filter);
}

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -webkit-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-container {
  width: 100%;
  height: 390px;
  margin: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: stretch;
  position: relative;
  background-size: cover;
  background-position: center;
  flex-direction: row;
  transition: transform 0.6s ease, box-shadow 0.2s ease;
  cursor: grab;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}


.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}

.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}

.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}

.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z%27/%3e%3c/svg%3e")
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e")
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}
.carousel-dark .carousel-caption {
  color: #000;
}

[data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
  background-color: #000;
}
[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
  color: #000;
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.5 * var(--bs-offcanvas-padding-y)) auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
          mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
            mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(13, 110, 253, 1) !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(108, 117, 125, 1) !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(25, 135, 84, 1) !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(13, 202, 240, 1) !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(255, 193, 7, 1) !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(220, 53, 69, 1) !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(248, 249, 250, 1) !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(33, 37, 41, 1) !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(13, 110, 253, 1) !important;
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(13, 110, 253, 1) !important;
          text-decoration-color: RGBA(13, 110, 253, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(10, 88, 202, 1) !important;
  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(10, 88, 202, 1) !important;
          text-decoration-color: RGBA(10, 88, 202, 1) !important;
  -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(108, 117, 125, 1) !important;
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(108, 117, 125, 1) !important;
          text-decoration-color: RGBA(108, 117, 125, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, 1) !important;
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(86, 94, 100, 1) !important;
          text-decoration-color: RGBA(86, 94, 100, 1) !important;
  -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(25, 135, 84, 1) !important;
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(25, 135, 84, 1) !important;
          text-decoration-color: RGBA(25, 135, 84, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, 1) !important;
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(20, 108, 67, 1) !important;
          text-decoration-color: RGBA(20, 108, 67, 1) !important;
  -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(13, 202, 240, 1) !important;
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(13, 202, 240, 1) !important;
          text-decoration-color: RGBA(13, 202, 240, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, 1) !important;
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(61, 213, 243, 1) !important;
          text-decoration-color: RGBA(61, 213, 243, 1) !important;
  -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(255, 193, 7, 1) !important;
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(255, 193, 7, 1) !important;
          text-decoration-color: RGBA(255, 193, 7, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, 1) !important;
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(255, 205, 57, 1) !important;
          text-decoration-color: RGBA(255, 205, 57, 1) !important;
  -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(220, 53, 69, 1) !important;
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(220, 53, 69, 1) !important;
          text-decoration-color: RGBA(220, 53, 69, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, 1) !important;
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(176, 42, 55, 1) !important;
          text-decoration-color: RGBA(176, 42, 55, 1) !important;
  -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(248, 249, 250, 1) !important;
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(248, 249, 250, 1) !important;
          text-decoration-color: RGBA(248, 249, 250, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, 1) !important;
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(249, 250, 251, 1) !important;
          text-decoration-color: RGBA(249, 250, 251, 1) !important;
  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(33, 37, 41, 1) !important;
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(33, 37, 41, 1) !important;
          text-decoration-color: RGBA(33, 37, 41, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, 1) !important;
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(26, 30, 33, 1) !important;
          text-decoration-color: RGBA(26, 30, 33, 1) !important;
  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(0, 0, 0, 1) !important;
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(0, 0, 0, 1) !important;
          text-decoration-color: RGBA(0, 0, 0, 1) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(0, 0, 0, 0.75) !important;
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  -webkit-text-decoration-color: RGBA(0, 0, 0, 0.75) !important;
          text-decoration-color: RGBA(0, 0, 0, 0.75) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
          text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  -webkit-text-decoration-color: rgba(13, 110, 253, 0.5);
          text-decoration-color: rgba(13, 110, 253, 0.5);
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
          text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: translate3d(0.25em, 0, 0);
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: 1px;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  object-fit: contain !important;
}

.object-fit-cover {
  object-fit: cover !important;
}

.object-fit-fill {
  object-fit: fill !important;
}

.object-fit-scale {
  object-fit: scale-down !important;
}

.object-fit-none {
  object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: 1px solid #dee2e6 !important;
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: 1px solid #dee2e6 !important;
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: 1px solid #dee2e6 !important;
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(13, 110, 253, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(108, 117, 125, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(25, 135, 84, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(13, 202, 240, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(255, 193, 7, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(220, 53, 69, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(248, 249, 250, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(33, 37, 41, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(0, 0, 0, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(255, 255, 255, var(--bs-border-opacity)) !important;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-primary-subtle {
  border-color: rgb(158.2, 197, 254.2) !important;
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: rgb(196.2, 199.8, 203) !important;
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: rgb(163, 207, 186.6) !important;
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: rgb(158.2, 233.8, 249) !important;
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: rgb(255, 230.2, 155.8) !important;
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: rgb(241, 174.2, 180.6) !important;
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: #e9ecef !important;
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: #adb5bd !important;
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1.5rem !important;
}

.row-gap-5 {
  row-gap: 3rem !important;
}

.column-gap-0 {
  column-gap: 0 !important;
}

.column-gap-1 {
  column-gap: 0.25rem !important;
}

.column-gap-2 {
  column-gap: 0.5rem !important;
}

.column-gap-3 {
  column-gap: 1rem !important;
}

.column-gap-4 {
  column-gap: 1.5rem !important;
}

.column-gap-5 {
  column-gap: 3rem !important;
}

.font-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

.text-primary {
  --bs-text-opacity: 1;
  color: rgba(13, 110, 253, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(108, 117, 125, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
  --bs-text-opacity: 1;
  color: rgba(25, 135, 84, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
  --bs-text-opacity: 1;
  color: rgba(13, 202, 240, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
  --bs-text-opacity: 1;
  color: rgba(255, 193, 7, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
  --bs-text-opacity: 1;
  color: rgba(220, 53, 69, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: rgba(248, 249, 250, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(33, 37, 41, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: rgba(33, 37, 41, var(--bs-text-opacity)) !important;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: rgba(33, 37, 41, 0.75) !important;
  color: var(--bs-secondary-color) !important;
}

.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-body-secondary {
  --bs-text-opacity: 1;
  color: rgba(33, 37, 41, 0.75) !important;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: rgba(33, 37, 41, 0.5) !important;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: #000 !important;
  color: var(--bs-emphasis-color) !important;
}

.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

.text-primary-emphasis {
  color: rgb(5.2, 44, 101.2) !important;
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: rgb(43.2, 46.8, 50) !important;
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: rgb(10, 54, 33.6) !important;
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: rgb(5.2, 80.8, 96) !important;
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: rgb(102, 77.2, 2.8) !important;
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: rgb(88, 21.2, 27.6) !important;
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: #495057 !important;
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: #495057 !important;
  color: var(--bs-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(13, 110, 253, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(13, 110, 253, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(108, 117, 125, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(108, 117, 125, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(25, 135, 84, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(25, 135, 84, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(13, 202, 240, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(13, 202, 240, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(255, 193, 7, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(255, 193, 7, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(220, 53, 69, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(220, 53, 69, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(248, 249, 250, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(248, 249, 250, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(33, 37, 41, var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(33, 37, 41, var(--bs-link-underline-opacity)) !important;
  -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
          text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(13, 110, 253, 1) !important;
          text-decoration-color: rgba(13, 110, 253, 1) !important;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
          text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(13, 110, 253, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(108, 117, 125, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(25, 135, 84, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(13, 202, 240, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 193, 7, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(220, 53, 69, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(248, 249, 250, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(33, 37, 41, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(0, 0, 0, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(233, 236, 239, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(248, 249, 250, var(--bs-bg-opacity)) !important;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

.bg-primary-subtle {
  background-color: rgb(206.6, 226, 254.6) !important;
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: rgb(225.6, 227.4, 229) !important;
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: rgb(209, 231, 220.8) !important;
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: rgb(206.6, 244.4, 252) !important;
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: rgb(255, 242.6, 205.4) !important;
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: rgb(248, 214.6, 217.8) !important;
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: rgb(251.5, 252, 252.5) !important;
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: #ced4da !important;
  background-color: var(--bs-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)) !important;
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  -webkit-user-select: all !important;
          user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
          user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
          user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: 0.375rem !important;
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: 0.25rem !important;
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: 0.375rem !important;
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: 0.5rem !important;
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: 1rem !important;
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: 2rem !important;
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: 0.375rem !important;
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: 0.375rem !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: 0.25rem !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: 0.25rem !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: 0.375rem !important;
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: 0.375rem !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: 0.5rem !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: 0.5rem !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: 1rem !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: 1rem !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: 2rem !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: 2rem !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: 50rem !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: 50rem !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: 0.375rem !important;
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: 0.25rem !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: 0.375rem !important;
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: 0.5rem !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: 0.5rem !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: 1rem !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: 1rem !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: 2rem !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: 2rem !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: 50rem !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: 50rem !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: 0.375rem !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: 0.25rem !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: 0.375rem !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: 0.5rem !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: 0.5rem !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: 1rem !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: 1rem !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: 2rem !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: 2rem !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: 50rem !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: 50rem !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: 0.375rem !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: 0.375rem !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: 0.25rem !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: 0.25rem !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: 0.375rem !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: 0.375rem !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: 0.5rem !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: 0.5rem !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: 1rem !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: 1rem !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: 2rem !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: 2rem !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: 50rem !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: 50rem !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
:root {
  --bs-btn-primary-bg: #FF5E4D;
  --bs-btn-primary-border-color: #FF5E4D;
  --bs-btn-primary-hover-bg: rgb(255, 117.0646067416, 102.5);
  --bs-btn-primary-hover-border-color: rgb(255, 117.0646067416, 102.5);
  --bs-btn-primary-active-bg: rgb(255, 47.8707865169, 26);
  --bs-btn-primary-active-border-color: rgb(255, 47.8707865169, 26);
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: rgb(255, 255, 255);
}

.main-container {
    background-color: rgb(255, 255, 255);
    min-height: 2080px;
    max-width: 3000px;
}



.bg-video-container {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,
        rgba(0, 0, 0, 0),
        rgba(0, 0, 0, 0) 70%,
        rgba(0, 0, 0, 0) 100%,
    );
}

#bg-video {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    max-width: 100%;
}

.foreground-container {
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    overflow: visible;
}

.header-container {
    margin-bottom: 3px;
    text-align: center;
    width: 100%;
}



.icomerge-logo {
    float: center;
    padding: 10px;
    max-height: 90px;
}

.icomerge-logo-small {
    max-height: 50px;
    padding: auto;
    margin-right: 0px;
}

.icomerge-logo-large {
    max-height: 100px;
    padding: auto;
    margin-right: 0px;
}

.div-style {
    display: flex;
    align-items: center;
    justify-content: center;
}

.background {
    background-color: #272727;
    color: #f3f2f2f2;
}

.h3-style {
    color: white;
    background-color: #ffffffc7;
    font-size: 15px;
    border-color: rgb(93, 92, 92);
    border-width: 0.5px;
    border-style: ridge;
    white-space: break-spaces;
    border-radius: 2px;
    height: 1700px;
}

.h4-style {
    color: #000000;
    font-size: 1rem;
    display: flex;
    justify-content: center;
    text-align: center;
}

.modal-button {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.shop2 {
    width: auto;
}

/* src/styles/globals.css */
:root {
  --color-accent: #FF5E4D;
  --color-white: #FFFFFF;
  --color-error: #E74C3C;
  /* Add any other global variables here */
}

body {
font-family: 'Montserrat', Arial, sans-serif;
}

.sm {
height: 100vh;
overflow: hidden;
}

.sm-body {
display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 10% 50px 10%;
  width: 100%;
  min-height: 100vh; /* Ensure it takes full height */
  gap: 100px;
}

.sm-intro {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}

.sm-intro-text {
margin-top: 10px;
font-size: 15px;
text-align: center;
}

.sm-content {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
}

/* Bottom button container */
.button-container {
margin-top: 20px;
width: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
margin-bottom: 30px;
}

/* Multiple buttons style */
.button-container--multiple {
margin-top: 20px;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}

.search-page-container {
display: flex;
gap: 1.5rem;
}

.results-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
grid-gap: 1rem;
gap: 1rem;
}

.popular-products, .popular-brands, .popular-properties, .popular-stands {
margin-bottom: 3rem;
}

/* Example of a global mixin-like utility using a custom property (if needed) */
/* Note: CSS itself doesn’t support mixins, but you can simulate reusable patterns with classes */

:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: hsl(6, 78%, 57%);
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);

  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);

  --toastify-container-width: fit-content;
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-padding: 14px;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;

  /* Used only for colored theme */
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;

  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  /* used to control the opacity of the progress trail */
  --toastify-color-progress-bgo: 0.2;
}

.Toastify__toast-container {
  z-index: 9999;
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, 9999);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  position: fixed;
  width: -webkit-fit-content;
  width: fit-content;
  width: var(--toastify-container-width);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.Toastify__toast-container--top-left {
  top: max(16px, env(safe-area-inset-top));
  top: var(--toastify-toast-top);
  left: max(16px, env(safe-area-inset-left));
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--top-center {
  top: max(16px, env(safe-area-inset-top));
  top: var(--toastify-toast-top);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--top-right {
  top: max(16px, env(safe-area-inset-top));
  top: var(--toastify-toast-top);
  right: max(16px, env(safe-area-inset-right));
  right: var(--toastify-toast-right);
  align-items: end;
}
.Toastify__toast-container--bottom-left {
  bottom: max(16px, env(safe-area-inset-bottom));
  bottom: var(--toastify-toast-bottom);
  left: max(16px, env(safe-area-inset-left));
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--bottom-center {
  bottom: max(16px, env(safe-area-inset-bottom));
  bottom: var(--toastify-toast-bottom);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--bottom-right {
  bottom: max(16px, env(safe-area-inset-bottom));
  bottom: var(--toastify-toast-bottom);
  right: max(16px, env(safe-area-inset-right));
  right: var(--toastify-toast-right);
  align-items: end;
}

.Toastify__toast {
  --y: 0;
  position: relative;
  touch-action: none;
  width: 320px;
  width: var(--toastify-toast-width);
  min-height: 64px;
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: 14px;
  padding: var(--toastify-toast-padding);
  border-radius: 6px;
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  box-shadow: var(--toastify-toast-shadow);
  max-height: 800px;
  max-height: var(--toastify-toast-max-height);
  font-family: sans-serif;
  font-family: var(--toastify-font-family);
  /* webkit only issue #791 */
  z-index: 0;
  /* inner swag */
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  word-break: break-word;
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    left: env(safe-area-inset-left);
    margin: 0;
  }
  .Toastify__toast-container--top-left,
  .Toastify__toast-container--top-center,
  .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }
  .Toastify__toast-container--bottom-left,
  .Toastify__toast-container--bottom-center,
  .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }
  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: auto;
    left: initial;
  }
  .Toastify__toast {
    --toastify-toast-width: 100%;
    margin-bottom: 0;
    border-radius: 0;
  }
}

.Toastify__toast-container[data-stacked='true'] {
  width: 320px;
  width: var(--toastify-toast-width);
}

.Toastify__toast--stacked {
  position: absolute;
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform 0.3s;
}

.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,
.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity 0.1s;
}

.Toastify__toast--stacked[data-collapsed='false'] {
  overflow: visible;
}

.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {
  opacity: 0;
}

.Toastify__toast--stacked:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--g) * 1px);
  bottom: 100%;
}

.Toastify__toast--stacked[data-pos='top'] {
  top: 0;
}

.Toastify__toast--stacked[data-pos='bot'] {
  bottom: 0;
}

.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {
  transform-origin: top;
}

.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {
  transform-origin: bottom;
}

.Toastify__toast--stacked:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  transform: scaleY(3);
  z-index: -1;
}

.Toastify__toast--rtl {
  direction: rtl;
}

.Toastify__toast--close-on-click {
  cursor: pointer;
}

.Toastify__toast-icon {
  -webkit-margin-end: 10px;
          margin-inline-end: 10px;
  width: 22px;
  flex-shrink: 0;
  display: flex;
}

.Toastify--animate {
  animation-fill-mode: both;
  animation-duration: 0.5s;
}

.Toastify--animate-icon {
  animation-fill-mode: both;
  animation-duration: 0.3s;
}

.Toastify__toast-theme--dark {
  background: #121212;
  background: var(--toastify-color-dark);
  color: #fff;
  color: var(--toastify-text-color-dark);
}

.Toastify__toast-theme--light {
  background: #fff;
  background: var(--toastify-color-light);
  color: #757575;
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--default {
  background: #fff;
  background: var(--toastify-color-light);
  color: #757575;
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--info {
  color: #fff;
  color: var(--toastify-text-color-info);
  background: #3498db;
  background: var(--toastify-color-info);
}

.Toastify__toast-theme--colored.Toastify__toast--success {
  color: #fff;
  color: var(--toastify-text-color-success);
  background: #07bc0c;
  background: var(--toastify-color-success);
}

.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: #fff;
  color: var(--toastify-text-color-warning);
  background: #f1c40f;
  background: var(--toastify-color-warning);
}

.Toastify__toast-theme--colored.Toastify__toast--error {
  color: #fff;
  color: var(--toastify-text-color-error);
  background: hsl(6, 78%, 57%);
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
  background: var(--toastify-color-progress-light);
}

.Toastify__progress-bar-theme--dark {
  background: #bb86fc;
  background: var(--toastify-color-progress-dark);
}

.Toastify__progress-bar--info {
  background: #3498db;
  background: var(--toastify-color-progress-info);
}

.Toastify__progress-bar--success {
  background: #07bc0c;
  background: var(--toastify-color-progress-success);
}

.Toastify__progress-bar--warning {
  background: #f1c40f;
  background: var(--toastify-color-progress-warning);
}

.Toastify__progress-bar--error {
  background: hsl(6, 78%, 57%);
  background: var(--toastify-color-progress-error);
}

.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: rgba(255, 255, 255, 0.7);
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  position: absolute;
  top: 6px;
  right: 6px;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  z-index: 1;
}

.Toastify__toast--rtl .Toastify__close-button {
  left: 6px;
  right: auto;
  right: initial;
}

.Toastify__close-button--light {
  color: #000;
  opacity: 0.3;
}

.Toastify__close-button > svg {
  fill: currentColor;
  height: 16px;
  width: 14px;
}

.Toastify__close-button:hover,
.Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}

.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.7;
  transform-origin: left;
}

.Toastify__progress-bar--animated {
  animation: Toastify__trackProgress linear 1 forwards;
}

.Toastify__progress-bar--controlled {
  transition: transform 0.2s;
}

.Toastify__progress-bar--rtl {
  right: 0;
  left: auto;
  left: initial;
  transform-origin: right;
  border-bottom-left-radius: 0;
  border-bottom-left-radius: initial;
}

.Toastify__progress-bar--wrp {
  position: absolute;
  overflow: hidden;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-bottom-left-radius: 6px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
  border-bottom-right-radius: 6px;
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
}

.Toastify__progress-bar--wrp[data-hidden='true'] {
  opacity: 0;
}

.Toastify__progress-bar--bg {
  opacity: 0.2;
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid;
  border-radius: 100%;
  border-color: #e0e0e0;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: #616161;
  border-right-color: var(--toastify-spinner-color);
  animation: Toastify__spin 0.65s linear infinite;
}

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.Toastify__bounce-enter--top-left,
.Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}

.Toastify__bounce-enter--top-right,
.Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}

.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}

.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left,
.Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}

.Toastify__bounce-exit--top-right,
.Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}

.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}

.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }
  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}

@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}

.Toastify__slide-enter--top-left,
.Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}

.Toastify__slide-enter--top-right,
.Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}

.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}

.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left,
.Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-right,
.Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

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

.container-navbar {
    /* font-family: "Montserrat", "Axiforma Regular", "Quicksand", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; */
    background-color: #fff;
    height: 5rem;
    position: relative;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.container-navbar:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    transition: .3s all ease;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
}

.container-navbar.offcanvas-menu:before {
    opacity: 1;
    z-index: 1002;
    visibility: visible;
}

a {
    transition: .3s all ease;
}

a, a:hover {
    text-decoration: none !important;
}

.hero {
    height: 100vh;
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.site-navbar-wrap {
    position: absolute;
    z-index: 99;
    width: 100%;
    left: 0;
}

.site-navbar-wrap a {
    color: rgb(255, 255, 255);
}

.site-navbar-wrap .site-navbar-top {
    font-size: 0.8rem;
}

.site-navbar-top {
    border-bottom: 1px solid rgb(0, 0, 0);
    background-color: rgba(205, 205, 205, 0.8);
}

.static-container {
    display: flex;
    align-items: center;
}

.select-nav-button-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-navigation {
    display: flex;
    align-items: center;
}

.site-menu {
    display: flex;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.site-menu > ul {
    display: flex;
    margin-top: 0px !important;
}

.site-navbar {
    margin-bottom: 0px;
    background-color: rgba(255, 255, 255) !important;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    z-index: 3;
    padding: 0 2rem;
}

.site-navbar .site-logo {
  font-weight: 200;
  line-height: 0;
  top: -7px;
  position: relative;
}

.site-navbar .site-navigation .site-menu > li {
    display: inline-block;
    padding: 10px 5px;
}

.logo-name {
    color: #FF5E4D;
    font-size: 24px;
    font-weight: 900;
    line-height: 34px;
    word-wrap: break-word
}

.user-menu-container {
    margin-left: auto;
}

.user-menu-container img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
}

.dropdown {
    right: 2%;
    position: absolute;
    background-color: black;
    color: white;
    border-radius: 6px;
    padding: 15px;
    margin: 10px;
    width: 10%;
}

.dropdown-item {
    margin: 5px;
}

.dropdown-item button {
    color: white;
}

.search-engine {
    display: flex !important;
    justify-content: flex-end;
    flex-wrap: nowrap;
    align-items: center;
}

/* New button styles */
.navbar-button {
    /* Reduce default padding */
    padding: 6px 12px;
    border-radius: 20px;
    border: none;
    cursor: pointer;
    /* Remove any enforced minimum width if desired */
    min-width: auto;
    font-size: 0.9rem; /* Slightly smaller text */
  }

.navbar-button.login {
    width: auto;
    height: auto;
    display: inline-flex; 
    justify-content: center;
    align-items: center;
    /* Tweak padding for a slimmer look */
    padding: 6px 16px; 
    /* Keep the pill shape if you wish */
    border-radius: 50px; 
    color: #FFFFFF; 
    color: var(--Color-Palette-Principal-Pink, #FFFFFF);
    border: 2px solid #FF5E4D;
    border: 2px solid var(--Color-Palette-Principal-Pink, #FF5E4D);
    background: #FF5E4D;
    background: var(--Color-Palette-Pure-White, #FF5E4D);
    font-size: 0.9rem; /* Keep consistent with the login button */
}

.navbar-button.signup {
    width: auto;
    height: auto;
    display: inline-flex; 
    justify-content: center;
    align-items: center;
    /* Tweak padding for a slimmer look */
    padding: 6px 16px; 
    /* Keep the pill shape if you wish */
    border-radius: 50px; 
    color: #FF5E4D; 
    color: var(--Color-Palette-Principal-Pink, #FF5E4D);
    border: 2px solid #FF5E4D;
    border: 2px solid var(--Color-Palette-Principal-Pink, #FF5E4D);
    background: #FFF;
    background: var(--Color-Palette-Pure-White, #FFF);
    font-size: 0.9rem; /* Keep consistent with the login button */
}

/* Mobile hamburger menu */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--accent-red);
    cursor: pointer;
    padding: 0.5rem;
    z-index: 1001;
}

.mobile-menu-toggle:hover {
    color: var(--accent-orange);
}

/* Mobile menu overlay */
.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

.mobile-menu-overlay.active {
    display: block;
}

/* Mobile menu container */
.mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100%;
    background: var(--primary-white);
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transition: right 0.3s ease;
    overflow-y: auto;
}

.mobile-menu.active {
    right: 0;
}

.mobile-menu-header {
    padding: 1rem;
    border-bottom: 1px solid var(--light-gray);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mobile-menu-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--accent-red);
    cursor: pointer;
}

.mobile-menu-content {
    padding: 1rem;
}

.mobile-menu-section {
    margin-bottom: 2rem;
}

.mobile-menu-section h3 {
    color: var(--primary-dark);
    font-size: 1.1rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.mobile-menu-item {
    display: block;
    width: 100%;
    padding: 0.75rem;
    margin-bottom: 0.5rem;
    text-align: left;
    border-radius: 8px;
    transition: all 0.3s ease;
    font-size: 1rem;
    text-decoration: none;
}

.mobile-menu-item:hover {
    background: rgba(255, 51, 100, 0.1);
    color: var(--accent-red);
}

/* Mobile Adjustments */
@media (max-width: 1024px) {
    .site-navbar {
        padding: 0 1.5rem;
    }
    
    .site-navigation .site-menu {
        gap: 0.5rem;
    }
    
    .site-navigation .site-menu > li {
        padding: 5px 3px;
    }
}

@media (max-width: 768px) {
    .container-navbar {
        height: 4rem;
    }
    
    .site-navbar {
        background-color: rgba(255, 255, 255) !important;
        height: 4rem;
        padding: 0 1rem;
        top: 0 !important;
        z-index: 3;
    }

    /* Hide desktop navigation on mobile */
    .site-navigation {
        display: none;
    }
    
    /* Show mobile menu toggle */
    .mobile-menu-toggle {
        display: block;
    }
    
    /* Show mobile menu */
    .mobile-menu {
        display: block;
    }

    /* Adjust logo size */
    .logo-name {
        font-size: 20px;
        line-height: 28px;
    }
    
    .static-container .brand {
        font-size: 24px !important;
    }

    /* Adjust UserMenu for mobile */
    .user-menu-container {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        position: relative;
        z-index: 10;
        margin-left: 0;
    }

    .user-menu-container img {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        object-fit: cover;
        cursor: pointer;
    }

    /* Ensure the dropdown is accessible on mobile */
    .dropdown {
        position: absolute;
        top: 60px;
        right: 0;
        background-color: black;
        color: white;
        border-radius: 6px;
        padding: 15px;
        margin: 10px;
        width: auto;
        min-width: 200px;
        z-index: 1000;
    }

    .user-menu-container:hover .dropdown, 
    .user-menu-container.active .dropdown {
        display: block !important;
    }

    /* Adjust dropdown items for touch devices */
    .dropdown-item {
        color: white;
        margin: 5px 0;
        padding: 10px;
        display: block;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .dropdown-item:last-child {
        border-bottom: none;
    }

    .dropdown-item button {
        background: none;
        border: none;
        color: white;
        width: 100%;
        text-align: left;
        cursor: pointer;
    }

    /* Ensure the buttons are fully clickable */
    .dropdown-item:hover,
    .dropdown-item button:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }

    .search-engine {
        justify-content: center;
    }
}

/* Further adjustments for very small screens */
@media (max-width: 480px) {
    .site-navbar {
        padding: 0 0.5rem;
    }
    
    .logo-name {
        font-size: 18px;
        line-height: 24px;
    }
    
    .static-container .brand {
        font-size: 20px !important;
    }

    .user-menu-container img {
        width: 40px;
        height: 40px;
    }

    .dropdown {
        top: 50px;
        width: 90vw;
        right: 5vw;
        left: 5vw;
        margin: 0;
    }

    .dropdown-item {
        font-size: 14px;
    }
    
    .mobile-menu {
        width: 100%;
        right: -100%;
    }
}

@media (max-width: 320px) {
    .container-navbar {
        height: 3.5rem;
    }
    
    .site-navbar {
        height: 3.5rem;
        padding: 0 0.25rem;
    }
    
    .logo-name {
        font-size: 16px;
        line-height: 22px;
    }
    
    .static-container .brand {
        font-size: 18px !important;
    }
}

:root{--primary-color: #ff3364;--primary-text: #FFFFFF;--secondary-color: #FFF;--secondary-text: #ff3364;--tertiary-color: #232323;--tertiary-text: #ffffff;--quaternary-color: #232323;--quaternary-text: #ffffff;--error-color: #a61717;--error-text: #ffffff;--submit-color: #ffd037;--submit-text: #232323;--accent-red: #ff3364;--accent-orange: #ff5e4c;--accent-red-alt: #ff3366;--accent-light-orange: #ff7e70;--primary-dark: #232323;--primary-white: #ffffff;--light-gray: #ececec;--primary-gradient: linear-gradient(45deg, var(--accent-red), var(--accent-orange));--secondary-gradient: linear-gradient(45deg, var(--accent-red-alt), var(--accent-light-orange));--tertiary-gradient: linear-gradient(45deg, var(--accent-orange), var(--accent-light-orange))}.btn,.btn-danger,.btn-social,.btn-navbar,.btn-delete,.btn-quintiary,.btn-quaternary,.btn-tertiary,.btn-secondary,.information-type-button,.btn-skip,.btn-login,.btn-primary,.shipping-steps-button,.btn-register-add,.btn-register{display:inline-flex;justify-content:center;align-items:center;font-size:1rem;width:205px;height:40px;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;border:2px solid rgba(0,0,0,0);min-width:auto;border-radius:50px;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;text-align:center;font-size:clamp(.8rem,2.5vw,1rem)}@media(max-width: 480px){.btn,.btn-danger,.btn-social,.btn-navbar,.btn-delete,.btn-quintiary,.btn-quaternary,.btn-tertiary,.btn-secondary,.information-type-button,.btn-skip,.btn-login,.btn-primary,.shipping-steps-button,.btn-register-add,.btn-register{padding:8px 12px;font-size:.9rem;border-width:1px}.btn:hover,.btn-danger:hover,.btn-social:hover,.btn-navbar:hover,.btn-delete:hover,.btn-quintiary:hover,.btn-quaternary:hover,.btn-tertiary:hover,.btn-secondary:hover,.information-type-button:hover,.btn-skip:hover,.btn-login:hover,.btn-primary:hover,.shipping-steps-button:hover,.btn-register-add:hover,.btn-register:hover{transform:translateY(-2px);box-shadow:0 3px 6px rgba(0,0,0,.2)}}.btn-primary,.shipping-steps-button,.btn-register-add,.btn-register{background:linear-gradient(45deg, #ff3364, #ff5e4c);background:linear-gradient(45deg, var(--accent-red), var(--accent-orange));color:#ffffff;color:var(--primary-white);border:none;box-shadow:0 4px 15px rgba(255,51,100,.4)}.btn-primary:hover,.shipping-steps-button:hover,.btn-register-add:hover,.btn-register:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,51,100,.6);color:#ffffff;color:var(--primary-white)}.btn-primary.btn:active,.btn-primary:active,.shipping-steps-button:active,.btn-register-add:active,.btn-register:active{background:linear-gradient(45deg, #ff3364, #ff5e4c);background:linear-gradient(45deg, var(--accent-red), var(--accent-orange));transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,51,100,.5)}.btn-primary.btn:disabled,.btn-primary:disabled,.shipping-steps-button:disabled,.btn-register-add:disabled,.btn-register:disabled{opacity:.6;transform:none;cursor:not-allowed;box-shadow:0 4px 15px rgba(255,51,100,.2)}.btn-secondary,.information-type-button,.btn-skip,.btn-login{background:rgba(0,0,0,0);color:#ff3364;color:var(--accent-red);border:2px solid #ff3364;border:2px solid var(--accent-red)}.btn-secondary:hover,.information-type-button:hover,.btn-skip:hover,.btn-login:hover{background:#ff3364;background:var(--accent-red);color:#ffffff;color:var(--primary-white);transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,51,100,.4)}.btn-secondary.btn:active,.btn-secondary:active,.information-type-button:active,.btn-skip:active,.btn-login:active{background:#ff3364;background:var(--accent-red);color:#ffffff;color:var(--primary-white);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,51,100,.3)}.btn-tertiary{background-color:#232323;color:#fff;border:2px solid #fff}.btn-tertiary:hover{background-color:rgb(47.75,47.75,47.75);color:#fff;border:2px solid #fff;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.btn-quaternary{background-color:#fff;color:#232323;border:2px solid #232323}.btn-quaternary:hover{background-color:#fff;color:#232323;border:2px solid #232323;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.btn-quintiary{background-color:#fff;color:#ff3364;border:None;width:70%}.btn-quintiary:hover{width:70%;background-color:#fff;color:#232323;border:none;text-decoration:underline;transform:translateY(-2px)}.btn-delete{background:linear-gradient(45deg, #a61717, rgb(121.2063492063, 16.7936507937, 16.7936507937));color:#fff;border:none;box-shadow:0 4px 15px rgba(166,23,23,.4)}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(166,23,23,.6)}.btn-submit{display:inline-flex;justify-content:center;align-items:center;font-size:1rem;width:205px;height:40px;cursor:pointer;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;border:2px solid rgba(0,0,0,0);min-width:auto;background:linear-gradient(45deg, #ff3364, #ff5e4c);background:linear-gradient(45deg, var(--accent-red), var(--accent-orange));color:#ffffff;color:var(--primary-white);border:none;box-shadow:0 4px 15px rgba(255,51,100,.4);display:flex;width:auto;border-radius:50px}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,51,100,.6);color:#ffffff;color:var(--primary-white)}.btn-submit:active{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,51,100,.5);color:#ffffff;color:var(--primary-white)}.btn-login{width:100%}.btn-login:hover{width:100%}.btn-register{width:100%}.btn-register:hover{width:100%}.btn-large{font-size:1.1rem}.btn-register-add{border:0;padding:0;width:40px;height:40px}.btn-register-add:hover{border:0;padding:0;width:40px;height:40px}.btn-register-add:active{border:0;padding:0;width:40px;height:40px}.btn-skip{border:2px solid #ff3364;border:2px solid var(--accent-red);box-shadow:0 4px 16px rgba(255,51,100,.25)}.btn-skip:hover{border:2px solid #ff3364;border:2px solid var(--accent-red)}.btn-skip.btn:active,.btn-skip:active{background:#ff3364;background:var(--accent-red);color:#ffffff;color:var(--primary-white)}.btn-navbar{background:rgba(0,0,0,0);color:#ff3364;color:var(--accent-red);border:none;font-size:1rem;padding:8px 12px;transition:color .3s ease;width:auto;border-radius:25px}.btn-navbar:hover{color:#ff5e4c;color:var(--accent-orange);background:rgba(255,51,100,.1)}.btn-navbar:active{color:#ff3364;color:var(--accent-red)}.btn-navbar.active{color:#ff3364;color:var(--accent-red);border-bottom:2px solid #ff3364;border-bottom:2px solid var(--accent-red)}.btn-navbar:disabled{color:rgba(255,51,100,.5);cursor:not-allowed}.btn-social{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:400px;padding:10px;border-radius:25px !important;font-size:14px;cursor:pointer;transition:all .3s ease;border:1px solid #ececec;border:1px solid var(--light-gray);background:#ffffff;background:var(--primary-white)}.btn-social:hover{border:1px solid #ff3364;border:1px solid var(--accent-red);transform:translateY(-2px);box-shadow:0 4px 15px rgba(255,51,100,.2)}.btn-danger{background:linear-gradient(45deg, #dc3545, #c82333);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px;border-radius:25px !important;font-size:14px;cursor:pointer;transition:all .3s ease;border:none;box-shadow:0 4px 15px rgba(220,53,69,.4)}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(220,53,69,.6)}.brand-contract-button{border-radius:25px;background-color:#ffffff;background-color:var(--primary-white);color:#232323;color:var(--primary-dark);border:1px solid #ececec;border:1px solid var(--light-gray);padding:5px 10px;margin:4px;width:100%;cursor:pointer;box-sizing:border-box;display:inline-block;transition:all .3s ease;position:relative}.brand-contract-button.selected{background:linear-gradient(45deg, #ff3364, #ff5e4c);background:linear-gradient(45deg, var(--accent-red), var(--accent-orange));color:#ffffff;color:var(--primary-white);border:2px solid #ff3364;border:2px solid var(--accent-red)}.brand-contract-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(255,51,100,.2)}.brand-contract-badge{position:absolute;top:5px;right:5px;background:#ff3364;background:var(--accent-red);color:#ffffff;color:var(--primary-white);border-radius:50%;padding:2px 6px;font-size:10px}.information-type-button{top:5px;right:5px;padding:2px 6px;margin-bottom:1rem;height:1vmin}.shipping-steps-button{width:100%}.custom-dropdown-button{background:#232323;background:var(--primary-dark);color:#ffffff;color:var(--primary-white);border:none;padding:4px 8px;border-radius:15px;display:inline-flex;align-items:center;cursor:pointer;transition:all .3s ease}.custom-dropdown-button:hover{background:#ff3364;background:var(--accent-red);transform:translateY(-1px)}

.site-navigation .site-menu .btn-navbar {
    text-decoration: none;
    margin: 0 15px;
    cursor: pointer;
    font-size: 1rem;
    transition: color 0.3s ease;
    background: transparent;
    border: none;
}

.user-menu-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-grow: 1;
}

.dropdown {
    right: 2%;
    position: absolute;
    background-color: black;
    color: white;
    border-radius: 6px;
    padding: 15px;
    margin: 10px;
    width: 10%;
}

.disabled {
    pointer-events: none;
    opacity: 0.6;
    cursor: default;
}

/* Mobile menu styles specific to UserNavBar */
.mobile-menu-item.btn {
    width: 100%;
    margin-bottom: 0.5rem;
    justify-content: flex-start;
    text-align: left;
}

/* Desktop view - hide mobile elements */
@media (min-width: 769px) {
    .mobile-menu-toggle {
        display: none !important;
    }
    
    .mobile-menu,
    .mobile-menu-overlay {
        display: none !important;
    }
}

/* Tablet Adjustments */
@media (max-width: 1024px) and (min-width: 769px) {
    .site-navigation .site-menu .btn-navbar {
        margin: 0 8px;
        font-size: 0.9rem;
        padding: 6px 10px;
    }
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .site-navbar {
        height: 4rem;
        padding: 0 1rem;
    }

    /* Hide desktop navigation */
    .site-navigation {
        display: none !important;
    }
    
    .site-navigation .site-menu {
        display: none !important;
    }

    .user-menu-container {
        display: none !important;
    }

    /* Show mobile menu elements */
    .mobile-menu-toggle {
        display: block !important;
    }

    .dropdown {
        top: 60px;
        width: auto;
        min-width: 200px;
        right: 10px;
        z-index: 1000;
    }

    .dropdown-item {
        color: white;
        margin: 5px 0;
        padding: 10px;
        display: block;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .dropdown-item:last-child {
        border-bottom: none;
    }

    .dropdown-item button {
        background: none;
        border: none;
        color: white;
        width: 100%;
        text-align: left;
        cursor: pointer;
    }

    .dropdown-item:hover,
    .dropdown-item button:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }
}

/* Small mobile screens */
@media (max-width: 480px) {
    .dropdown {
        top: 50px;
        width: 90vw;
        right: 5vw;
        left: 5vw;
        margin: 0;
    }

    .dropdown-item {
        font-size: 14px;
    }
}

/* Very small screens */
@media (max-width: 320px) {
    .mobile-menu {
        width: 100% !important;
    }
}

/* UserProfileDropdown.css */
.user-profile-dropdown {
  position: relative;
  display: inline-block;
}

.user-profile-button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50px;
  color: #333;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  min-width: 120px;
}

.user-profile-button:hover {
  background: rgba(255, 95, 95, 0.05);
  border-color: rgba(255, 95, 95, 0.3);
  transform: translateY(-1px);
}

.user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}

.user-avatar.small {
  width: 24px;
  height: 24px;
}

.user-avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.user-avatar-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 0.75rem;
}

.user-avatar.small .user-avatar-fallback {
  font-size: 0.625rem;
}

.username {
  flex: 1 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100px;
}

.dropdown-arrow {
  transition: transform 0.2s ease;
  color: #666;
}

.dropdown-arrow.open {
  transform: rotate(180deg);
}

/* Dropdown Menu */
.user-dropdown-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1), 0 4px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
  min-width: 240px;
  z-index: 1000;
  overflow: hidden;
  animation: dropdownFadeIn 0.2s ease;
}

@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.user-dropdown-menu-header {
  padding: 1rem;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.user-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.user-details {
  flex: 1 1;
  min-width: 0;
}

.user-name {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

.user-email {
  color: #666;
  font-size: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-dropdown-menu-divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.05);
  margin: 0;
}

.user-dropdown-menu-items {
  padding: 0.5rem 0;
}

.user-dropdown-menu-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.75rem 1rem;
  background: none;
  border: none;
  color: #333;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
}

.user-dropdown-menu-item:hover {
  background: rgba(255, 95, 95, 0.05);
  color: #FF5F5F;
}

.user-dropdown-menu-item svg {
  color: #666;
  transition: color 0.2s ease;
}

.user-dropdown-menu-item:hover svg {
  color: #FF5F5F;
}

.logout-item {
  color: #dc3545;
}

.logout-item:hover {
  background: rgba(220, 53, 69, 0.05);
  color: #dc3545;
}

.logout-item svg {
  color: #dc3545;
}

.logout-item:hover svg {
  color: #dc3545;
}

/* Responsive Design */
@media (max-width: 768px) {
  .user-profile-button {
    min-width: auto;
    padding: 0.5rem;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    justify-content: center;
  }

  .username,
  .dropdown-arrow {
    display: none;
  }

  .user-dropdown-menu {
    right: -1rem;
    min-width: 200px;
  }

  .user-avatar {
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 480px) {
  .user-dropdown-menu {
    right: -2rem;
    left: auto;
    min-width: 180px;
  }
}

#footnote-container {
  z-index: 2;
  position: relative;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
  height: 20vh;
  background-color: #232323;
  overflow: hidden;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
  box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.1);
}

.footer {
  display: flex;
  flex-direction: row-reverse;
  position: absolute;
  text-align: center;
  align-items: center;
  background-color: #232323; /* Changed background color to white */
  width: 100%;
  /* font-family: "Axiforma Regular", sans-serif; */
}

.footer hr {
  border-top-color: #000000;
  opacity: 0.5;
}

.footer-links {
  padding-left: 0;
  list-style: none;
}

.footer-links li {
  display: block;
  margin: 5px 0; /* Added margin for spacing */
}

.footer-links a {
  color: #ffffff;
  text-decoration: none;
}

.footer-links a:active,
.footer-links a:focus,
.footer-links a:hover {
  color: #FF5E4D; /* Changed hover color to blue */
  text-decoration: underline; /* Added underline on hover */
}

.footer-links.inline li {
  display: inline-block;
}

.copyright-text {
  margin: 0;
  color: #ffffff; /* Changed text color to black */
}

.image-footer {
  width: 30px;
  height: 20px;
}

.column-footnote h4 {
  display: flex;
  justify-content: center;
  color: #ffffff; /* Changed text color to black */
  /* font-family: "Axiforma Regular"; */
  line-height: 1.2;
  letter-spacing: 0.1rem;
  margin-top: 10px;
  margin-left: 5px;
}

.col-6-duration {
  color: white;
  background-color: #ffffffc7;
  font-size: 15px;
  border-color: rgb(93, 92, 92);
  border-width: 0.5px;
  border-style: ridge;
  white-space: break-spaces;
  border-radius: 2px;
  height: 1700px;
}

.h4-style {
  list-style: none;
  font-size: 1rem;
  display: flex;
  align-items: center;
  text-align: center;
}

.container-footnote {
  width: 100%;
  height: 100%;
  padding: 0;
  display: flex;
  justify-content: space-between; /* Align elements with equal space between them */
  align-items: center;
}

.column-footnote {
  width: 100%;
  height: 100%;
  padding: 20px;
  text-align: center; /* Optional text alignment */
  align-items: center;
  display: flex;
  justify-content: center;
}

.language-switcher {
  display: flex;
  justify-content: center;
  align-items: center;
  /* adjust margins as needed */
}

.language-toggle {
  border: 1px solid #fff;
  background: transparent;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 0.9rem;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.language-toggle:hover {
  background: rgba(255,255,255,0.1);
}

.language-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.5);
}

/* Keep existing styles above... */

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
  /* Footer container */
  .footer {
    flex-direction: column !important; /* Stack columns vertically */
    position: static !important;       /* Remove absolute positioning so footer can flow */
    align-items: center !important;
    text-align: center !important;
    padding: 20px 0 !important;        /* Add top/bottom padding if desired */
  }

  /* The main container that holds all footnote columns */
  .container-footnote {
    flex-direction: column !important; /* Stack child columns */
    justify-content: center !important;
    align-items: center !important;
  }

  /* Each column stacks and is full-width by default */
  .column-footnote {
    width: 100% !important;     /* Let columns span full width */
    padding: 10px 20px !important; /* Adjust padding to suit smaller screens */
  }

  /* Footer links can be centered or stacked as needed */
  .footer-links {
    text-align: center !important;
    margin-bottom: 10px !important; /* Space between sections */
  }

  .footer-links li {
    margin: 5px 0 !important;   /* A bit more vertical spacing for touch devices */
  }

  /* Optional: reduce font size slightly if text wraps awkwardly */
  .column-footnote h4 {
    font-size: 1rem !important;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
}

/* Even smaller screens (optional) */
@media (max-width: 480px) {
  .column-footnote h4 {
    font-size: 0.9rem !important;
  }
  .footer-links li {
    margin: 3px 0 !important;
  }
}

/* Cookie preferences link styling */
.cookie-preferences-link {
  position: relative;
  transition: all 0.3s ease;
}

.cookie-preferences-link::before {
  content: "🍪";
  margin-right: 5px;
  font-size: 0.9em;
}

.cookie-preferences-link:hover {
  color: #FF5E4D !important;
  transform: translateY(-1px);
}

.cookie-preferences-link:hover::before {
  animation: cookieBounce 0.6s ease-in-out;
}

@keyframes cookieBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Add a subtle highlight for cookie preferences */
@media (max-width: 768px) {
  .cookie-preferences-link {
    font-weight: 600;
    padding: 2px 0;
  }
}

/*******************************************************
  Simple Loading Circle - Just spinner on white background
********************************************************/

.loading-circle-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.loading-spinner {
  position: relative;
}

.spinner {
  border: 3px solid #ececec;
  border-top: 3px solid #ff5e4c;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Accessibility - Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .spinner {
    animation: none;
    border-top-color: #ff5e4c;
    opacity: 0.8;
  }
}

/* Color Palette - Match iCoMerge Design */
:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --accent-orange: #ff5e4c;
  --light-gray: #ececec;
  --success-green: #4CAF50;
  --error-red: #f44336;
  --text-gray: #666666;
}

.success-payment-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #ff5e4c 0%, #ff3366 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.success-container {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 24px;
  padding: 60px 40px;
  max-width: 600px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(255, 94, 76, 0.3);
  animation: slideUp 0.6s ease-out;
}

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

/* Success/Error Icon */
.success-icon-wrapper,
.error-icon-wrapper {
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
}

.success-checkmark,
.error-checkmark {
  animation: scaleIn 0.5s ease-out 0.2s both;
}

@keyframes scaleIn {
  from {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.success-checkmark svg {
  filter: drop-shadow(0 4px 12px rgba(76, 175, 80, 0.3));
}

.error-checkmark svg {
  filter: drop-shadow(0 4px 12px rgba(244, 67, 54, 0.3));
}

/* Success/Error Title */
.success-title {
  font-size: 32px;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
  animation: fadeIn 0.6s ease-out 0.3s both;
}

.error-title {
  font-size: 32px;
  font-weight: 700;
  color: #f44336;
  color: var(--error-red);
  margin: 0 0 16px 0;
  animation: fadeIn 0.6s ease-out 0.3s both;
}

.success-message,
.error-message {
  font-size: 18px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 40px 0;
  line-height: 1.6;
  animation: fadeIn 0.6s ease-out 0.4s both;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Loading State */
.loading-text {
  font-size: 18px;
  color: #666666;
  color: var(--text-gray);
  margin-top: 24px;
}

/* Payment Details */
.order-details {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: left;
  animation: fadeIn 0.6s ease-out 0.5s both;
}

.order-details h2 {
  font-size: 20px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
}

.detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
}

.detail-item:last-child {
  border-bottom: none;
}

.detail-label {
  font-size: 14px;
  color: #666666;
  color: var(--text-gray);
  font-weight: 500;
}

.detail-value {
  font-size: 14px;
  color: #232323;
  color: var(--primary-dark);
  font-weight: 600;
  max-width: 60%;
  text-align: right;
  word-break: break-word;
}

/* Information Box */
.info-box {
  background: #e8f5e9;
  border: 2px solid #4CAF50;
  border: 2px solid var(--success-green);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: left;
  animation: fadeIn 0.6s ease-out 0.6s both;
}

.info-box h3 {
  font-size: 18px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
}

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

.info-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 15px;
  color: #232323;
  color: var(--primary-dark);
}

.info-icon {
  font-size: 24px;
  flex-shrink: 0;
}

/* Action Buttons */
.action-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
  animation: fadeIn 0.6s ease-out 0.7s both;
}

.continue-btn {
  width: 100%;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  background: linear-gradient(135deg, var(--accent-red) 0%, var(--accent-orange) 100%);
  color: #ffffff;
  color: var(--primary-white);
  border: none;
  padding: 16px 32px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.3);
}

.continue-btn:hover {
  background: linear-gradient(135deg, #ff5e4c 0%, #ff3364 100%);
  background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-red) 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 51, 100, 0.4);
}

.continue-btn:active {
  transform: translateY(0);
}

/* Footer */
.success-footer {
  padding-top: 24px;
  border-top: 1px solid #ececec;
  border-top: 1px solid var(--light-gray);
  animation: fadeIn 0.6s ease-out 0.8s both;
}

.footer-text {
  font-size: 14px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 8px 0;
}

.footer-text strong {
  font-weight: 700;
  color: #ff3364;
  color: var(--accent-red);
}

.brand-name {
  font-weight: 700;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red), var(--accent-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.footer-subtext {
  font-size: 13px;
  color: #666666;
  color: var(--text-gray);
  margin: 0;
}

.footer-subtext a {
  color: #ff3364;
  color: var(--accent-red);
  text-decoration: none;
  font-weight: 500;
}

.footer-subtext a:hover {
  text-decoration: underline;
}

/* Responsive Design - Optimized for Laptop */
@media (min-width: 1024px) {
  .success-container {
    max-width: 700px;
    padding: 70px 50px;
  }
}

@media (max-width: 768px) {
  .success-container {
    padding: 40px 24px;
  }
  
  .success-title,
  .error-title {
    font-size: 28px;
  }
  
  .success-message,
  .error-message {
    font-size: 16px;
  }
  
  .order-details,
  .info-box {
    padding: 20px;
  }
  
  .detail-value {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .success-payment-page {
    padding: 20px 16px;
  }
  
  .success-container {
    padding: 32px 20px;
    border-radius: 16px;
  }
  
  .success-title,
  .error-title {
    font-size: 24px;
  }
  
  .success-message,
  .error-message {
    font-size: 15px;
    margin-bottom: 32px;
  }
  
  .success-checkmark svg,
  .error-checkmark svg {
    width: 64px;
    height: 64px;
  }
  
  .order-details h2,
  .info-box h3 {
    font-size: 16px;
  }
  
  .detail-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  
  .detail-value {
    max-width: 100%;
    text-align: left;
  }
  
  .info-list li {
    font-size: 14px;
  }
  
  .info-icon {
    font-size: 20px;
  }
}

/* Print Styles */
@media print {
  .success-payment-page {
    background: white;
  }
  
  .success-container {
    box-shadow: none;
    border: 1px solid #ddd;
  }
  
  .action-buttons,
  .success-footer {
    display: none;
  }
}

.cancel-payment-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: linear-gradient(135deg, #ff7e70 0%, #ff5e4c 100%);
  padding: 20px;
  font-family: 'Arial', sans-serif;
}

.cancel-payment-card {
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  padding: 40px;
  text-align: center;
  max-width: 500px;
  width: 100%;
  animation: slideIn 0.5s ease-out;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cancel-payment-icon {
  margin-bottom: 24px;
  animation: pulse 2s infinite;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 80px;
  width: 80px;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.cancel-payment-title {
  color: #f44336;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 16px;
  margin-top: 0;
}

.cancel-payment-message {
  color: #666;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 32px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.cancel-payment-details {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 32px;
  border-left: 4px solid #f44336;
  width: 100%;
}

.detail-item {
  margin: 8px 0;
  font-size: 14px;
  color: #555;
  text-align: left;
}

.detail-item strong {
  color: #333;
  font-weight: 600;
}

.cancel-payment-countdown {
  margin-bottom: 32px;
}

.countdown-text {
  color: #666;
  font-size: 16px;
  margin-bottom: 12px;
}

.cancel-payment-countdown .countdown-number {
  color: #f44336;
  font-weight: 700;
  font-size: 18px;
  padding: 2px 8px;
  border-radius: 4px;
  margin: 0 4px;
}

.countdown-progress {
  width: 100%;
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  overflow: hidden;
  margin-top: 12px;
  position: relative;
}

.countdown-bar {
  height: 100%;
  background: linear-gradient(90deg, #f44336 0%, #e57373 100%);
  border-radius: 3px;
  transition: width 1s linear;
  position: absolute;
  left: 0;
  top: 0;
}

.cancel-payment-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Add proper button styling to work with global styles */
.cancel-payment-actions button {
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 1px solid;
  font-size: 14px;
}

.cancel-payment-actions .btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
  color: white;
}

.cancel-payment-actions .btn-secondary:hover {
  background-color: #5a6268;
  border-color: #545b62;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
}

.cancel-payment-actions .btn-primary {
  background-color: #f44336;
  border-color: #f44336;
  color: white;
}

.cancel-payment-actions .btn-primary:hover {
  background-color: #d32f2f;
  border-color: #d32f2f;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(244, 67, 54, 0.3);
}

/* Responsive design */
@media (max-width: 600px) {
  .cancel-payment-container {
    padding: 16px;
  }
  
  .cancel-payment-card {
    padding: 24px;
  }
  
  .cancel-payment-title {
    font-size: 24px;
  }
  
  .cancel-payment-message {
    font-size: 14px;
  }
  
  .cancel-payment-actions {
    flex-direction: column;
  }
  
  .cancel-payment-actions button {
    width: 100%;
    margin-bottom: 8px;
  }
}

/* Dark mode support */
/* @media (prefers-color-scheme: dark) {
  .cancel-payment-container {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  }
  
  .cancel-payment-card {
    background: #333;
    color: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  }
  
  .cancel-payment-message {
    color: #ccc;
  }
  
  .cancel-payment-details {
    background: #444;
    border-left-color: #f44336;
  }
  
  .detail-item {
    color: #ccc;
  }
  
  .detail-item strong {
    color: #fff;
  }
  
  .countdown-text {
    color: #ccc;
  }
  
  .countdown-progress {
    background: #555;
  }
}  */
.user-account-container{
    min-height: 100vh;
}

.user-account-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    padding-right: 10px;
    width: 100%;
    margin-top: 50px;
    margin-bottom: 20px;
    font-weight: bold;
}

.user-info-container{
    margin-top: 50px;
    margin-bottom: 20px;
    width: 80vh;
    height: 12vh;
    display: flex;
    flex-direction: row;
}

.user-info-container .profile-name {
    justify-content: center;
    display: flex;
    width: 100%;
    align-items: center;
}

.user-info-container .profile-picture {
    justify-content: center;
    display: flex;
    align-items: center;
}

.user-info-container img  {
    width: 10vh; /* Set a specific size for the image */
    height: 10vh; /* Set a specific size for the image */
    border-radius: 50%; /* Make it round */
    object-fit: cover; /* Ensures the image covers the area without distortion */
    margin-right: 10px; /* Ensure there is space between the image and the title */
}

.user-account-body {
    margin: 24px 0px 24px 0px;
    display: flex;
    justify-content: center;
    flex: 1 1;
    align-items: stretch;
    flex-direction: column;
    gap: 24px;
}

.user-info-container{
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.user-account-profile-container{
    width: 100%;
    margin: 20px; /* Corrected to have a consistent margin */
    flex: 1 1;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    background-color: black;
    padding: 10px;
}

.user-account-profile-container .title {
    display: flex;
}

.information-container {
    display: flex;
    flex-direction: row;
    flex: 1 1;
    padding: 10px;
}

.information-container > .container:nth-of-type(1) {
    border-radius: 20px;
    background-color: white;
    width: 33.33%;
    margin: 5px; /* Added margin to separate containers visually */
    padding: 20px 20px 20px 40px;
    display: flex;
    justify-content: start;
    flex-direction: column;
    align-items: flex-start;
}

.information-container > .container:nth-of-type(2) {
    border-radius: 20px;
    background-color: white;
    width: 33.33%;
    margin: 5px; /* Added margin to separate containers visually */
    padding: 20px 20px 20px 40px;
    display: flex;
    justify-content: start;
    flex-direction: column;
    align-items: flex-start;
}

.information-container > .container:nth-of-type(3) {
    border-radius: 20px;
    width: 33.33%;
    margin: 5px; /* Added margin to separate containers visually */
    padding: 0;
    display: flex;
    flex-direction: column;
}

.information-container > .container:nth-of-type(3) .info {
    border-radius: 20px;
    background-color: white;
    height: 80%;
    padding: 20px 20px 20px 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.information-container > .container:nth-of-type(3) .select-profile {
    border-radius: 20px;
    background-color: rgb(0, 0, 0);
    height: 20%;
    display: flex;
    align-items: center;
    width: 100%;
}

.information-container > .container:nth-of-type(3) .select-profile button{
    width: 100%;
    height: 50%;
    flex: 1 1;
    border-radius: 20px;
    background-color: grey;
    color: white;
}

.information-type {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 5px;
}

.information-type .title {

}

.information-type .value {
    display: flex;
    margin-left: 20px;
}

.information-type .value p{
    font-weight: bold;
}

/* .information-type .value button{
    margin:0px;
} */

.information-type .value div{
    display: flex;
}

.information-type .value input{
    width: 200%;
    margin-bottom: 0px;
    margin-right: 10px;
}

.information-type .billing-details-form-group {
    width: 100%;
}

/* src/components/layout/UserAccountNavbar.css */

.user-account-navbar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    padding: 2px;
    width: 100%;
  }
  
  .user-account-navbar .tabs .tab-button {
    margin-right: 20px;
    padding: 5px 10px;
    cursor: pointer;
    border: none;
    background-color: transparent;
  }
  
  .user-account-navbar .tabs .tab-button.active {
    font-weight: bold;
  }
  
/* AccountDetails.css or a global stylesheet */
.delete-account-button {
  display: inline-flex;
  align-items: center;
  color: #c00;
  background: none;
  border: none;
  cursor: pointer;
  font-weight: bold;
}
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-window {
  background: #fff;
  padding: 24px;
  border-radius: 8px;
  max-width: 400px;
  text-align: center;
}
.modal-actions {
  margin-top: 16px;
  display: flex;
  gap: 8px;
  justify-content: center;
}

/* src/components/cards/UserAccountCard/UserAccountCard.css */

.user-account-card {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.user-account-card-header {
  position: relative;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #eee;
  display: flex;
  align-items: center;
}

.user-account-card-header h4 {
  margin: 0;
  flex: 1 1;
}

.user-account-card-header .card-edit-icon {
  background-color: white;
  border: none;
  transition: background 0.3s ease-in-out, transform 0.3s ease-in-out;
  cursor: pointer;
  color: #232323; /* matches Bootstrap primary */
}

.user-account-card-header .card-edit-icon:hover {
  transform: scale(1.2);
}

.user-account-card-body {
  padding: 1rem 1.5rem;
}

/* CSS variables. */
:root {
	--PhoneInput-color--focus: #03b2cb;
	--PhoneInputInternationalIconPhone-opacity: 0.8;
	--PhoneInputInternationalIconGlobe-opacity: 0.65;
	--PhoneInputCountrySelect-marginRight: 0.35em;
	--PhoneInputCountrySelectArrow-width: 0.3em;
	--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);
	--PhoneInputCountrySelectArrow-borderWidth: 1px;
	--PhoneInputCountrySelectArrow-opacity: 0.45;
	--PhoneInputCountrySelectArrow-color: currentColor;
	--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);
	--PhoneInputCountrySelectArrow-transform: rotate(45deg);
	--PhoneInputCountryFlag-aspectRatio: 1.5;
	--PhoneInputCountryFlag-height: 1em;
	--PhoneInputCountryFlag-borderWidth: 1px;
	--PhoneInputCountryFlag-borderColor: rgba(0,0,0,0.5);
	--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);
	--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,0.1);
}

.PhoneInput {
	/* This is done to stretch the contents of this component. */
	display: flex;
	align-items: center;
}

.PhoneInputInput {
	/* The phone number input stretches to fill all empty space */
	flex: 1 1;
	/* The phone number input should shrink
	   to make room for the extension input */
	min-width: 0;
}

.PhoneInputCountryIcon {
	width: calc(1em * 1.5);
	width: calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));
	height: 1em;
	height: var(--PhoneInputCountryFlag-height);
}

.PhoneInputCountryIcon--square {
	width: 1em;
	width: var(--PhoneInputCountryFlag-height);
}

.PhoneInputCountryIcon--border {
	/* Removed `background-color` because when an `<img/>` was still loading
	   it would show a dark gray rectangle. */
	/* For some reason the `<img/>` is not stretched to 100% width and height
	   and sometime there can be seen white pixels of the background at top and bottom. */
	background-color: rgba(0,0,0,0.1);
	background-color: var(--PhoneInputCountryFlag-backgroundColor--loading);
	/* Border is added via `box-shadow` because `border` interferes with `width`/`height`. */
	/* For some reason the `<img/>` is not stretched to 100% width and height
	   and sometime there can be seen white pixels of the background at top and bottom,
	   so an additional "inset" border is added. */
	box-shadow: 0 0 0 1px rgba(0,0,0,0.5),
		inset 0 0 0 1px rgba(0,0,0,0.5);
	box-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),
		inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor);
}

.PhoneInputCountryIconImg {
	/* Fixes weird vertical space above the flag icon. */
	/* https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/7#note_348586559 */
	display: block;
	/* 3rd party <SVG/> flag icons won't stretch if they have `width` and `height`.
	   Also, if an <SVG/> icon's aspect ratio was different, it wouldn't fit too. */
	width: 100%;
	height: 100%;
}

.PhoneInputInternationalIconPhone {
	opacity: 0.8;
	opacity: var(--PhoneInputInternationalIconPhone-opacity);
}

.PhoneInputInternationalIconGlobe {
	opacity: 0.65;
	opacity: var(--PhoneInputInternationalIconGlobe-opacity);
}

/* Styling native country `<select/>`. */

.PhoneInputCountry {
	position: relative;
	align-self: stretch;
	display: flex;
	align-items: center;
	margin-right: 0.35em;
	margin-right: var(--PhoneInputCountrySelect-marginRight);
}

.PhoneInputCountrySelect {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
	border: 0;
	opacity: 0;
	cursor: pointer;
}

.PhoneInputCountrySelect[disabled],
.PhoneInputCountrySelect[readonly] {
	cursor: default;
}

.PhoneInputCountrySelectArrow {
	display: block;
	content: '';
	width: 0.3em;
	width: var(--PhoneInputCountrySelectArrow-width);
	height: 0.3em;
	height: var(--PhoneInputCountrySelectArrow-width);
	margin-left: 0.35em;
	margin-left: var(--PhoneInputCountrySelectArrow-marginLeft);
	border-style: solid;
	border-color: currentColor;
	border-color: var(--PhoneInputCountrySelectArrow-color);
	border-top-width: 0;
	border-bottom-width: 1px;
	border-bottom-width: var(--PhoneInputCountrySelectArrow-borderWidth);
	border-left-width: 0;
	border-right-width: 1px;
	border-right-width: var(--PhoneInputCountrySelectArrow-borderWidth);
	transform: rotate(45deg);
	transform: var(--PhoneInputCountrySelectArrow-transform);
	opacity: 0.45;
	opacity: var(--PhoneInputCountrySelectArrow-opacity);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon + .PhoneInputCountrySelectArrow {
	opacity: 1;
	color: #03b2cb;
	color: var(--PhoneInputCountrySelectArrow-color--focus);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon--border {
	box-shadow: 0 0 0 1px #03b2cb,
		inset 0 0 0 1px #03b2cb;
	box-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),
		inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon .PhoneInputInternationalIconGlobe {
	opacity: 1;
	color: #03b2cb;
	color: var(--PhoneInputCountrySelectArrow-color--focus);
}
.update-owner-info-container {
    position: relative;      /* allow the icon to be positioned absolute */
  }
  
  .edit-icon-trigger {
    position: absolute;
    top: 12px;
    right: 12px;
    cursor: pointer;
    color: #0d6efd;         /* bootstrap primary color */
  }
  
  .fields-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
  }
  
  .field {
    display: flex;
    flex-direction: column;
  }
  
  .card-footer {
    margin-top: 1rem;
    text-align: right;
  }
  
.update-billing-details-container .fields-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
  }
  
  .update-billing-details-container .field {
    display: flex;
    flex-direction: column;
  }
  
  .card-footer {
    margin-top: 1rem;
    text-align: right;
  }
  
.update-host-property-container .fields-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
  }
  
  .update-host-property-container .field {
    display: flex;
    flex-direction: column;
  }
  
  .card-footer {
    margin-top: 1rem;
    text-align: right;
  }
  
.update-brand-info-container .fields-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
  }
  
  .update-brand-info-container .field {
    display: flex;
    flex-direction: column;
  }
  
  .card-footer {
    margin-top: 1rem;
    text-align: right;
  }
  
/* src/components/cards/AccountNotificationCard/AccountNotificationCard.css */

.notification-card {
    border: 1px solid #e5e7eb; /* same as Tailwind `border` */
    border-radius: 0.5rem;     /* `rounded-lg` */
    background-color: white;   /* `bg-white` */
    padding: 1rem;             /* `p-4` */
    box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 1px 3px rgba(0,0,0,0.1); /* `shadow` */
    display: flex;             /* `flex` */
    justify-content: space-between; /* `justify-between` */
    align-items: flex-start;        /* `items-start` */
    transition: border-color 0.2s, background-color 0.2s;
    margin-bottom: 1.5rem;
  }
  
  .notification-card--important {
    border-width: 2px;         /* `border-2` */
    border-color: #f87171;     /* `border-red-500` */
  }
  
  .notification-card__content {
    flex: 1 1;                   /* `flex-1` */
  }
  
  .notification-card__title {
    font-weight: 600;          /* `font-semibold` */
    margin-bottom: 0.25rem;    /* `mb-1` */
    font-size: 1.125rem;       /* `text-lg` */
    text-transform: capitalize;
  }
  
  .notification-card__message {
    font-size: 0.875rem;       /* `text-sm` */
    color: #4b5563;            /* `text-gray-700` */
  }
  
  .notification-card__button {
    color: white;              /* `text-white` */
    padding: 0.5rem 1rem;      /* `px-4 py-2` */
    border-radius: 0.25rem;    /* `rounded` */
    margin-left: 1rem;         /* `ml-4` */
    white-space: nowrap;       /* `whitespace-nowrap` */
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
  }
  
  .notification-card__button--normal {
    background-color: #1f2937; /* `bg-gray-800` */
  }
  
  .notification-card__button--normal:hover {
    background-color: #111827; /* `hover:bg-gray-900` */
  }
  
  .notification-card__button--important {
    background-color: #ef4444; /* `bg-red-500` */
  }
  
  .notification-card__button--important:hover {
    background-color: #dc2626; /* `hover:bg-red-600` */
  }
  
/* StaffProfileCard.css */

.staff-profile-card {
    border-radius: 20px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
}

.staff-profile-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.staff-profile-card .card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.staff-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.staff-info {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1 1;
}

.staff-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 2px solid #e0e0e0;
}

.staff-avatar .avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.staff-avatar svg {
    color: #666;
}

.staff-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1;
}

.staff-name {
    margin: 0;
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

.staff-details .badge {
    align-self: flex-start;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
}

.staff-details .badge-danger {
    background-color: #FF5E4D;
    color: white;
}

.staff-details .badge-warning {
    background-color: #ffc107;
    color: #212529;
}

.staff-details .badge-info {
    background-color: #17a2b8;
    color: white;
}

.staff-details .badge-secondary {
    background-color: #6c757d;
    color: white;
}

.ownership-text {
    font-size: 12px;
    color: #666;
    font-style: italic;
}

.staff-actions {
    display: flex;
    gap: 8px;
}

.staff-actions button {
    padding: 6px 8px;
    border-radius: 12px;
    border: 1px solid;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.2s ease;
}

.staff-actions .btn-outline-primary {
    color: #007bff;
    border-color: #007bff;
}

.staff-actions .btn-outline-primary:hover {
    background-color: #007bff;
    color: white;
}

.staff-actions .btn-outline-danger {
    color: #dc3545;
    border-color: #dc3545;
}

.staff-actions .btn-outline-danger:hover {
    background-color: #dc3545;
    color: white;
}

.staff-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 0;
    border-top: 1px solid #f0f0f0;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #666;
}

.contact-item svg {
    color: #999;
}

.staff-permissions {
    border-top: 1px solid #f0f0f0;
    padding-top: 12px;
}

.staff-permissions .btn-link {
    padding: 0;
    font-size: 14px;
    color: #007bff;
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
}

.staff-permissions .btn-link:hover {
    text-decoration: underline;
}

.permissions-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.permission-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
}

.permission-item label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    margin: 0;
}

.permission-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Responsive design */
@media (max-width: 576px) {
    .staff-header {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
    
    .staff-actions {
        align-self: flex-end;
    }
    
    .staff-info {
        width: 100%;
    }
} 
/* InviteStaffModal.css */

.invite-staff-modal .modal-dialog {
    max-width: 600px;
}

.invite-staff-modal .modal-content {
    border-radius: 20px;
    border: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.invite-staff-modal .modal-header {
    border-bottom: 1px solid #e0e0e0;
    padding: 20px 24px 16px;
}

.invite-staff-modal .modal-title {
    font-weight: bold;
    color: #333;
}

.invite-staff-modal .modal-body {
    padding: 24px;
}

.invite-staff-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.invite-staff-form .fields-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 16px;
    gap: 16px;
}

.invite-staff-form .field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.invite-staff-form .field.full-width {
    grid-column: 1 / -1;
}

.invite-staff-form label {
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.invite-staff-form .form-control,
.invite-staff-form select {
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 12px;
    font-size: 14px;
    transition: border-color 0.2s ease;
}

.invite-staff-form .form-control:focus,
.invite-staff-form select:focus {
    outline: none;
    border-color: #FF5E4D;
    box-shadow: 0 0 0 2px rgba(255, 94, 77, 0.2);
}

.invite-staff-modal .modal-footer {
    border-top: 1px solid #e0e0e0;
    padding: 16px 24px 20px;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.invite-staff-modal .btn {
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.invite-staff-modal .btn-secondary {
    background-color: #6c757d;
    color: white;
}

.invite-staff-modal .btn-secondary:hover {
    background-color: #5a6268;
}

.invite-staff-modal .btn-primary {
    background-color: #FF5E4D;
    color: white;
}

.invite-staff-modal .btn-primary:hover {
    background-color: #e54d3a;
}

.invite-staff-modal .btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.invite-staff-modal .text-danger {
    color: #dc3545;
    font-size: 14px;
    margin-top: 8px;
}

.invite-staff-modal .text-success {
    color: #28a745;
    font-size: 14px;
    margin-top: 8px;
}

/* Responsive design */
@media (max-width: 768px) {
    .invite-staff-form .fields-grid {
        grid-template-columns: 1fr;
    }
    
    .invite-staff-modal .modal-footer {
        flex-direction: column-reverse;
    }
    
    .invite-staff-modal .btn {
        width: 100%;
    }
} 
/* EditStaffModal.css */

.edit-staff-modal .modal-dialog {
    max-width: 700px;
}

.edit-staff-modal .modal-content {
    border-radius: 20px;
    border: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.edit-staff-modal .modal-header {
    border-bottom: 1px solid #e0e0e0;
    padding: 20px 24px 16px;
}

.edit-staff-modal .modal-title {
    font-weight: bold;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
}

.edit-staff-modal .modal-body {
    padding: 24px;
}

.edit-staff-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.edit-staff-form .section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.edit-staff-form .section-title {
    font-weight: 600;
    color: #333;
    font-size: 16px;
    margin: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
}

.edit-staff-form .fields-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 16px;
    gap: 16px;
}

.edit-staff-form .field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.edit-staff-form .field.full-width {
    grid-column: 1 / -1;
}

.edit-staff-form label {
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.edit-staff-form .form-control,
.edit-staff-form select {
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 12px;
    font-size: 14px;
    transition: border-color 0.2s ease;
}

.edit-staff-form .form-control:focus,
.edit-staff-form select:focus {
    outline: none;
    border-color: #FF5E4D;
    box-shadow: 0 0 0 2px rgba(255, 94, 77, 0.2);
}

.permissions-section {
    background-color: #f8f9fa;
    padding: 16px;
    border-radius: 12px;
    border: 1px solid #e9ecef;
}

.permissions-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 12px;
    gap: 12px;
    margin-top: 12px;
}

.permission-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background-color: white;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    transition: border-color 0.2s ease;
}

.permission-checkbox:hover {
    border-color: #FF5E4D;
}

.permission-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.permission-checkbox label {
    font-size: 14px;
    color: #333;
    cursor: pointer;
    margin: 0;
    flex: 1 1;
}

.edit-staff-modal .modal-footer {
    border-top: 1px solid #e0e0e0;
    padding: 16px 24px 20px;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.edit-staff-modal .btn {
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.edit-staff-modal .btn-secondary {
    background-color: #6c757d;
    color: white;
}

.edit-staff-modal .btn-secondary:hover {
    background-color: #5a6268;
}

.edit-staff-modal .btn-primary {
    background-color: #FF5E4D;
    color: white;
}

.edit-staff-modal .btn-primary:hover {
    background-color: #e54d3a;
}

.edit-staff-modal .btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.edit-staff-modal .text-danger {
    color: #dc3545;
    font-size: 14px;
    margin-top: 8px;
}

.edit-staff-modal .text-success {
    color: #28a745;
    font-size: 14px;
    margin-top: 8px;
}

/* Responsive design */
@media (max-width: 768px) {
    .edit-staff-form .fields-grid,
    .permissions-grid {
        grid-template-columns: 1fr;
    }
    
    .edit-staff-modal .modal-footer {
        flex-direction: column-reverse;
    }
    
    .edit-staff-modal .btn {
        width: 100%;
    }
} 
/* StaffManagement.css */

.staff-management-container {
    width: 100%;
    min-height: 60vh;
}

.staff-management-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e0e0e0;
}

.staff-management-header .header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.staff-management-header .header-info {
    display: flex;
    align-items: center;
    gap: 16px;
}

.staff-management-header .header-info div h3 {
    margin: 0;
    font-weight: bold;
    color: #333;
}

.staff-management-header .header-info div p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.staff-management-header button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 20px;
    border: none;
    background-color: #FF5E4D;
    color: white;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.staff-management-header button:hover {
    background-color: #e54d3a;
}

.staff-management-container .alert {
    border-radius: 20px;
    padding: 20px;
    margin: 20px 0;
}

.staff-management-container .alert-info {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #495057;
}

.staff-management-container .alert-danger {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

/* Responsive design */
@media (max-width: 768px) {
    .staff-management-header .header-content {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }
    
    .staff-management-header .header-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .staff-management-header button {
        align-self: stretch;
        justify-content: center;
    }
} 
/* SpendingSummaryCard.css */
.spending-summary-card {
    background: linear-gradient(135deg, #ff5e4c 0%, #ff7e70 100%);
    border-radius: 12px;
    padding: 25px;
    color: white;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}

.spending-summary-card h3 {
    margin: 0 0 25px 0;
    font-size: 1.5em;
    font-weight: 600;
    text-align: center;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-gap: 20px;
    gap: 20px;
    margin-bottom: 25px;
}

.summary-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    transition: transform 0.2s, background-color 0.2s;
}

.summary-item:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.15);
}

.summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    font-size: 18px;
}

.summary-item.spent .summary-icon {
    background: rgba(255, 51, 102, 0.3);
    color: #ff3366;
}

.summary-item.received .summary-icon {
    background: rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

.summary-item.balance.positive .summary-icon {
    background: rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

.summary-item.balance.negative .summary-icon {
    background: rgba(255, 51, 102, 0.3);
    color: #ff3366;
}

.summary-item.balance.neutral .summary-icon {
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
}

.summary-item.fees .summary-icon {
    background: rgba(255, 126, 112, 0.3);
}

.summary-details {
    flex: 1 1;
    display: flex;
    flex-direction: column;
}

.summary-label {
    font-size: 0.9em;
    opacity: 0.9;
    margin-bottom: 4px;
    font-weight: 400;
}

.summary-amount {
    font-size: 1.3em;
    font-weight: 600;
    line-height: 1;
}

.summary-footer {
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 0.9em;
}

.summary-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.stat-label {
    opacity: 0.8;
    font-weight: 400;
}

.stat-value {
    font-weight: 600;
    font-size: 1.1em;
}

/* Responsive Design */
@media (max-width: 768px) {
    .spending-summary-card {
        padding: 20px;
    }
    
    .summary-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .summary-item {
        padding: 12px;
    }
    
    .summary-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .summary-amount {
        font-size: 1.2em;
    }
    
    .summary-footer {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    
    .summary-stat {
        flex-direction: row;
        justify-content: space-between;
    }
}

@media (max-width: 480px) {
    .summary-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    .summary-details {
        align-items: center;
    }
}

/* ReceiptModal.css */
.receipt-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.receipt-modal {
    background: white;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.receipt-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    border-bottom: 1px solid #ececec;
    background: #ececec;
}

.receipt-modal-header h3 {
    margin: 0;
    color: #232323;
    font-weight: 600;
}

.receipt-actions {
    display: flex;
    gap: 10px;
}

.action-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    transition: all 0.2s;
}

.action-button.print {
    background: #ff5e4c;
    color: white;
}

.action-button.print:hover {
    background: #ff3366;
    transform: scale(1.05);
}

.action-button.download {
    background: #ff7e70;
    color: white;
}

.action-button.download:hover {
    background: #ff5e4c;
    transform: scale(1.05);
}

.action-button.close {
    background: #232323;
    color: white;
}

.action-button.close:hover {
    background: #232323;
    transform: scale(1.05);
}

.receipt-modal-content {
    padding: 25px;
    max-height: calc(90vh - 100px);
    overflow-y: auto;
}

.receipt-details {
    max-width: 100%;
}

.receipt-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #ececec;
}

.receipt-header h2 {
    margin: 0 0 5px 0;
    color: #232323;
    font-size: 2em;
    font-weight: 700;
}

.receipt-subtitle {
    margin: 0;
    color: #6c757d;
    font-size: 1.1em;
    font-weight: 400;
}

.receipt-info {
    margin-bottom: 25px;
}

.info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #ececec;
}

.info-row:last-child {
    border-bottom: none;
}

.info-label {
    font-weight: 500;
    color: #495057;
    min-width: 140px;
}

.info-value {
    font-weight: 400;
    color: #232323;
    text-align: right;
    word-break: break-word;
}

.total-row {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 2px solid #ececec !important;
    border-bottom: none !important;
}

.total-row .info-label,
.total-row .info-value {
    font-weight: 600;
    font-size: 1.2em;
    color: #232323;
}

.total-amount {
    color: #ff5e4c !important;
}

.payment-ref {
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    color: #6c757d;
    word-break: break-all;
}

.contract-details {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #ececec;
}

.contract-details h4 {
    margin: 0 0 15px 0;
    color: #495057;
    font-weight: 500;
}

.receipt-error {
    text-align: center;
    padding: 40px;
    color: #ff3366;
}

.receipt-error p {
    margin: 0;
    font-size: 1.1em;
}

/* Print Styles */
@media print {
    .receipt-modal-overlay {
        position: static;
        background: none;
        padding: 0;
    }
    
    .receipt-modal {
        box-shadow: none;
        max-width: none;
        max-height: none;
        border-radius: 0;
    }
    
    .receipt-modal-header {
        display: none;
    }
    
    .receipt-modal-content {
        padding: 0;
        max-height: none;
        overflow: visible;
    }
    
    .receipt-header h2 {
        font-size: 1.8em;
    }
    
    .info-row {
        padding: 8px 0;
    }
    
    .total-row .info-label,
    .total-row .info-value {
        font-size: 1.1em;
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .receipt-modal-overlay {
        padding: 10px;
    }
    
    .receipt-modal {
        max-width: none;
        width: 100%;
        max-height: 95vh;
    }
    
    .receipt-modal-header {
        padding: 15px 20px;
    }
    
    .receipt-modal-header h3 {
        font-size: 1.2em;
    }
    
    .action-button {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
    
    .receipt-modal-content {
        padding: 20px;
    }
    
    .receipt-header h2 {
        font-size: 1.6em;
    }
    
    .info-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        padding: 10px 0;
    }
    
    .info-label {
        min-width: auto;
        font-size: 0.9em;
        color: #6c757d;
    }
    
    .info-value {
        text-align: left;
        font-size: 1em;
    }
    
    .total-row .info-label,
    .total-row .info-value {
        font-size: 1.1em;
    }
}

@media (max-width: 480px) {
    .receipt-modal-header {
        padding: 12px 15px;
    }
    
    .receipt-modal-content {
        padding: 15px;
    }
    
    .receipt-header {
        margin-bottom: 20px;
    }
    
    .receipt-header h2 {
        font-size: 1.4em;
    }
    
    .receipt-subtitle {
        font-size: 1em;
    }
    
    .action-button {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
}

/* TransactionHistory.css */
.transaction-history {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.transaction-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    border-bottom: 1px solid #ececec;
    background: #ececec;
}

.transaction-header h3 {
    margin: 0;
    color: #232323;
    font-weight: 600;
}

.filter-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: white;
    border: 1px solid #ececec;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: #495057;
    transition: all 0.2s;
}

.filter-toggle:hover {
    background: #ececec;
    border-color: #ececec;
}

.transaction-filters {
    padding: 20px 25px;
    background: #ececec;
    border-bottom: 1px solid #ececec;
}

.filter-row {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.filter-row select,
.filter-row input {
    padding: 8px 12px;
    border: 1px solid #ececec;
    border-radius: 4px;
    background: white;
    font-size: 14px;
    min-width: 120px;
}

.clear-filters {
    padding: 8px 16px;
    background: #232323;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

.clear-filters:hover {
    background: #232323;
}

.transaction-list {
    max-height: 600px;
    overflow-y: auto;
}

.transaction-item {
    border-bottom: 1px solid #ececec;
    transition: background-color 0.2s;
}

.transaction-item:hover {
    background: #ececec;
}

.transaction-item:last-child {
    border-bottom: none;
}

.transaction-main {
    display: flex;
    align-items: center;
    padding: 15px 25px;
    gap: 15px;
}

.transaction-info {
    flex: 1 1;
    min-width: 0;
}

.transaction-description {
    font-weight: 500;
    color: #232323;
    margin-bottom: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.transaction-meta {
    display: flex;
    gap: 15px;
    align-items: center;
    font-size: 0.9em;
    color: #6c757d;
    flex-wrap: wrap;
}

.transaction-type {
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.8em;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.transaction-type.payment {
    background: rgba(255, 51, 102, 0.1);
    color: #ff3366;
}

.transaction-type.payout {
    background: rgba(255, 255, 255, 0.3);
    color: #232323;
}

.transaction-type.fee {
    background: rgba(255, 126, 112, 0.1);
    color: #ff7e70;
}

.transaction-type.default {
    background: #ececec;
    color: #6c757d;
}

.transaction-date {
    white-space: nowrap;
}

.transaction-counterparty {
    font-weight: 500;
    color: #495057;
}

.transaction-amount {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    min-width: 120px;
}

.amount {
    font-weight: 600;
    font-size: 1.1em;
}

.amount.payment,
.amount.fee {
    color: #ff3366;
}

.amount.payout {
    color: #232323;
}

.amount.default {
    color: #6c757d;
}

.transaction-status {
    font-size: 0.8em;
    color: #6c757d;
    text-transform: capitalize;
}

.transaction-actions {
    display: flex;
    gap: 8px;
}

.receipt-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #ff5e4c;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
}

.receipt-button:hover {
    background: #ff3366;
    transform: scale(1.05);
}

.no-transactions {
    padding: 40px;
    text-align: center;
    color: #6c757d;
}

.no-transactions p {
    margin: 0;
    font-size: 1.1em;
}

.load-more-section {
    padding: 20px;
    text-align: center;
    border-top: 1px solid #e9ecef;
    background: #ececec;
}

.load-more-button {
    padding: 10px 24px;
    background: #ff5e4c;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

.load-more-button:hover:not(:disabled) {
    background: #ff3366;
}

.load-more-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.transaction-history-error {
    padding: 20px;
    text-align: center;
    color: #ff3366;
}

.transaction-history-error button {
    margin-top: 10px;
    padding: 8px 16px;
    background: #dc3545;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* Responsive Design */
@media (max-width: 768px) {
    .transaction-header {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }
    
    .filter-row {
        flex-direction: column;
        align-items: stretch;
    }
    
    .filter-row select,
    .filter-row input {
        min-width: auto;
    }
    
    .transaction-main {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 15px;
    }
    
    .transaction-amount {
        align-items: flex-start;
        flex-direction: row;
        justify-content: space-between;
    }
    
    .transaction-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .transaction-actions {
        align-self: flex-end;
    }
}

@media (max-width: 480px) {
    .transaction-main {
        padding: 12px;
    }
    
    .transaction-description {
        font-size: 0.9em;
    }
    
    .transaction-meta {
        font-size: 0.8em;
    }
    
    .amount {
        font-size: 1em;
    }
}

/* SpendingChart.css */
.spending-chart {
    background: white;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ececec;
}

.chart-header h3 {
    margin: 0;
    color: #232323;
    font-weight: 600;
}

.chart-controls {
    display: flex;
    gap: 15px;
    align-items: center;
}

.chart-type-select {
    padding: 8px 12px;
    border: 1px solid #ececec;
    border-radius: 4px;
    background: white;
    font-size: 14px;
    cursor: pointer;
    transition: border-color 0.2s;
}

.chart-type-select:focus {
    outline: none;
    border-color: #ff5e4c;
    box-shadow: 0 0 0 2px rgba(255, 94, 76, 0.25);
}

.chart-container {
    margin-bottom: 20px;
}

.custom-tooltip {
    background: white;
    border: 1px solid #ececec;
    border-radius: 6px;
    padding: 10px 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    font-size: 14px;
}

.tooltip-label {
    margin: 0 0 8px 0;
    font-weight: 600;
    color: #232323;
    border-bottom: 1px solid #ececec;
    padding-bottom: 5px;
}

.tooltip-value {
    margin: 0;
    padding: 2px 0;
    font-weight: 500;
}

.pie-chart-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
}

.pie-legend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-gap: 15px;
    gap: 15px;
    width: 100%;
    max-width: 600px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #ececec;
    border-radius: 6px;
    font-size: 14px;
}

.legend-color {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    flex-shrink: 0;
}

.legend-label {
    flex: 1 1;
    font-weight: 500;
    color: #495057;
}

.legend-value {
    font-weight: 600;
    color: #232323;
}

.no-data {
    text-align: center;
    padding: 60px 20px;
    color: #6c757d;
}

.no-data p {
    margin: 0 0 10px 0;
    font-size: 1.1em;
}

.no-data p:last-child {
    margin: 0;
    font-size: 0.95em;
    opacity: 0.8;
}

/* Chart-specific styles */
.recharts-cartesian-axis-tick-value {
    font-size: 12px;
    fill: #6c757d;
}

.recharts-legend-wrapper {
    padding-top: 20px;
}

.recharts-legend-item-text {
    color: #495057 !important;
    font-weight: 500;
}

.recharts-tooltip-wrapper {
    z-index: 100;
}

/* Responsive Design */
@media (max-width: 768px) {
    .spending-chart {
        padding: 20px;
    }
    
    .chart-header {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }
    
    .chart-controls {
        justify-content: center;
    }
    
    .chart-container {
        overflow-x: auto;
    }
    
    .pie-chart-section {
        gap: 20px;
    }
    
    .pie-legend {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .legend-item {
        padding: 6px 10px;
        font-size: 13px;
    }
    
    .legend-color {
        width: 14px;
        height: 14px;
    }
}

@media (max-width: 480px) {
    .spending-chart {
        padding: 15px;
    }
    
    .chart-header h3 {
        font-size: 1.2em;
    }
    
    .chart-type-select {
        font-size: 13px;
        padding: 6px 10px;
    }
    
    .custom-tooltip {
        padding: 8px 12px;
        font-size: 13px;
    }
    
    .no-data {
        padding: 40px 15px;
    }
    
    .no-data p {
        font-size: 1em;
    }
}

.stripe-dashboard-container {
  margin: 1rem 0;
}

.stripe-dashboard-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 5px 10px;
  margin: 4px;
  background: linear-gradient(135deg, #ff7e70 0%, #ff5e4c 100%);
  color: white;
  border: none;
  border-radius: 15px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 200px;
  justify-content: center;
  width: 100%;
}

.stripe-dashboard-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #fb7364 0%, #f15442 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgb(255, 126, 112)
}

.stripe-dashboard-btn:active:not(:disabled) {
  transform: translateY(0);
}

.stripe-dashboard-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

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

.btn-text {
  flex: 1 1;
}

.external-icon {
  font-size: 0.8rem;
  opacity: 0.8;
}

/* small, monochrome spinner */
.spinner-small {
  font-size: 0.8rem;         /* adjust up/down for desired size */
  margin-left: 0.5em;
  animation: spin 0.8s linear infinite;
  color: currentColor;     /* inherit the button’s text color */
}

/* keyframes for the rotation */
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.error-message {
  margin-top: 0.5rem;
  padding: 0.5rem;
  background: #fee2e2;
  color: #dc2626;
  border-radius: 4px;
  font-size: 0.85rem;
}

.dashboard-info {
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: #666;
  line-height: 1.4;
}

/* Responsive */
@media (max-width: 768px) {
  .stripe-dashboard-btn {
    width: 100%;
    padding: 0.875rem 1rem;
  }
} 
/* FinancialDashboard.css */
.financial-dashboard {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #ececec;
}

.dashboard-header h2 {
    margin: 0;
    color: #232323;
    font-weight: 600;
}

.dashboard-actions {
    display: flex;
    gap: 15px;
    align-items: center;
}

.stripe-dashboard-compact {
    transform: scale(0.9);
}

.export-section {
    display: flex;
    gap: 10px;
    align-items: center;
}

.export-format-select {
    padding: 8px 12px;
    border: 1px solid #ececec;
    border-radius: 4px;
    background: white;
    font-size: 14px;
}

.export-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #ff5e4c;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

.export-button:hover:not(:disabled) {
    background: #ff3366;
}

.export-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.dashboard-tabs {
    display: flex;
    border-bottom: 1px solid #ddd;
    margin-bottom: 30px;
}

.tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #666;
    border-bottom: 3px solid transparent;
    transition: all 0.2s;
}

.tab:hover {
    color: #ff5e4c;
    background: #ececec;
}

.tab.active {
    color: #ff5e4c;
    border-bottom-color: #ff5e4c;
    font-weight: 500;
}

.dashboard-content {
    min-height: 500px;
}

.overview-tab {
    display: grid;
    grid-gap: 30px;
    gap: 30px;
}

.recent-activity h3,
.quick-actions h3 {
    margin: 0 0 20px 0;
    color: #232323;
    font-weight: 500;
}

.action-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.action-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #ececec;
    border: 1px solid #ececec;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    color: #495057;
    transition: all 0.2s;
    text-decoration: none;
}

.action-button:hover:not(:disabled) {
    background: #ececec;
    border-color: #adb5bd;
    transform: translateY(-1px);
}

.action-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.transactions-tab,
.analytics-tab {
    background: white;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.financial-dashboard-error {
    text-align: center;
    padding: 40px;
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 6px;
    color: #856404;
}

.financial-dashboard-error h3 {
    margin: 0 0 10px 0;
    color: #856404;
}

.retry-button {
    padding: 10px 20px;
    background: #ffc107;
    color: #212529;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 15px;
}

.retry-button:hover {
    background: #e0a800;
}

/* Responsive Design */
@media (max-width: 768px) {
    .financial-dashboard {
        padding: 15px;
    }
    
    .dashboard-header {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }
    
    .dashboard-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .export-section {
        justify-content: center;
    }
    
    .dashboard-tabs {
        flex-wrap: wrap;
    }
    
    .tab {
        flex: 1 1;
        justify-content: center;
        min-width: 120px;
    }
    
    .action-buttons {
        flex-direction: column;
    }
    
    .action-button {
        justify-content: center;
    }
}

/* =========================
   FORGOT PASSWORD PAGE
   ========================= */

/* Main container (similar to .header-section) */
.forgot-password-section {
    display: flex;
    flex-direction: column; /* Stack content vertically on smaller screens */
    align-items: center;
    justify-content: center;
    padding: 50px 10%;
    background-color: #fff;
    min-height: 100vh; /* Fill the viewport height */
    box-sizing: border-box;
  }
  
  /* Wrapper for text & illustration (similar to .header-content-wrapper) */
  .forgot-password-content-wrapper {
    display: flex;
    flex-wrap: wrap; /* Ensures wrapping on smaller screens */
    justify-content: center; /* Centers horizontally */
    align-items: center;     /* Centers vertically */
    margin-bottom: 40px;     /* Space below the main row */
    width: 100%;
  }
  
  /* Left side text content (similar to .header-content) */
  .forgot-password-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center; /* Center text/form horizontally */
    flex: 1 1; /* Takes up proportional space */
    text-align: center;
    margin-bottom: 20px;
    min-height: 300px; /* Enough height for spacing & form */
  }
  
  /* Title (similar to .header-title) */
  .forgot-password-title {
    /* font-family: "Montserrat", sans-serif; */
    font-weight: 700;
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: 1.2;
    margin-bottom: 4px;
    color: #232323;
  }
  
  /* Subtitle (similar to .header-subtitle) */
  .forgot-password-subtitle {
    /* font-family: "Montserrat", sans-serif; */
    font-weight: 500;
    font-size: clamp(1rem, 3vw, 2rem);
    line-height: 1.5;
    margin-bottom: 20px;
    max-width: 80%;
    color: #FF5E4D;
    margin: 0 auto; /* Centers the subtitle text */
  }
  
  /* Form container (similar to a .header-subtitle or CTA area) */
  .forgot-form-container {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
  
  .forgot-form-group {
    margin-bottom: 20px;
    text-align: left; /* If you prefer left-aligned labels */
  }
  
  .forgot-form-group label {
    display: block;
    margin-bottom: 5px;
    color: #232323;
  }
  
  .forgot-form-group .form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 25px;
    box-sizing: border-box;
  }
  
  .invalid-feedback {
    color: red;
    margin-top: 5px;
  }
  
  /* Right side illustration (similar to .header-image-container) */
  .forgot-password-image-container {
    flex: 1 1;
    text-align: center;
  }
  
  .forgot-password-image {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
  
  /* Optional extra images below (similar to .header-extra-images) */
  .forgot-extra-images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    flex-direction: column; /* Stack them vertically */
  }
  
  .decorative-image {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  
  /* Hover effect example */
  .scroll-down-image {
    height: auto;
    cursor: pointer;
    transition: transform 0.3s ease;
  }
  
  .scroll-down-image:hover {
    transform: translateY(5px);
  }
  
  /* Error message styling (optional) */
  .errmsg {
    background-color: red;
    color: white;
    padding: 10px;
    margin-bottom: 20px;
    width: 100%;
    text-align: center;
    border-radius: 5px;
  }
  
  .offscreen {
    position: absolute;
    left: -9999px;
  }
  
  /* =========================
     RESPONSIVE BREAKPOINTS
     ========================= */
  
  /* Adjust layout on medium screens */
  @media (max-width: 768px) {
    .forgot-password-content-wrapper {
      flex-direction: column;
    }
    .forgot-password-content {
      margin-bottom: 20px;
    }
    .forgot-extra-images {
      gap: 10px;
    }
  }
  
  /* Adjust layout on small screens */
  @media (max-width: 480px) {
    .decorative-image {
      /* Further adjustments if needed */
    }
  }
  
.animated-button {
  /* Match your CTA button style */
  background-color: #FF5E4D;      /* Orange background */
  color: #fff;                    /* White text */
  font-size: 1.2rem;             /* Slightly larger text */
  padding: 10px 20px;            /* CTA-like padding */
  border: none;                  /* No border */
  border-radius: 25px;           /* Rounded corners */
  cursor: pointer;               /* Cursor on hover */
  display: inline-flex;          /* Flex to center icon/text properly */
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s ease, transform 0.3s ease;
  margin: 0 auto;                /* Center the button horizontally if parent is narrower */

  /* Optional fixed size — Uncomment if you prefer a strict width/height
     width: 150px;
     height: 40px;
  */
}

/* Hover state to match your cta-button hover color */
.animated-button:hover {
  background-color: #e03c4a;
}

/* Spinner rotation animation */
.spin {
  animation: spin 1s linear infinite;
}

/* Success check icon color (white against the orange background) */
.success-check {
  color: white;
}

/* Spin keyframes */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* (A) Reset body/html to remove default margins (optional) */
/* The special no-scroll class for body */
.lock-screen {
  overflow: hidden !important;
}

.reserve-gutter {
overflow-y: scroll;        /* always show the scroll‐gutter */
scrollbar-gutter: stable;  /* modern way to reserve the gutter */
}


/* General button styling */
/* .navbar-button {
  padding: 10px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
}

.navbar-button.login {
  color: white;
} */

/* Main login section wrapper */
.new-login {
  display: flex;
  flex-direction: column;
  background-color: #232323;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  height: 100vh;
  overflow: hidden;
}

/* The 3-column container that fills the screen */
.new-login-container {
display: flex;
width: 100%;
height: 100vh;
margin: 0;
overflow: hidden;
}

/* LEFT COLUMN: balloon on black */
.new-image-container {
flex: 3 1;
display: flex;
justify-content: center;
align-items: center;
background-color: #232323;
overflow: hidden;
height: 100%;
}

.new-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1);    /* Slight zoom-in */
}

.new-image-text {
  position: absolute;
  color: white;
  font-size: 48px;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  z-index: 1;
}

/* CENTER COLUMN: white background + form */
.new-form-container {
flex: 1 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 40px;
background-color: white;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
max-width: 100%;
height: 100%;
overflow-y: auto;
}

.new-form-container form {
  width: 100%;
  max-width: 400px;
}

.new-login-title {
  align-self: flex-start;
  margin-bottom: 20px;
  font-size: 48px
}

/* Form groups */
.new-form-group {
  width: 100%;
  margin-bottom: 20px;
}

.new-form-group label {
  display: block;
  margin-bottom: 5px;
}

.new-form-group input {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 25px;
  box-sizing: border-box;
}

.new-form-group .invalid-feedback {
  color: red;
  margin-top: 5px;
}

/* "Remember me" and "Forgot Password" line */
.new-remember-forgot-container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.new-remember-me {
  display: flex;
  align-items: center;
}

.new-remember-me label {
  margin-left: 5px;
}

.new-forgot-password {
  display: flex;
  align-items: center;
}

.new-forgot-password a {
  color: #007bff;
  text-decoration: none;
}

.new-forgot-password a:hover {
  text-decoration: underline;
}

/* Buttons */
.new-button-container {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.new-button-container a {
  width: 100%;
}

.signin-button {
  background-color: black;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: 100%;
}

.signin-button:hover {
  background-color: #333;
}

.signup-button {
  background-color: white;
  color: black;
  padding: 10px 20px;
  border: 2px solid black;
  border-radius: 25px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: 100%;
}

.signup-button:hover {
  background-color: black;
  color: white;
}

/* Separator between Sign in and Sign up */
.new-separator {
  width: 100%;
  display: flex;
  align-items: center;
  text-align: center;
  margin-bottom: 20px;
}

.new-separator::before,
.new-separator::after {
  content: '';
  flex: 1 1;
  border-bottom: 1px solid #ccc;
}

.new-separator::before {
  margin-right: .25em;
}

.new-separator::after {
  margin-left: .25em;
}

.new-separator span {
  font-size: 14px;
  color: #999;
}

.new-link-container {
  text-align: center;
  margin-top: 20px;
}

.new-link-container p {
  margin: 10px 0;
}

.errmsg {
  background-color: red;
  color: white;
  padding: 10px;
  margin-bottom: 20px;
  width: 100%;
  text-align: center;
  border-radius: 5px;
}

.offscreen {
  position: absolute;
  left: -9999px;
}

/* RIGHT COLUMN: clouds on black background */
.new-right-image-container {
flex: 0.5 1;
display: flex;
justify-content: center;
align-items: center;
background-color: #232323;
overflow: hidden;
height: 100%;
}

.new-right-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1);   /* Match left image zoom */
}

/* Social Login Container Styling */
.social-login-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin-bottom: 20px;
  align-items: center;
}

.btn-social img {
  width: 20px;
  margin-right: 8px;
}

/* Responsive Design */
@media (max-height: 600px) {
  .new-form-container {
    padding: 20px;
  }
  
  .new-login-title {
    font-size: 36px;
    margin-bottom: 15px;
  }
  
  .new-form-group {
    margin-bottom: 15px;
  }
}

@media (max-width: 768px) {
  .new-login-container {
    flex-direction: column;
    height: 100vh;
  }
  
  .new-image-container,
  .new-right-image-container {
    display: none;
  }
  
  .new-form-container {
    flex: 1 1;
    width: 100%;
    padding: 20px;
    justify-content: flex-start;
    padding-top: 40px;
  }
}
.legal-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  overflow-y: auto;
}

.legal-modal-content {
  background: white;
  border-radius: 12px;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  margin: auto;
}

.legal-modal-header {
  padding: 24px 32px;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

.legal-modal-header h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #333;
}

.legal-modal-close {
  background: none;
  border: none;
  font-size: 32px;
  color: #666;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s;
}

.legal-modal-close:hover {
  background-color: #f5f5f5;
  color: #333;
}

.legal-modal-body {
  padding: 32px;
  overflow-y: auto;
  flex: 1 1;
  line-height: 1.6;
}

.legal-last-updated {
  color: #666;
  font-size: 14px;
  font-style: italic;
  margin-bottom: 24px;
}

.legal-section {
  margin-bottom: 32px;
}

.legal-section h3 {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  margin-top: 0;
}

.legal-section h4 {
  font-size: 16px;
  font-weight: 600;
  color: #444;
  margin-bottom: 12px;
  margin-top: 16px;
}

.legal-section p {
  margin-bottom: 12px;
  color: #555;
  font-size: 15px;
}

.legal-section ul {
  margin: 12px 0;
  padding-left: 24px;
}

.legal-section li {
  margin-bottom: 8px;
  color: #555;
  font-size: 15px;
}

.legal-modal-footer {
  padding: 20px 32px;
  border-top: 1px solid #e0e0e0;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

.legal-modal-footer .btn {
  min-width: 120px;
  padding: 10px 24px;
  font-size: 16px;
  font-weight: 500;
}

/* Scrollbar styling */
.legal-modal-body::-webkit-scrollbar {
  width: 8px;
}

.legal-modal-body::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.legal-modal-body::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.legal-modal-body::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Loading and Error states */
.legal-loading,
.legal-error {
  padding: 40px 20px;
  text-align: center;
  color: #666;
}

.legal-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}

.legal-loading::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #FF5E4D;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-right: 10px;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.legal-error {
  color: #d32f2f;
}

.legal-error p {
  margin: 10px 0;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .legal-modal-overlay {
    padding: 0;
  }

  .legal-modal-content {
    max-height: 100vh;
    border-radius: 0;
    height: 100vh;
  }

  .legal-modal-header {
    padding: 20px;
  }

  .legal-modal-header h2 {
    font-size: 20px;
  }

  .legal-modal-body {
    padding: 20px;
  }

  .legal-section h3 {
    font-size: 18px;
  }

  .legal-section h4 {
    font-size: 15px;
  }

  .legal-section p,
  .legal-section li {
    font-size: 14px;
  }

  .legal-modal-footer {
    padding: 16px 20px;
  }
}


.legal-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  overflow-y: auto;
}

.legal-modal-content {
  background: white;
  border-radius: 12px;
  max-width: 800px;
  width: 100%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  margin: auto;
}

.legal-modal-header {
  padding: 24px 32px;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

.legal-modal-header h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #333;
}

.legal-modal-close {
  background: none;
  border: none;
  font-size: 32px;
  color: #666;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s;
}

.legal-modal-close:hover {
  background-color: #f5f5f5;
  color: #333;
}

.legal-modal-body {
  padding: 32px;
  overflow-y: auto;
  flex: 1 1;
  line-height: 1.6;
}

.legal-last-updated {
  color: #666;
  font-size: 14px;
  font-style: italic;
  margin-bottom: 24px;
}

.legal-section {
  margin-bottom: 32px;
}

.legal-section h3 {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  margin-top: 0;
}

.legal-section h4 {
  font-size: 16px;
  font-weight: 600;
  color: #444;
  margin-bottom: 12px;
  margin-top: 16px;
}

.legal-section p {
  margin-bottom: 12px;
  color: #555;
  font-size: 15px;
}

.legal-section ul {
  margin: 12px 0;
  padding-left: 24px;
}

.legal-section li {
  margin-bottom: 8px;
  color: #555;
  font-size: 15px;
}

.legal-modal-footer {
  padding: 20px 32px;
  border-top: 1px solid #e0e0e0;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

.legal-modal-footer .btn {
  min-width: 120px;
  padding: 10px 24px;
  font-size: 16px;
  font-weight: 500;
}

/* Scrollbar styling */
.legal-modal-body::-webkit-scrollbar {
  width: 8px;
}

.legal-modal-body::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.legal-modal-body::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.legal-modal-body::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Loading and Error states */
.legal-loading,
.legal-error {
  padding: 40px 20px;
  text-align: center;
  color: #666;
}

.legal-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}

.legal-loading::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #FF5E4D;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-right: 10px;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.legal-error {
  color: #d32f2f;
}

.legal-error p {
  margin: 10px 0;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .legal-modal-overlay {
    padding: 0;
  }

  .legal-modal-content {
    max-height: 100vh;
    border-radius: 0;
    height: 100vh;
  }

  .legal-modal-header {
    padding: 20px;
  }

  .legal-modal-header h2 {
    font-size: 20px;
  }

  .legal-modal-body {
    padding: 20px;
  }

  .legal-section h3 {
    font-size: 18px;
  }

  .legal-section h4 {
    font-size: 15px;
  }

  .legal-section p,
  .legal-section li {
    font-size: 14px;
  }

  .legal-modal-footer {
    padding: 16px 20px;
  }
}


/* Reuse the same styles from TermsAndConditionsModal */


/* ---------------------
   General button styling
   --------------------- */
  
   /* .navbar-button {
    padding: 10px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
  }
  
  .navbar-button.login {
    color: white;
  } */
  
  /* ----------------------
     Main Registration Page
     ---------------------- */
     .new-registration {
      display: flex;
      flex-direction: column;
      background-color: #232323;
      margin: 0;
      height: 100vh;
      padding: 0;
      box-sizing: border-box;
      overflow: hidden;
    }
    
    /* The 3-column container */
    .new-registration-container {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      justify-content: center;
      width: 100%;
      height: 100vh;
      max-width: none;
      margin: 0;
      overflow: hidden;
    }
    
    /* ----------------------
       LEFT COLUMN
       ---------------------- */
    .new-left-container {
      flex: 1 1;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;
      background-color: #232323;
      height: 100%;
    }
    
    .new-left-container img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.1);
    }
    
    /* ----------------------
       CENTER COLUMN: form
       ---------------------- */
    .new-form-container {
      flex: 2 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 40px;
      background-color: #fff;
      border-radius: 0;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      height: 100%;
      overflow-y: auto;
    }
    
    .new-registration-title {
      align-self: flex-start;
      margin-bottom: 20px;
      font-size: 2rem;
      color: #232323;
      font-size: 48px
    }
    
    .new-form-group {
      width: 100%;
      margin-bottom: 20px;
      max-width: 400px;
    }
    
    .new-form-group label {
      display: block;
      margin-bottom: 5px;
      color: #232323;
    }
    
    .new-form-group input {
      width: 100%;
      padding: 10px;
      border: 1px solid #ccc;
      border-radius: 25px;
      box-sizing: border-box;
    }
    
    .new-form-group .invalid-feedback {
      color: red;
      margin-top: 5px;
    }

    /* Terms and Conditions checkbox */
    .new-form-group.terms-acceptance {
      margin-top: 20px;
      margin-bottom: 25px;
    }

    .new-form-group.terms-acceptance .form-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }

    .new-form-group.terms-acceptance .form-check-input {
      margin-top: 4px;
      cursor: pointer;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
    }

    .new-form-group.terms-acceptance .form-check-label {
      font-size: 14px;
      color: #555;
      line-height: 1.5;
      cursor: pointer;
    }

    .new-form-group.terms-acceptance .link-button {
      background: none;
      border: none;
      color: #FF5E4D;
      text-decoration: underline;
      cursor: pointer;
      padding: 0;
      font-size: 14px;
      font-weight: 600;
      transition: color 0.2s;
    }

    .new-form-group.terms-acceptance .link-button:hover {
      color: #ff9286;
    }
    
    /* ----------------------
       Buttons
       ---------------------- */
    .new-button-container {
      width: 100%;
      max-width: 400px;
      display: flex;
      justify-content: center;
      margin-bottom: 20px;
    }
    
    .signup-button {
      background-color: #FF5E4D;
      color: white;
      padding: 10px 20px;
      border: 2px solid black;
      font-size: 20px;
      border-radius: 25px;
      font-weight: bold;
      cursor: pointer;
      border: 1px solid #ddd;
      transition: background-color 0.3s ease, color 0.3s ease;
      width: 100%;
    }
    
    .signup-button:hover {
      background-color: #ff9286;
      color: white;
    }
    
    .signin-button {
      background-color: white;
      color: #FF5E4D;
      font-weight: bold;
      font-size: 20px;
      padding: 10px 20px;
      border: 4px solid #FF5E4D;
      border-radius: 25px;
      cursor: pointer;
      transition: background-color 0.3s ease;
      width: 100%;
    }
    
    .signin-button:hover {
      background-color: #FF5E4D;
      color: #FFFFFF;
    }
    
    /* Separator ( "or" ) */
    .new-separator {
      width: 100%;
      max-width: 400px;
      display: flex;
      align-items: center;
      text-align: center;
      margin-bottom: 20px;
    }
    
    .new-separator::before,
    .new-separator::after {
      content: "";
      flex: 1 1;
      border-bottom: 1px solid #ccc;
    }
    
    .new-separator::before {
      margin-right: 0.25em;
    }
    
    .new-separator::after {
      margin-left: 0.25em;
    }
    
    .new-separator span {
      font-size: 14px;
      color: #999;
    }
    
    /* ----------------------
       RIGHT COLUMN
       ---------------------- */
    .new-right-container {
      flex: 1 1;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden;
      background-color: #232323;
      height: 100%;
    }
    
    .new-right-container img {
      object-fit: cover;
      transform: scale(1.1);
    }
    
    /* ----------------------
       Error Handling
       ---------------------- */
    .errmsg {
      background-color: red;
      color: white;
      padding: 10px;
      margin-bottom: 20px;
      width: 100%;
      max-width: 400px;
      text-align: center;
      border-radius: 5px;
    }
    
    .offscreen {
      position: absolute;
      left: -9999px;
    }
  
    /* ----------------------
       Responsive Design
       ---------------------- */
    @media (max-height: 600px) {
      .new-form-container {
        padding: 20px;
        justify-content: flex-start;
        padding-top: 20px;
      }
      
      .new-registration-title {
        font-size: 36px;
        margin-bottom: 15px;
      }
      
      .new-form-group {
        margin-bottom: 15px;
      }
    }
  
    @media (max-width: 768px) {
      .new-registration-container {
        flex-direction: column;
      }
      
      .new-left-container,
      .new-right-container {
        display: none;
      }
      
      .new-form-container {
        flex: 1 1;
        width: 100%;
        padding: 20px;
        justify-content: flex-start;
        padding-top: 40px;
      }
    }
.reset-password {
    min-height: 60vh;
    margin-right: 200px;
    margin-left: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.reset-password .form-container{
    justify-content: space-between;
    height: 100%;
}

.reset-password .form-group{
    margin-bottom: 20px;
}

/* ResetPassword.css */
.errmsg {
    color: red;
    margin-bottom: 1rem;
  }
  .offscreen {
    position: absolute;
    left: -9999px;
  }
  .successmsg {
    color: green;
    margin-bottom: 1rem;
  }
  /* existing styles… */
  
.collaboration-exposure-container {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
    gap: 5px;
}

.brand-side-bar h6 {
  display: flex;
  height: 29px;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 7px; /* 35% */
  letter-spacing: -0.4px;
}

.brand-side-bar .current-contracts{
  width: 100%;
  display: flex;
  min-width: 288px;
  padding: 24px 26px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 24px;
  color: #ffffff;
  background: #FF5E4D;
  background: var(--Color-Palette-Principal-Pink, #FF5E4D);
}

/* .brand-side-bar .current-contracts:active{
  display: flex;
  min-width: 288px;
  padding: 24px 26px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 24px;
  color: #ffffff;
  background: var(--Color-Palette-Principal-Pink, #FF5E4D);
  border: 4px solid var(--Color-Palette-Darker-black, #FF5E4D);
} */


.brand-side-bar .active-negotiations {
  display: flex;
  min-width: 288px;
  padding: 24px 26px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 24px;
  color: #ffffff;
  background: #000000;
  background: var(--Color-Palette-Principal-Pink, #000000);
  border: 4px solid #000000;
  border: 4px solid var(--Color-Palette-Darker-black, #000000);
}

/* .brand-side-bar .proposals-sent {
  display: flex;
  min-width: 288px;
  padding: 24px 26px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 24px;
  color: #FF5E4D;
border: 4px solid var(--Color-Palette-Darker-black, #232323);
background: var(--Color-Palette-Pure-White, #FFF);
} */

.brand-side-bar .draft-proposals {
  display: flex;
  min-width: 288px;
  padding: 24px 26px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 24px;
  color: #FF5E4D;
  border: 4px solid #232323;
  border: 4px solid var(--Color-Palette-Darker-black, #232323);
  background: #FFF;
  background: var(--Color-Palette-Pure-White, #FFF);
}

.brand-side-bar .incoming-proposals {
  display: flex;
  min-width: 288px;
  padding: 24px 26px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 24px;
  color: #FF5E4D;
border: 4px solid #232323;
border: 4px solid var(--Color-Palette-Darker-black, #232323);
background: #FFF;
background: var(--Color-Palette-Pure-White, #FFF);
}

.brand-side-bar .proposals-received::selection {
background: #FF5E4D;
background: var(--Color-Palette-Pure-White, #FF5E4D);
}

.brand-side-bar .past-contracts {
  display: flex;
  min-width: 288px;
  padding: 24px 26px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 24px;
  color: #ffffff;
  background: #AEAEAE;
  background: var(--Color-Palette-Dark-grey, #AEAEAE);
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
  border: 4px solid #AEAEAE;
  border: 4px solid var(--Color-Palette-Darker-black, #AEAEAE);
}

.brand-side-bar {
  display: inline-flex;
  flex-direction: column;
align-items: flex-start;
  padding: 5px;
  border-radius: 6px; /* Apply rounding only to the left corners */
  margin: 5px;
  min-height: 60vh;
  gap: 24px;
}

.brand-type-listing {
    flex: 1 1;
    padding: 5px;
    border-radius: 6px; /* Apply rounding only to the left corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 5px;
}

.brand-type-listing .brands-asking{
    border-radius: 6px; /* Apply rounding only to the left corners */
    margin: 5px;
}

.brand-type-listing .brands-requesting{
    border-radius: 6px; /* Apply rounding only to the left corners */
    margin: 5px;
}

.brand-type-listing .current-contracts{
  border-radius: 6px; /* Apply rounding only to the left corners */
  margin: 5px;
}

.brand-type-listing .finished-contracts{
  border-radius: 6px; /* Apply rounding only to the left corners */
  margin: 5px;
}

.current-contracts {
  padding: 5px;
  border-radius: 6px;
  margin: 5px;
  background-color: #ffffff;
  color: rgb(0, 0, 0);
}

.finished-contracts {
  flex: 1 1;
  padding: 5px;
  border-radius: 6px; /* Apply rounding only to the left corners */
  margin: 5px;
  background-color: #ffffff;
  color: rgb(0, 0, 0);
  height: 20vh;
}

.rejected-proposals {
  flex: 1 1;
  padding: 5px;
  border-radius: 6px; /* Apply rounding only to the left corners */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin: 5px;
  background-color: #ff8080;
  color: white;
  height: 20vh;
}

.brand-collaboration-proposal{
    padding: 5px;
    margin: 5px;
    flex: 4 1;
    min-height: 90vh;
    }

.proposal-collaboration {
    width: 100%;
    display: flex;
  }

  .view-collaboration {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 31px;
  }
  .collaboration-exposure-container .proposal-collaboration-conditions {
    border-radius: 6px 0 0 6px; /* Apply rounding only to the left corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.311);
    display: flex;
    flex-direction: column;
    padding: 20px;
    margin: 10px, 5px;
    width: calc(80% - 20px);
    flex-grow: 1;
  }

  .proposal-collaboration-conditions h6 {
    font-weight: bold;
    font-size: 20px;
  }

  /* .collaboration-exposure-container .totals-box {
    padding: 20px;
  } */

  .collaboration-exposure-container > .totals-box h6 {
    display: flex;
    justify-content: flex-end;
    font-weight: bold;
    font-size: 20px;
  }

  .collaboration-exposure-container .totals-box > .condition-item {
    display: flex;
    justify-content: flex-end;
}

 .proposal-collaboration-conditions > .condition-item:first-of-type,
  .totals-box > .condition-item:first-of-type {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 55px;
    position: relative;
}

  .proposal-collaboration-conditions > .condition-item:nth-of-type(2),
  .totals-box > .condition-item:nth-of-type(2) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .proposal-collaboration-conditions > .condition-item:nth-of-type(3),
  .totals-box > .condition-item:nth-of-type(3) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 0px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .proposal-collaboration-conditions > .condition-item:nth-of-type(4),
  .totals-box > .condition-item:nth-of-type(4) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .proposal-collaboration-conditions > .condition-item:nth-of-type(5),
  .totals-box > .condition-item:nth-of-type(5) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 0px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .proposal-collaboration-conditions > .condition-item:nth-of-type(6),
  .totals-box > .condition-item:nth-of-type(6) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .proposal-collaboration-conditions > .condition-item:nth-of-type(7),
  .totals-box > .condition-item:nth-of-type(7) {
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .submit-collaboration-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    width: 100%;
      }

  .submit-collaboration-container .accept{
    background-color: #000;
    border: none;
    padding: 5px 10px;
    border-radius: 15px;
    min-width: 180px;
    color: white;
    font-weight: bold;
    cursor: pointer;
    margin: 5px;
    box-sizing: border-box;
    display: inline-block;
    transition: background-color 0.3s, color 0.3s;
  }

  .submit-collaboration-container .counteroffer{
    background-color:#ffdcaa;
    border: none;
    padding: 5px 10px;
    border-radius: 15px;
    color: black;
    font-weight: bold;
    cursor: pointer;
    min-width: 180px;
    margin: 5px;
    box-sizing: border-box;
    display: inline-block;
    transition: background-color 0.3s, color 0.3s;
  }

  .submit-collaboration-container .reject{
    background-color: #ffbeba;
    color: #000;
    font-weight: bold;
    border: none;
    padding: 5px 10px;
    border-radius: 15px;
    min-width: 180px;
    cursor: pointer;
    margin: 5px;
    box-sizing: border-box;
    display: inline-block;
    transition: background-color 0.3s, color 0.3s;
  }

  .brand-collaboration-contract{
    padding: 5px;
    margin: 5px;
    flex: 4 1;
    box-sizing: border-box;
    height: 100%;
}

.brand-collaboration-proposal > .proposal-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  background-color: transparent;
}

.brand-collaboration-contract > .proposal-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  background-color: transparent;
}
  .contracts-container{
    box-sizing: border-box;
    min-height: 90vh;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
  }

.header-contract-collaboration {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 6px; /* Apply rounding only to the left corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-top: 10px;
    flex-direction: column; /* Change this to column */
    padding: 10px;
}

.collaboration-exposure-container .brand-type-listing {
  position: relative;
  overflow: hidden;
}

.brand-contract-content {
  scrollbar-width: thin;
  scrollbar-color: #ffffff #f1f1f1;
  display: flex;
  align-items: center;
  padding: 10px;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
}

.brand-contract-item {
  display: flex;
  gap: 4px;
  align-items: center;
  width: 100%;
  position: relative;
}

/* WebKit browsers (Chrome, Safari) */
.brand-contract-content::-webkit-scrollbar {
  width: 5px;
  display: none;
}

.brand-contract-content::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.brand-contract-content::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.brand-contract-content::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.rejected-message-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.rejected-message-box {
  background: white;
  padding: 20px;
  border-radius: 8px;
  max-width: 400px;
  text-align: center;
}

.rejected-message-box p {
  margin: 0 0 15px;
  font-size: 16px;
}

.rejected-message-box button {
  background-color: #333;
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
}

.component-nav-bar {
    display: flex;
    align-items: center;
    padding: 2px;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
}

.component-nav-bar button {
    margin-right: 20px;
    padding: 5px 10px;
    cursor: pointer;
}

.component-nav-bar h1 {
    margin: 0;
}

.component-nav-bar-item button{
    border: none;
    background-color: transparent;
    cursor: pointer;
}

.component-nav-bar-item button.active {
    font-weight: bold; /* Makes the font weight bold when active */
}

.collaboration.header-container {
  position: relative;  /* important for absolute positioning of children */
  width: 100%;
  max-width: none;
  overflow: visible;  /* ensure overflow is not hidden */
}

.header-image {
  width: 100%;
  height: 250px;
  overflow: hidden;
  position: relative;
}

.header-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.motion-main {
  width: 100%;
  max-width: none;
  position: static; /* Ensures the motion-main does not restrict width or positioning */
  display: flex;
  justify-content: center;
  overflow: visible; /* Important: Allows content to overflow as needed */
}

/* Shared bar container */
.collaboration .brand-header-bar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20%;
  width: 100%;
  max-width: 1200px; /* Set a higher max-width or remove entirely */
  background-color: transparent;
  box-shadow: none;
  border-radius: 40px;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  z-index: 2;
  overflow: visible; /* Ensure visibility of overflowing content */
}

.collaboration .brand-header-bar.brand-header-detailed {
  justify-content: space-between;
}

.collaboration .brand-header-bar.brand-header-simple {
  justify-content: center;
}

.brand-header-bubble {
  background-color: #FF5E4D;
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 40px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1 1; /* Ensure bubbles expand properly */
  max-width: 400px; /* or adjust as needed */
}

.brand-header-logo {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}

.brand-header-info {
  display: flex;
  flex-direction: row;
  line-height: 1.2;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.brand-header-name {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-header-role {
  font-size: 24px;
}

.brand-header-center-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand-header-center-icon img {
  width: 50px;
  height: 50px;
}

/* Simple version if no brand selected */
.brand-header-simple {
  justify-content: center;
  border-radius: 40px;
  background-color: #FF5E4D;
  color: #fff;
}

.brand-header-simple h2 {
  margin: 0;
  font-size: 1.2rem;
}

/* Loading overlay styles */
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(128, 128, 128, 0.3);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  z-index: 10;
  pointer-events: none;
}
/* Base button style for all SectionList buttons */
.section-list-button {
    background-color: white;  /* Base background */
    color: black;             /* Base text colour */
    border: 1px solid black;
    padding: 5px 10px;
    margin: 4px;
    border-radius: 15px;
    width: 100%;
    cursor: pointer;
    box-sizing: border-box;
    display: inline-block;
    transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, color 0.3s;
    position: relative; /* Required for badge positioning */
  }
  
  /* Hover state: when the mouse is over the button */
  .section-list-button:hover {
    background-color: black;  /* Change background on hover */
    color: white;             /* Change text colour on hover */
    transform: translateY(-3px);
  }
  
  /* Active state: when the button is being clicked */
  .section-list-button:active {
    background-color: black;  /* Maintain black background when clicked */
    color: white;
  }
  
  /* Selected state: if a button is marked as selected, keep the active colours */
  .section-list-button.selected {
    background-color: black;
    color: white;
    transform: translateY(0px);
  }
  
  /* Style for the badge that appears on the button */
  .section-list-button-badge {
    position: absolute;
    top: 5px;
    right: 5px;
    background: red;
    color: white;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 10px;
  }
  
.create-collaboration {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 31px;
}

.collaboration-proposal {
  width: 100%;
  display: flex; /* Use flex to align children */
  flex-direction: column; /* Stack children vertically */
  align-items: center; /* Center children horizontally */
  justify-content: center; /* Center children vertically if there's extra space */
  position: relative; /* Needed for absolute positioning of the child elements */

  }

  .collaboration {
    width: 100%;
    display: flex;
  }

  .collaboration-conditions {
    border-radius: 24px;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    background: #FFF;
    background: var(--Color-Palette-Pure-White, #FFF);
    display: flex;
    flex-direction: column;
    width: calc(80% - 20px);
    flex-grow: 1;
    padding: 24px 36px;
  }

  .totals-box {
    border-radius: 24px;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    background: #FFF;
    background: var(--Color-Palette-Pure-White, #FFF);
    padding: 24px 36px;
    margin-left: -1px; /* Overlap the border with .collaboration-conditions to avoid double borders */
    flex-basis: 200px;
    margin:0px 0px 0px 5px;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
  }

  .collaboration h6 {
    display: flex;
    justify-content: flex-start;
    font-weight: 700;
    font-size: 28px;
    font-style: normal;
    line-height: 36px; /* 128.571% */
letter-spacing: -0.56px;
  }

  .pre-established-conditions {
    font-size: 12px;
    color: lightgrey;
    width: 50%;
    justify-content: flex-start;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .collaboration-conditions > .condition-item:first-of-type,
  .totals-box > .condition-item:first-of-type {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 65px;
    position: relative;
    display: flex;
}

  .collaboration-conditions > .condition-item.date-picker,
  .totals-box > .condition-item.date-picker {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    min-height: 60px;
    max-height: 120px;
    position: relative;
    transition: all 0.3s ease, height 0.3s ease;
    justify-content: space-between;
    display: flex;
  }

  .collaboration-conditions > .condition-item.date-picker.expanded,
  .totals-box > .condition-item.date-picker.expanded {
    height: 300px; /* Example: adjust based on the estimated maximum content size */
  }



  .collaboration-conditions > .condition-item:nth-of-type(3),
  .totals-box > .condition-item:nth-of-type(3) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 0px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
    display: flex;
    justify-content: space-between;
  }
.container-checkbox {
  display: flex;
  align-items: center;
  gap: 3px;
}
  .expanded {
    height: auto; /* Adjust as needed */
  }

  .collapsed {
    height: 100px; /* Default height */
  }

  .collaboration-conditions > .condition-item:nth-of-type(4),
  .totals-box > .condition-item:nth-of-type(4) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .collaboration-conditions > .condition-item:nth-of-type(4) .toggle-switch,
  .totals-box > .condition-item:nth-of-type(4) .toggle-switch {
    position: absolute;
    display: inline-block;
    width: 60px;
    height: 32px;
    margin: 5px;
  }

  .collaboration-conditions > .condition-item:nth-of-type(5),
  .totals-box > .condition-item:nth-of-type(5) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 0px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .collaboration-conditions > .condition-item:nth-of-type(6),
  .totals-box > .condition-item:nth-of-type(6) {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }

  .collaboration-conditions > .condition-item:nth-of-type(6) .toggle-switch,
  .totals-box > .condition-item:nth-of-type(6) .toggle-switch {
    position: absolute;
    display: inline-block;
    width: 60px;
    height: 32px;
    margin: 5px;
  }

  .collaboration-conditions > .condition-item:nth-of-type(7),
  .totals-box > .condition-item:nth-of-type(7) {
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 8px; /* Adds some space after the separator line */
    height: 45px;
    position: relative;
  }



  .collaboration-conditions .condition-item:first-child,
.totals-box .condition-item:first-child {
  padding-top: 200px; /* Adjust this value so that it aligns with your design */
}

  .proposal-header {
    background: #232323;
    background: var(--Color-Palette-Darker-black, #232323);
    display: flex;
  padding: 12px 0px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
    }

  .proposal-header-container {
    color: #FFF;
    color: var(--Color-Palette-Pure-White, #FFF);
  text-align: center;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 36px; /* 128.571% */
  letter-spacing: -0.56px;
  }

  /* Add additional styles to match the design in your image */


  .disclaimer {
    width: 100%;
    background-color: #f0f0f0; /* Light grey background */
  padding: 15px; /* Add some space inside the container */
  margin: 10px; /* Space between this container and the .collaboration container */
  font-size: 16px; /* Adjust text size as needed */
  color: #242424; /* Darker text for readability */
  border-radius: 10px;
  }

  .proposal-input-container {
    width: 100%;
  background-color: transparent; /* Light grey background */
  padding: 15px; /* Add some space inside the container */
  margin: 10px 0; /* Space between this container and the .collaboration container */
  font-size: 16px; /* Adjust text size as needed */
  border-color: transparent;
  border-radius: 40px;
  }

  .proposal-input-container input {
    width: 100%;
    font-size: 16px;
    border-color: transparent;
    background: #FFF;
    background: var(--Color-Palette-Pure-White, #FFF);
    border-radius: 40px;
    margin-bottom: 0px;
    border: 2px solid #AEAEAE;
    border: 2px solid var(--Color-Palette-Dark-grey, #AEAEAE);
    padding: 15px;
    margin: 10px 0;
    padding: 0px 28px;
    justify-content: center;
    align-items: center;
    align-self: stretch;
  }

  .input-line {
    width: 100%;
    height: 2px;
    background-color: black;
    transition: height 0.3s ease-in-out;
  }

  .input-line::before {
    content: '';
    position: absolute;
    width: 100%;
    background-color: white; /* Change the background color to match your page background */
    transform-origin: right;
    transform: scaleX(1);
    transition: transform 0.3s ease-in-out;
  }

  .proposal-input-container input::placeholder {
    color: lightgrey; /* Placeholder text color */
  }

  /* .collaboration-variables{
    border: 1px solid rgba(0, 0, 0, 0.311);
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    padding: 10px;
    width: calc(100% - 20px);
    flex-grow: 1;
  } */

  .submit-proposal-container{
    width: 100%;
    display: flex;
    justify-content: space-between;
  }

  .objectives{
    display: flex;
    justify-content: space-between;
  }

  .align-right {
    justify-content: right;
  }

  .align-left {
    text-align: left;
  }

  .date-picker{
    display: flex;
    justify-content: left;
  }
/* 
  .submit-proposal-container button{
    background-color: #DDD7CE;
    border: none;
    display: inline-block;
    padding: 10px 5px;
    border-radius: 5px;
    padding: 10px 20px;
    color: white;
    cursor: pointer;
    margin: 5px;
  } */


.search-date-container button {
  padding: 10px 5px !important;
}

.search-date-container form {
  display: flex;
}




/* CustomStyles.css */
.react-datepicker {
  font-size: 16px;
  width: auto;
  border: none; /* Remove default border */
  /* font-family: 'Open Sans', sans-serif; */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add some shadow for depth */
  display: flex;

}

/* CollaborationProposal.css */
.date-picker input {
  border: 1px solid #ccc; /* Default state */
}

.date-picker input.highlighted {
  border: 2px solid blue; /* Highlight color */
  background-color: #f0f9ff; /* Light background color */
}


.react-datepicker-wrapper {
  padding: 5px;
}


.react-datepicker__input-container {
  width: 100%;
  height: 10%;
}

.react-datepicker__input-container input {
  width: 100%;
  border-radius: 20px; /* Rounded borders for the input */
  border: 1px solid #ccc; /* Light grey border */
  font-size: 16px;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); /* Inner shadow for depth */
}

/* Adjust size of each day cell */
.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
  width: 2.5em; /* Increase width */
  line-height: 2.5em; /* Increase line height */
  margin: 0.166em;
}

/* Style for the calendar navigation */
.react-datepicker__navigation {
  width: 30px; /* Increase width */
  height: 30px; /* Increase height */
}

/* Style for the calendar header */
.react-datepicker__current-month {
  font-size: 16px;
}

.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
  width: 1.9em;
  line-height: 1.9em;
  margin: 0.166em;
}

/* Adjust the look of the selected day */
.react-datepicker__day--selected {
  border-radius: 50%; /* Circular highlight for selected day */
  background-color: #FF5E4D; /* Example: Red background for the selected day */
  color: white;
}

/* Hover styles for days */
.react-datepicker__day:hover {
  background-color: #ddd; /* Light grey background on hover */
}

/* Example media query for smaller screens */
@media (max-width: 600px) {
  .react-datepicker {
      font-size: 14px; /* Smaller font size on small screens */
  }

  .react-datepicker__navigation {
      width: 20px;
      height: 20px;
  }
}

.size-input-row {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.size-input-left {
  flex: 1 1;
  font-weight: bold;
  display: flex;
  justify-content: space-around;
}

.size-input-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap; /* Allow wrapping */
  flex-grow: 1; /* Allow the container to grow */
  justify-content: flex-end;
}

.size-input {
  border: 1px solid #ccc;
  border-radius: 20px;
  width: 80px;
  display: flex;
}

.element.style {
  position: relative;
}

.price-input {
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 20px;
  width: 200px;
  display: flex;
  position: relative !important;
}

.month-input {
  border: 1px solid #ccc;
  border-radius: 20px;
  display: flex;
  text-align: center;
  margin: 6px;
}

.size-add-button {
  padding: 5px 10px;
  background-color: #000;
  color: #fff;
  border: none;
  cursor: pointer;
  border-radius: 20px;
  font-weight: lighter;
  width: 80px;
}

.size-bubble {
  display: flex;
  align-items: center;
  background-color: #000;
  color: #fff;
  padding: 5px 10px;
  border-radius: 20px;
  margin-right: 10px;
}

.size-remove-icon {
  margin-left: 10px;
  cursor: pointer;
}
/* Add these styles to your CollaborationProposal.css file */

.disabled-container {
  pointer-events: none; /* Prevent any interaction */
  background-color: #f0f0f0; /* Light grey background to indicate disabled state */
  color: #a0a0a0; /* Grey text color */
  border: 1px solid #ccc; /* Light grey border */
  border-radius: 5px;
  padding: 8px;
  height: 45px;
  opacity: 0.7; /* Slight transparency to indicate disabled state */
  margin-bottom: 8px; /* Adds some space after the separator line */
}

.currency-selection {
  display: flex;
  border: 1px solid #ccc;
  border-radius: 20px;
  margin: 6px;
}

.currency-selection select{
  border: 1px solid #ccc;
  border-radius: 20px;
}

.price-selection {
  display: flex;
}


.success-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
}
.success-gif {
  width: 200px;
  height: auto;
  margin-bottom: 1rem;
}

/* Stripe Setup Modal Styles */
.stripe-setup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  animation: fadeIn 0.3s ease-out;
}

.stripe-setup-modal {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 20px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
  max-width: 550px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  animation: slideUp 0.3s ease-out;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.stripe-setup-header {
  padding: 2rem 2rem 1rem 2rem;
  text-align: center;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.stripe-setup-icon {
  margin-bottom: 1rem;
}

.stripe-logo {
  font-size: 3rem;
  background: linear-gradient(135deg, #635bff, #1a73e8);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 4px rgba(99, 91, 255, 0.3));
}

.stripe-setup-header h2 {
  color: #1a1a1a;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}

.stripe-setup-header .close-btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
}

.stripe-setup-header .close-btn:hover {
  background: rgba(255, 94, 77, 0.1);
  color: #ff5e4d;
  transform: rotate(90deg);
}

.stripe-setup-content {
  padding: 1.5rem 2rem;
}

.setup-message {
  text-align: center;
}

.primary-message {
  font-size: 1.1rem;
  color: #4a5568;
  line-height: 1.6;
  margin-bottom: 2rem;
  font-weight: 500;
}

.benefits-list {
  text-align: left;
  margin-bottom: 2rem;
}

.benefits-list h4 {
  color: #2d3748;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  text-align: center;
}

.benefits-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background: rgba(40, 167, 69, 0.05);
  border-radius: 8px;
  border-left: 3px solid #28a745;
}

.benefit-icon {
  margin-right: 0.75rem;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.benefits-list li span:not(.benefit-icon) {
  color: #4a5568;
  font-size: 0.95rem;
  line-height: 1.4;
}

.security-note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
  padding: 1rem;
  border-radius: 12px;
  border: 1px solid rgba(25, 118, 210, 0.2);
}

.security-icon {
  font-size: 1.25rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.security-note p {
  margin: 0;
  font-size: 0.9rem;
  color: #5a6c7d;
  line-height: 1.5;
  font-weight: 500;
}

.stripe-setup-footer {
  padding: 1.5rem 2rem 2rem 2rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.btn-cancel-setup,
.btn-setup-stripe {
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  min-width: 120px;
  position: relative;
  overflow: hidden;
}

.btn-cancel-setup {
  background: #f8f9fa;
  color: #6c757d;
  border: 2px solid #e9ecef;
}

.btn-cancel-setup:hover:not(:disabled) {
  background: #e9ecef;
  color: #495057;
  transform: translateY(-1px);
}

.btn-setup-stripe {
  background: linear-gradient(135deg, #635bff 0%, #1a73e8 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(99, 91, 255, 0.3);
}

.btn-setup-stripe:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(99, 91, 255, 0.4);
}

.btn-setup-stripe:active {
  transform: translateY(0);
}

.btn-cancel-setup:disabled,
.btn-setup-stripe:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .stripe-setup-modal {
    max-width: 95%;
    margin: 1rem;
    border-radius: 16px;
  }

  .stripe-setup-header {
    padding: 1.5rem 1.5rem 1rem 1.5rem;
  }

  .stripe-setup-header h2 {
    font-size: 1.3rem;
  }

  .stripe-setup-content {
    padding: 1rem 1.5rem;
  }

  .primary-message {
    font-size: 1rem;
  }

  .benefits-list h4 {
    font-size: 1rem;
  }

  .stripe-setup-footer {
    padding: 1rem 1.5rem 1.5rem 1.5rem;
    flex-direction: column;
  }

  .btn-cancel-setup,
  .btn-setup-stripe {
    width: 100%;
    min-width: 0;
    min-width: initial;
  }
}
@charset "UTF-8";
.react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  border-color: #ccc;
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: "";
  display: block;
  height: 9px;
  position: absolute;
  top: 6px;
  width: 9px;
}
.react-datepicker-wrapper {
  display: inline-block;
  padding: 0;
  border: 0;
}

.react-datepicker {
  font-family: "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 0.8rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  display: inline-block;
  position: relative;
  line-height: normal;
  line-height: initial;
}

.react-datepicker--time-only .react-datepicker__time-container {
  border-left: 0;
}
.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.react-datepicker-popper {
  z-index: 1;
  line-height: 0;
}
.react-datepicker-popper .react-datepicker__triangle {
  stroke: #aeaeae;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}

.react-datepicker__header {
  text-align: center;
  background-color: #f0f0f0;
  border-bottom: 1px solid #aeaeae;
  border-top-left-radius: 0.3rem;
  padding: 8px 0;
  position: relative;
}
.react-datepicker__header--time {
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}
.react-datepicker__header--time:not(.react-datepicker__header--time--only) {
  border-top-left-radius: 0;
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select) {
  border-top-right-radius: 0.3rem;
}

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
  display: inline-block;
  margin: 0 15px;
}

.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem;
}

h2.react-datepicker__current-month {
  padding: 0;
  margin: 0;
}

.react-datepicker-time__header {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.react-datepicker__navigation {
  align-items: center;
  background: none;
  display: flex;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 2px;
  padding: 0;
  border: none;
  z-index: 1;
  height: 32px;
  width: 32px;
  text-indent: -999em;
  overflow: hidden;
}
.react-datepicker__navigation--previous {
  left: 2px;
}
.react-datepicker__navigation--next {
  right: 2px;
}
.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 85px;
}
.react-datepicker__navigation--years {
  position: relative;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__navigation--years-previous {
  top: 4px;
}
.react-datepicker__navigation--years-upcoming {
  top: -4px;
}
.react-datepicker__navigation:hover *::before {
  border-color: rgb(165.75, 165.75, 165.75);
}

.react-datepicker__navigation-icon {
  position: relative;
  top: -1px;
  font-size: 20px;
  width: 0;
}
.react-datepicker__navigation-icon--next {
  left: -2px;
}
.react-datepicker__navigation-icon--next::before {
  transform: rotate(45deg);
  left: -7px;
}
.react-datepicker__navigation-icon--previous {
  right: -2px;
}
.react-datepicker__navigation-icon--previous::before {
  transform: rotate(225deg);
  right: -7px;
}

.react-datepicker__month-container {
  float: left;
}

.react-datepicker__year {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__year-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 180px;
}
.react-datepicker__year .react-datepicker__year-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__month {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__input-time-container {
  clear: both;
  width: 100%;
  float: left;
  margin: 5px 0 10px 15px;
  text-align: left;
}
.react-datepicker__input-time-container .react-datepicker-time__caption {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
  display: inline-block;
  margin-left: 10px;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
  width: auto;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {
  -moz-appearance: textfield;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
  margin-left: 5px;
  display: inline-block;
}

.react-datepicker__time-container {
  float: right;
  border-left: 1px solid #aeaeae;
  width: 85px;
}
.react-datepicker__time-container--with-today-button {
  display: inline;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  position: absolute;
  right: -87px;
  top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
  position: relative;
  background: white;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
  width: 85px;
  overflow-x: hidden;
  margin: 0 auto;
  text-align: center;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  list-style: none;
  margin: 0;
  height: calc(195px + 1.7rem / 2);
  overflow-y: scroll;
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  box-sizing: content-box;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
  height: 30px;
  padding: 5px 10px;
  white-space: nowrap;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
  cursor: pointer;
  background-color: #f0f0f0;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
  background-color: #216ba5;
  color: white;
  font-weight: bold;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
  background-color: #216ba5;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
  color: #ccc;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
  cursor: default;
  background-color: transparent;
}

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable {
  cursor: pointer;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__week-number--selected {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__week-number--selected:hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}

.react-datepicker__day-names {
  white-space: nowrap;
  margin-bottom: -8px;
}

.react-datepicker__week {
  white-space: nowrap;
}

.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
  color: #000;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer;
}
.react-datepicker__day:not([aria-disabled=true]):hover,
.react-datepicker__month-text:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text:not([aria-disabled=true]):hover,
.react-datepicker__year-text:not([aria-disabled=true]):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__day--today,
.react-datepicker__month-text--today,
.react-datepicker__quarter-text--today,
.react-datepicker__year-text--today {
  font-weight: bold;
}
.react-datepicker__day--highlighted,
.react-datepicker__month-text--highlighted,
.react-datepicker__quarter-text--highlighted,
.react-datepicker__year-text--highlighted {
  border-radius: 0.3rem;
  background-color: #3dcc4a;
  color: #fff;
}
.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {
  background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);
}
.react-datepicker__day--highlighted-custom-1,
.react-datepicker__month-text--highlighted-custom-1,
.react-datepicker__quarter-text--highlighted-custom-1,
.react-datepicker__year-text--highlighted-custom-1 {
  color: magenta;
}
.react-datepicker__day--highlighted-custom-2,
.react-datepicker__month-text--highlighted-custom-2,
.react-datepicker__quarter-text--highlighted-custom-2,
.react-datepicker__year-text--highlighted-custom-2 {
  color: green;
}
.react-datepicker__day--holidays,
.react-datepicker__month-text--holidays,
.react-datepicker__quarter-text--holidays,
.react-datepicker__year-text--holidays {
  position: relative;
  border-radius: 0.3rem;
  background-color: #ff6803;
  color: #fff;
}
.react-datepicker__day--holidays .overlay,
.react-datepicker__month-text--holidays .overlay,
.react-datepicker__quarter-text--holidays .overlay,
.react-datepicker__year-text--holidays .overlay {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}
.react-datepicker__day--holidays:not([aria-disabled=true]):hover,
.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {
  background-color: rgb(207, 82.9642857143, 0);
}
.react-datepicker__day--holidays:hover .overlay,
.react-datepicker__month-text--holidays:hover .overlay,
.react-datepicker__quarter-text--holidays:hover .overlay,
.react-datepicker__year-text--holidays:hover .overlay {
  visibility: visible;
  opacity: 1;
}
.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,
.react-datepicker__month-text--selected,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--selected,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--selected,
.react-datepicker__year-text--in-selecting-range,
.react-datepicker__year-text--in-range {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--keyboard-selected,
.react-datepicker__month-text--keyboard-selected,
.react-datepicker__quarter-text--keyboard-selected,
.react-datepicker__year-text--keyboard-selected {
  border-radius: 0.3rem;
  background-color: rgb(186.25, 217.0833333333, 241.25);
  color: rgb(0, 0, 0);
}
.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range) {
  background-color: rgba(33, 107, 165, 0.5);
}
.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range), .react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range) {
  background-color: #f0f0f0;
  color: #000;
}
.react-datepicker__day--disabled,
.react-datepicker__month-text--disabled,
.react-datepicker__quarter-text--disabled,
.react-datepicker__year-text--disabled {
  cursor: default;
  color: #ccc;
}
.react-datepicker__day--disabled .overlay,
.react-datepicker__month-text--disabled .overlay,
.react-datepicker__quarter-text--disabled .overlay,
.react-datepicker__year-text--disabled .overlay {
  position: absolute;
  bottom: 70%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.react-datepicker__input-container .react-datepicker__calendar-icon {
  position: absolute;
  padding: 0.5rem;
  box-sizing: content-box;
}

.react-datepicker__view-calendar-icon input {
  padding: 6px 10px 5px 25px;
}

.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
  border: 1px solid transparent;
  border-radius: 0.3rem;
  position: relative;
}
.react-datepicker__year-read-view:hover,
.react-datepicker__month-read-view:hover,
.react-datepicker__month-year-read-view:hover {
  cursor: pointer;
}
.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  transform: rotate(135deg);
  right: -16px;
  top: 0;
}

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: #f0f0f0;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  z-index: 1;
  text-align: center;
  border-radius: 0.3rem;
  border: 1px solid #aeaeae;
}
.react-datepicker__year-dropdown:hover,
.react-datepicker__month-dropdown:hover,
.react-datepicker__month-year-dropdown:hover {
  cursor: pointer;
}
.react-datepicker__year-dropdown--scrollable,
.react-datepicker__month-dropdown--scrollable,
.react-datepicker__month-year-dropdown--scrollable {
  height: 150px;
  overflow-y: scroll;
}

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__year-option:first-of-type,
.react-datepicker__month-option:first-of-type,
.react-datepicker__month-year-option:first-of-type {
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.react-datepicker__year-option:last-of-type,
.react-datepicker__month-option:last-of-type,
.react-datepicker__month-year-option:last-of-type {
  -webkit-user-select: none;
  user-select: none;
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
  background-color: #ccc;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
  border-bottom-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
  position: absolute;
  left: 15px;
}

.react-datepicker__close-icon {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 6px 0 0;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
.react-datepicker__close-icon::after {
  cursor: pointer;
  background-color: #216ba5;
  color: #fff;
  border-radius: 50%;
  height: 16px;
  width: 16px;
  padding: 2px;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  content: "×";
}
.react-datepicker__close-icon--disabled {
  cursor: default;
}
.react-datepicker__close-icon--disabled::after {
  cursor: default;
  background-color: #ccc;
}

.react-datepicker__today-button {
  background: #f0f0f0;
  border-top: 1px solid #aeaeae;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left;
}

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  z-index: 2147483647;
}
.react-datepicker__portal .react-datepicker__day-name,
.react-datepicker__portal .react-datepicker__day,
.react-datepicker__portal .react-datepicker__time-name {
  width: 3rem;
  line-height: 3rem;
}
@media (max-width: 400px), (max-height: 550px) {
  .react-datepicker__portal .react-datepicker__day-name,
  .react-datepicker__portal .react-datepicker__day,
  .react-datepicker__portal .react-datepicker__time-name {
    width: 2rem;
    line-height: 2rem;
  }
}
.react-datepicker__portal .react-datepicker__current-month,
.react-datepicker__portal .react-datepicker-time__header {
  font-size: 1.44rem;
}

.react-datepicker__children-container {
  width: 13.8rem;
  margin: 0.4rem;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  height: auto;
}

.react-datepicker__aria-live {
  position: absolute;
  -webkit-clip-path: circle(0);
          clip-path: circle(0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  width: 1px;
  white-space: nowrap;
}

.react-datepicker__calendar-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
}

/* Custom React DatePicker Styles - iComerge Theme */

/* Main DatePicker Container */
.react-datepicker-wrapper {
  width: 100%;
}

.react-datepicker__input-container {
  width: 100%;
}

.react-datepicker__input-container input {
  width: 100%;
  padding: 10px 16px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: #2d3436;
  background: white;
  transition: all 0.3s ease;
  cursor: pointer;
}

.react-datepicker__input-container input:hover {
  border-color: #ff5e4c;
  box-shadow: 0 2px 8px rgba(255, 51, 100, 0.1);
}

.react-datepicker__input-container input:focus {
  outline: none;
  border-color: #ff3364;
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.2);
}

/* DatePicker Popup */
.react-datepicker {
  font-family: 'Montserrat', Arial, sans-serif;
  border: none;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

.react-datepicker__triangle {
  display: none;
}

/* Header */
.react-datepicker__header {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  border-bottom: none;
  padding: 20px 10px 10px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.react-datepicker__current-month {
  color: white;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}

.react-datepicker__day-names {
  display: flex;
  justify-content: space-around;
  margin-top: 10px;
}

.react-datepicker__day-name {
  color: white;
  font-size: 12px;
  font-weight: 600;
  width: 2.5rem;
  line-height: 2rem;
  margin: 0.166rem;
  opacity: 0.9;
}

/* Navigation Arrows */
.react-datepicker__navigation {
  top: 20px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.2);
  transition: all 0.2s ease;
}

.react-datepicker__navigation:hover {
  background: rgba(255, 255, 255, 0.3);
}

.react-datepicker__navigation--previous {
  left: 10px;
  border-right-color: white;
}

.react-datepicker__navigation--next {
  right: 10px;
  border-left-color: white;
}

.react-datepicker__navigation-icon::before {
  border-color: white;
  border-width: 2px 2px 0 0;
  height: 8px;
  width: 8px;
  top: 10px;
}

/* Month Container */
.react-datepicker__month-container {
  background: white;
}

.react-datepicker__month {
  margin: 0;
  padding: 16px;
}

/* Week */
.react-datepicker__week {
  display: flex;
  justify-content: space-around;
}

/* Days */
.react-datepicker__day {
  width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
  margin: 0.166rem;
  color: #2d3436;
  font-size: 13px;
  font-weight: 500;
  border-radius: 10px;
  transition: all 0.2s ease;
  cursor: pointer;
}

.react-datepicker__day:hover {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  transform: scale(1.05);
}

.react-datepicker__day--selected,
.react-datepicker__day--keyboard-selected {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.3);
}

.react-datepicker__day--selected:hover,
.react-datepicker__day--keyboard-selected:hover {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  transform: scale(1.05);
}

.react-datepicker__day--today {
  font-weight: 600;
  color: #ff3364;
  background: rgba(255, 51, 100, 0.1);
}

.react-datepicker__day--today:hover {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
}

.react-datepicker__day--disabled {
  color: #dfe6e9;
  cursor: not-allowed;
}

.react-datepicker__day--disabled:hover {
  background: transparent;
  transform: none;
}

.react-datepicker__day--outside-month {
  color: #b2bec3;
  opacity: 0.5;
}

/* Time Selector (if used) */
.react-datepicker__time-container {
  border-left: 1px solid #e2e8f0;
}

.react-datepicker__time-container .react-datepicker__time {
  background: white;
}

.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
  width: 100%;
}

.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  padding: 0;
}

.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
  padding: 8px 10px;
  font-size: 13px;
  transition: all 0.2s ease;
}

.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
}

.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  font-weight: 600;
}

/* Popper */
.react-datepicker-popper {
  z-index: 9999;
}

.react-datepicker-popper[data-placement^="bottom"] {
  padding-top: 10px;
}

.react-datepicker-popper[data-placement^="top"] {
  padding-bottom: 10px;
}

/* Year Dropdown */
.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: white;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  padding: 8px 16px;
  transition: all 0.2s ease;
}

.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
}

.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  font-weight: 600;
}

/* Close Button */
.react-datepicker__close-icon {
  padding: 0;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.react-datepicker__close-icon::after {
  background-color: #ff3364;
  color: white;
  font-size: 16px;
  width: 20px;
  height: 20px;
  line-height: 18px;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.react-datepicker__close-icon:hover::after {
  background-color: #ff5e4c;
  transform: scale(1.1);
}

/* Responsive */
@media (max-width: 768px) {
  .react-datepicker {
    font-size: 0.9rem;
  }

  .react-datepicker__day {
    width: 2.2rem;
    height: 2.2rem;
    line-height: 2.2rem;
  }

  .react-datepicker__day-name {
    width: 2.2rem;
  }
}

/* Animation */
@keyframes datepickerFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.react-datepicker {
  animation: datepickerFadeIn 0.2s ease;
}


.product-list {
    display: flex;
    align-items: right;
    gap: 10px;
    justify-content: flex-end;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
  }

  .content-container {
    display: flex;
    align-items: center;
    width: 100%;
  }

  .product-item {
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
    border-radius: 50%; /* Makes the images rounded */
    border: 2px solid transparent; /* Default border, transparent */
    cursor: pointer;
    display: inline-block;
    position: relative;
    z-index: 1;
  }

  .product-item.selected {
    transform: scale(1.05);
    z-index: 1;
  }

  .image-container {
    position: relative;
    display: flex;
    overflow: hidden; /* Now only applies to this container */
    width: 100%; /* Adjust based on your setup */
    height: 100%; /* Adjust based on your setup */
  }

  .image-container .product-image {
    width: 50px; /* Fixed size, can be adjusted */
    height: 50px; /* Fixed size, can be adjusted */
    object-fit: cover; /* Ensures the image covers the area without distortion */
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 5px;
  }

  .tick-mark {
    position: absolute;
    top: 0;
    background-color: #0f9e7b; /* Background to make the tick mark more visible */
    color: white; /* Tick mark color */
    border-radius: 50%; /* Optional: for rounded tick mark background */
    padding: 5px; /* Adjust based on your design */
    /* More styling as needed */
    z-index: 2;
    font-size: 24px;
  }

.icon-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px; /* Space between icons */
}

.icon {
  cursor: pointer;
  font-size: 24px;
  color: #000; /* Change color as needed */
}

/* SelectProductProposalModal.css */

.select-products-modal-body .modal-body{
  position: relative;
}

.select-product-modal-content {
  /* Add your modal-specific styles here */
}

.product-added-container {
  height: 100%;
  margin: 8px; /* Space between cards */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  padding: 8px;
}

.product-added-container-form {
  width: 22%;
  height: 70vh;
  margin: 8px; /* Space between cards */
  display: flex;
  flex-direction: column;
}

.filter-container {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.filter-container .btn {
  margin: 0 8px;
}

.filter-container .filter {
  padding: 0px;
  font-weight: lighter;
}

.filter-container .filter:hover {
  background-color: #ffcf5e;
}

.products {
  margin-top: 10px;
  width: 75%;
  border-radius: 20px;
}

.product-tag-container {
  width: 100%;
  margin: 8px; /* Space between cards */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.product-tag-header {
  width: 100%;
  text-align: left;
  margin-bottom: 10px;
  padding: 10px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

.product-object.added .image-container {
  transform: none
}

.select-circle {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  margin: 5px;
}

.select-circle.added {
  background-color: rgb(17, 255, 88);
}

.selected-products {
  display: flex;
  flex-wrap: wrap;
}

.selected-product-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 5px 0;
  padding: 5px 10px;
  border-bottom: 1px solid #000;
}

.delete-selected-product {
  cursor: pointer;
  margin-left: 10px;
}

.product-carousel {
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden; /* Ensure overflow is hidden */
  padding: 10px;
}

.product-items {
  display: flex;
  overflow-x: hidden; /* Hide the overflow */
  scroll-behavior: smooth;
  width: 100%; /* Take full width */
  margin-left: 15px;
}

.product-object {
  min-width: calc(100% / 5 - 10px); /* Ensure 3 items fit in the view with margins */
  margin-left: 5px;
  margin-right: 5px;
  flex: 0 0 auto; /* Prevent flex item from shrinking */
}

.image-container {
  position: relative;
  display: flex;
  justify-content: center;
}

.product-tag-container .product-image {
  width: 250px; /* Make the image take the full width of the container */
  height: 250px;
  object-fit: cover;
  border-radius: 8px;
}

.product-title-container {
  position: absolute;
  bottom: 0;
  width: 250px;
  background: rgba(0, 0, 0, 0.6); /* Semi-transparent background */
  color: white;
  text-align: center;
  padding: 5px 0;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.product-title-container .product-title {
  margin: 0;
  font-size: 14px;
  color: white;
}

.carousel-button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 24px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: #000; /* Add color for visibility */
}

.carousel-button.left {
  left: 10px;
}

.carousel-button.right {
  right: 10px;
}


.select-products-modal-body .add {
  padding: 0px;
  font-weight: lighter;
  background-color: #c0c0c0;
}

.select-products-modal-body  .add:hover {
  background-color: #ffcf5e;
}

.toggle-switch {
    width: 50px; /* Width of the switch */
    height: 25px; /* Height of the switch */
    background-color: #ccc; /* Off state color */
    border-radius: 25px; /* Make it rounded */
    padding: 5px; /* Space around the knob */
    position: absolute; /* For absolute positioning of the knob */
    cursor: pointer; /* Change cursor on hover */
    transition: background-color 0.3s; /* Smooth transition for color change */
    bottom: 0;
    right: 0;
    margin: 12px;
    display: flex; /* Use flexbox to center the knob */
  align-items: center; /* Center knob vertically */
  justify-content: center; /* Initially position knob in the center */
  }

  .toggle-switch.on {
    background-color: #4CAF50; /* On state color */
  }

  .toggle-knob {
    width: 20px; /* Width of the knob */
    height: 20px; /* Height of the knob */
    background-color: #fff; /* Color of the knob */
    border-radius: 50%; /* Make the knob rounded */
    position: absolute; /* Position absolutely within the switch */
    left: 5px; /* Start position */
    transition: left 0.3s; /* Smooth transition for moving the knob */
  }

  .toggle-switch.on .toggle-knob {
    left: 25px; /* Move knob to the right for On state */
  }

.oval-container {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 500px;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }

  .oval-image {
    width: 100%;
    height: auto;
  }

/* src/components/layout/SuccessAnimation/SuccessAnimation.css */

/* Full page wrapper that covers the entire viewport */
.success-fullpage-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10000;
  /* Ensure it's above everything else */
  pointer-events: auto;
  /* Force it to be relative to viewport, not document */
  transform: translateZ(0);
}

/* Overlay that covers the entire viewport and blurs everything behind */
.success-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  
  /* Strong blur effect for the entire background */
  background: linear-gradient(135deg, rgba(255, 94, 77, 0.2), rgba(255, 51, 102, 0.2));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  
  animation: fadeIn 0.3s ease-out;
  
  /* Perfect centering using flexbox - this centers relative to viewport */
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* Ensure it's always centered in viewport */
  box-sizing: border-box;
}

/* Content container - this will be perfectly centered in the viewport */
.success-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: 420px;
  padding: 50px 40px;
  
  /* Strong background for better contrast against blurred content */
  background: rgba(255, 255, 255, 0.98);
  border-radius: 24px;
  box-shadow: 
    0 25px 80px rgba(0, 0, 0, 0.15),
    0 10px 30px rgba(255, 94, 77, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  
  /* Ensure content doesn't touch edges on small screens */
  margin: 20px;
  
  /* Smooth entrance animation */
  animation: contentSlideIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s both;
  
  /* Ensure it's always visible */
  max-height: calc(100vh - 40px);
  overflow: visible;
}

/* Add a subtle border for better definition */
.success-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 24px;
  border: 1px solid rgba(255, 94, 77, 0.1);
  pointer-events: none;
}

/* Animated background circles */
.success-bg-circle {
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(45deg, rgba(255, 94, 77, 0.06), rgba(255, 51, 102, 0.06));
  animation: float 4s ease-in-out infinite;
  pointer-events: none;
}

.circle-1 {
  width: 180px;
  height: 180px;
  top: -90px;
  left: -90px;
  animation-delay: 0s;
}

.circle-2 {
  width: 120px;
  height: 120px;
  bottom: -60px;
  right: -60px;
  animation-delay: 1.5s;
}

.circle-3 {
  width: 80px;
  height: 80px;
  top: 40px;
  right: -40px;
  animation-delay: 3s;
}

/* Enhanced checkmark container */
.checkmark-container {
  position: relative;
  z-index: 10;
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.checkmark-circle {
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #FF5E4D, #FF3366);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 
    0 15px 50px rgba(255, 94, 77, 0.3),
    0 5px 15px rgba(255, 94, 77, 0.2);
  animation: popIn 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.3s both;
  position: relative;
}

.checkmark-circle::before {
  content: '';
  position: absolute;
  width: 140px;
  height: 140px;
  border: 2px solid rgba(255, 94, 77, 0.3);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: ripple 2.5s infinite 1s;
}

.checkmark-circle::after {
  content: '';
  position: absolute;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(255, 94, 77, 0.2);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: ripple 2.5s infinite 1.8s;
}

/* Enhanced checkmark */
.checkmark {
  width: 56px;
  height: 28px;
  border-left: 5px solid #ffffff;
  border-bottom: 5px solid #ffffff;
  border-radius: 2px;
  transform: rotate(-45deg) scale(0);
  opacity: 0;
  animation: drawCheck 0.6s 1.1s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15));
  position: relative;
  top: -2px;
  left: -2px;
}

/* Text content */
.success-text-content {
  opacity: 0;
  transform: translateY(24px);
  transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 10;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
}

.success-text-content.show {
  opacity: 1;
  transform: translateY(0);
}

.success-title {
  font-size: 32px;
  font-weight: 800;
  color: #232323;
  margin: 0 0 12px 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  text-align: center;
  line-height: 1.2;
}

.success-subtitle {
  font-size: 17px;
  color: #666;
  margin: 0 0 36px 0;
  line-height: 1.6;
  max-width: 340px;
  text-align: center;
  font-weight: 400;
}

/* Loading animation */
.success-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
}

.loading-dots {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
}

.success-loading .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF5E4D, #FF3366);
  animation: bounce 1.6s infinite ease-in-out both;
  box-shadow: 0 2px 6px rgba(255, 94, 77, 0.3);
}

.success-loading .dot:nth-child(1) { animation-delay: -0.32s; }
.success-loading .dot:nth-child(2) { animation-delay: -0.16s; }
.success-loading .dot:nth-child(3) { animation-delay: 0s; }

.loading-text {
  font-size: 15px;
  color: #888;
  margin: 0;
  font-weight: 500;
  text-align: center;
}

/* Floating particles */
.particles {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  top: 0;
  left: 0;
  overflow: hidden;
  border-radius: 24px;
}

.particle {
  position: absolute;
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg, #FF5E4D, #FF3366);
  border-radius: 50%;
  animation: floatUp 4s infinite ease-out;
  opacity: 0;
  box-shadow: 0 2px 6px rgba(255, 94, 77, 0.4);
}

.particle-1 { left: 15%; bottom: 0; animation-delay: 1.2s; }
.particle-2 { left: 25%; bottom: 0; animation-delay: 1.8s; }
.particle-3 { right: 15%; bottom: 0; animation-delay: 2.4s; }
.particle-4 { right: 25%; bottom: 0; animation-delay: 3s; }
.particle-5 { left: 50%; bottom: 0; animation-delay: 3.6s; }
.particle-6 { right: 45%; bottom: 0; animation-delay: 4.2s; }

/* Animations */
@keyframes fadeIn {
  from { 
    opacity: 0; 
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
  }
  to { 
    opacity: 1; 
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
}

@keyframes contentSlideIn {
  from {
    opacity: 0;
    transform: scale(0.8) translateY(40px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes popIn {
  0% { 
    transform: scale(0) rotate(0deg); 
    opacity: 0;
  }
  60% { 
    transform: scale(1.15) rotate(180deg); 
    opacity: 1;
  }
  100% { 
    transform: scale(1) rotate(360deg); 
    opacity: 1;
  }
}

@keyframes drawCheck {
  from {
    opacity: 0;
    transform: rotate(-45deg) scale(0);
  }
  to {
    opacity: 1;
    transform: rotate(-45deg) scale(1);
  }
}

@keyframes ripple {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.4;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.3);
    opacity: 0;
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
    opacity: 0.2;
  }
  50% {
    transform: translateY(-15px) rotate(180deg);
    opacity: 0.4;
  }
}

@keyframes bounce {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.6;
  }
  40% {
    transform: scale(1.2);
    opacity: 1;
  }
}

@keyframes floatUp {
  0% {
    opacity: 0;
    transform: translateY(0) scale(0) rotate(0deg);
  }
  15% {
    opacity: 1;
    transform: translateY(-20px) scale(1) rotate(90deg);
  }
  85% {
    opacity: 1;
    transform: translateY(-200px) scale(0.8) rotate(270deg);
  }
  100% {
    opacity: 0;
    transform: translateY(-240px) scale(0) rotate(360deg);
  }
}

/* Responsive design */
@media (max-width: 768px) {
  .success-content {
    max-width: 350px;
    padding: 40px 30px;
    margin: 15px;
    border-radius: 20px;
    max-height: calc(100vh - 30px);
  }
  
  .success-title {
    font-size: 26px;
  }
  
  .success-subtitle {
    font-size: 15px;
    max-width: 290px;
    margin-bottom: 30px;
  }
  
  .checkmark-circle {
    width: 100px;
    height: 100px;
  }
  
  .checkmark {
    width: 46px;
    height: 23px;
    top: -1px;
    left: -1px;
  }
  
  .checkmark-circle::before {
    width: 120px;
    height: 120px;
  }
  
  .checkmark-circle::after {
    width: 140px;
    height: 140px;
  }
  
  .checkmark-container {
    margin-bottom: 28px;
  }
}

@media (max-width: 480px) {
  .success-content {
    max-width: 320px;
    padding: 35px 25px;
    margin: 10px;
    border-radius: 16px;
    max-height: calc(100vh - 20px);
  }
  
  .success-title {
    font-size: 22px;
  }
  
  .success-subtitle {
    font-size: 14px;
    max-width: 270px;
    margin-bottom: 24px;
  }
  
  .checkmark-circle {
    width: 90px;
    height: 90px;
  }
  
  .checkmark {
    width: 40px;
    height: 20px;
  }
  
  .checkmark-container {
    margin-bottom: 24px;
  }
}

/* Ensure perfect centering on all screen sizes and orientations */
@media (min-height: 600px) {
  .success-overlay {
    align-items: center;
    justify-content: center;
  }
}

@media (max-height: 600px) {
  .success-content {
    padding: 30px 25px;
    max-height: calc(100vh - 40px);
  }
  
  .success-title {
    font-size: 24px;
    margin-bottom: 8px;
  }
  
  .success-subtitle {
    margin-bottom: 24px;
  }
  
  .checkmark-container {
    margin-bottom: 20px;
  }
  
  .success-loading {
    gap: 12px;
  }
}

/* Landscape orientation adjustments */
@media (orientation: landscape) and (max-height: 500px) {
  .success-content {
    padding: 25px 30px;
    max-height: calc(100vh - 20px);
  }
  
  .success-title {
    font-size: 20px;
    margin-bottom: 6px;
  }
  
  .success-subtitle {
    font-size: 13px;
    margin-bottom: 20px;
  }
  
  .checkmark-circle {
    width: 80px;
    height: 80px;
  }
  
  .checkmark {
    width: 36px;
    height: 18px;
  }
  
  .checkmark-container {
    margin-bottom: 16px;
  }
}
/* Force viewport positioning for older browsers */
.success-fullpage-wrapper,
.success-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}


/* Enhanced Landing Color Variables */
:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-red-alt: #ff3366;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
}

/* Body class for backdrop blur effect */
body.stripe-modal-blur {
  overflow: hidden;
}

body.stripe-modal-blur::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(35, 35, 35, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 9998;
  pointer-events: none;
}

.stripe-setup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  animation: fadeIn 0.3s ease-out;
}

.stripe-setup-modal {
  background: linear-gradient(135deg, #ffffff 0%, #ececec 100%);
  background: linear-gradient(135deg, var(--primary-white) 0%, var(--light-gray) 100%);
  border-radius: 25px;
  box-shadow: 0 25px 50px rgba(35, 35, 35, 0.3);
  max-width: 550px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  animation: slideUp 0.3s ease-out;
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
}

.stripe-setup-header {
  padding: 2.5rem 2rem 1.5rem 2rem;
  text-align: center;
  position: relative;
  border-bottom: 2px solid #ececec;
  border-bottom: 2px solid var(--light-gray);
}

.stripe-setup-icon {
  margin-bottom: 1.5rem;
}

.stripe-logo {
  font-size: 3.5rem;
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 4px 8px rgba(255, 51, 100, 0.3));
  font-weight: 700;
}

.stripe-setup-header h2 {
  color: #232323;
  color: var(--primary-dark);
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.5px;
}

.close-btn {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: rgba(35, 35, 35, 0.05);
  border: none;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #232323;
  color: var(--primary-dark);
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 300;
}

.close-btn:hover {
  background: rgba(255, 51, 100, 0.1);
  color: #ff3364;
  color: var(--accent-red);
  transform: rotate(90deg) scale(1.1);
}

.stripe-setup-content {
  padding: 2rem;
}

.setup-message {
  text-align: center;
}

.primary-message {
  font-size: 1.2rem;
  color: #232323;
  color: var(--primary-dark);
  line-height: 1.6;
  margin-bottom: 2.5rem;
  font-weight: 500;
  opacity: 0.9;
}

.benefits-list {
  text-align: left;
  margin-bottom: 2.5rem;
}

.benefits-list h4 {
  color: #232323;
  color: var(--primary-dark);
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
  letter-spacing: -0.3px;
}

.benefits-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding: 1rem;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 15px;
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(35, 35, 35, 0.05);
}

.benefits-list li:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.15);
  border-color: #ff7e70;
  border-color: var(--accent-light-orange);
}

.benefit-icon {
  margin-right: 1rem;
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.benefits-list li span:not(.benefit-icon) {
  color: #232323;
  color: var(--primary-dark);
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
  opacity: 0.9;
}

.security-note {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: linear-gradient(135deg, #ffffff 0%, #ececec 100%);
  background: linear-gradient(135deg, var(--primary-white) 0%, var(--light-gray) 100%);
  padding: 1.5rem;
  border-radius: 20px;
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  box-shadow: 0 4px 15px rgba(35, 35, 35, 0.05);
}

.security-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.security-note p {
  margin: 0;
  font-size: 0.95rem;
  color: #232323;
  color: var(--primary-dark);
  line-height: 1.6;
  font-weight: 500;
  opacity: 0.8;
}

.stripe-setup-footer {
  padding: 1.5rem 2rem 2.5rem 2rem;
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  border-top: 2px solid #ececec;
  border-top: 2px solid var(--light-gray);
}

.btn-cancel-setup,
.btn-setup-stripe {
  padding: 1rem 2rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  min-width: 140px;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}

.btn-cancel-setup {
  background: transparent;
  color: #ff3364;
  color: var(--accent-red);
  border: 2px solid #ff3364;
  border: 2px solid var(--accent-red);
}

.btn-cancel-setup:hover:not(:disabled) {
  background: #ff3364;
  background: var(--accent-red);
  color: #ffffff;
  color: var(--primary-white);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.4);
}

.btn-setup-stripe {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
  color: #ffffff;
  color: var(--primary-white);
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.4);
}

.btn-setup-stripe:hover:not(:disabled) {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(255, 51, 100, 0.6);
}

.btn-setup-stripe:active {
  transform: translateY(-1px);
}

.btn-cancel-setup:disabled,
.btn-setup-stripe:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(40px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .stripe-setup-modal {
    max-width: 95%;
    margin: 1rem;
    border-radius: 20px;
  }

  .stripe-setup-header {
    padding: 2rem 1.5rem 1rem 1.5rem;
  }

  .stripe-setup-header h2 {
    font-size: 1.5rem;
  }

  .stripe-setup-content {
    padding: 1.5rem;
  }

  .primary-message {
    font-size: 1.1rem;
  }

  .benefits-list h4 {
    font-size: 1.1rem;
  }

  .benefits-list li {
    padding: 0.8rem;
  }

  .security-note {
    padding: 1.2rem;
  }

  .stripe-setup-footer {
    padding: 1.2rem 1.5rem 2rem 1.5rem;
    flex-direction: column;
  }

  .btn-cancel-setup,
  .btn-setup-stripe {
    width: 100%;
    min-width: 0;
    min-width: initial;
  }
}

@media (max-width: 480px) {
  .stripe-setup-modal {
    max-width: 98%;
    margin: 0.5rem;
  }

  .stripe-setup-header {
    padding: 1.5rem 1rem 1rem 1rem;
  }

  .stripe-setup-header h2 {
    font-size: 1.3rem;
  }

  .stripe-logo {
    font-size: 3rem;
  }

  .close-btn {
    width: 40px;
    height: 40px;
    font-size: 1.5rem;
    top: 1rem;
    right: 1rem;
  }

  .stripe-setup-content {
    padding: 1rem;
  }

  .primary-message {
    font-size: 1rem;
  }

  .benefits-list li {
    padding: 0.7rem;
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }

  .benefit-icon {
    margin-right: 0;
    margin-bottom: 0.3rem;
  }

  .security-note {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
  }

  .security-icon {
    margin-top: 0;
  }

  .stripe-setup-footer {
    padding: 1rem;
  }

  .btn-cancel-setup,
  .btn-setup-stripe {
    padding: 0.9rem 1.5rem;
    font-size: 0.95rem;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .stripe-setup-modal {
    border: 3px solid #232323;
    border: 3px solid var(--primary-dark);
  }

  .benefits-list li,
  .security-note {
    border: 2px solid #232323;
    border: 2px solid var(--primary-dark);
  }

  .btn-cancel-setup {
    border: 3px solid #ff3364;
    border: 3px solid var(--accent-red);
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .stripe-setup-modal,
  .stripe-setup-overlay {
    animation: none;
  }

  .close-btn:hover,
  .benefits-list li:hover,
  .btn-cancel-setup:hover,
  .btn-setup-stripe:hover {
    transform: none;
  }

  .close-btn,
  .benefits-list li,
  .btn-cancel-setup,
  .btn-setup-stripe {
    transition: none;
  }
}
.condition-item {
    border-bottom: 1px solid #a7a7a7; /* Adds a separator line */
    padding-bottom: 8px; /* Adds some space below each item */
    margin-bottom: 0px; /* Adds some space after the separator line */
    min-height: 45px;
    position: relative;
  }

  .collaboration-variables {
    border-radius: 24px;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    background: #FFF;
    background: var(--Color-Palette-Pure-White, #FFF);
    display: flex;
    flex-direction: column;
    width: calc(80% - 20px);
    flex-grow: 1;
    padding: 24px 36px;
  }

  .collaboration-variables > .condition-item {
  min-height: 65px;
}

.objectives-disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
  background-color: #f5f5f5;
}

.objectives-disabled label {
  color: #999;
}
.close,
.save {
    padding: 0px;
    font-weight: lighter;
}

.accept-collab-container {
  max-width: 900px;
  gap: 31px;
  min-height: 90vh;           /* Container takes up most of viewport height */
  display: flex;
  flex-direction: column;
}

.accept-collab-container h2 {
  margin: 0 0 15px 0;
  font-size: 24px;
  font-weight: 600;
  color: #333;
}

.accept-collab-container p {
  font-size: 16px;
  color: #555;
  margin-bottom: 10px;
}

.contract-preview {
  flex-grow: 1;               /* Expand to take available space */
  overflow-y: auto;           /* Allow scrolling if content exceeds available space */
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
  padding: 15px;
  border-radius: 24px;
  background-color: #f9f9f9;
  margin-bottom: 20px;        /* Space below the preview */
  display: flex;              /* Make child (iframe) adopt full size */
}

.contract-preview iframe {
  width: 100%;
  border: none;
}

.buttons-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.buttons-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.support-row {
  display: flex;
  justify-content: center;
}

.btn-contact-support {
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  color: #495057;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-contact-support:hover {
  background: #e9ecef;
  border-color: #dee2e6;
  transform: translateY(-1px);
}

.btn-contact-support:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .buttons-row {
    flex-direction: column;
  }
  
  .buttons-row button {
    width: 100%;
  }
  
  .btn-contact-support {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .accept-collab-container {
    gap: 20px;
    padding: 16px;
  }
  
  .contract-preview {
    padding: 12px;
  }
  
  .buttons-container {
    gap: 12px;
  }
}


.cancel-collaboration-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  margin: 0;
  box-sizing: border-box;
}

.cancel-collaboration-modal {
  background: white;
  border-radius: 20px;
  max-width: 500px;
  width: 100%;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  animation: modalSlideIn 0.3s ease-out;
  position: relative;
  z-index: 10000;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.cancel-collaboration-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px 0;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 24px;
}

.cancel-collaboration-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #d32f2f;
}

.close-btn {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #666;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.close-btn:hover {
  background-color: #f5f5f5;
  color: #333;
}

.cancel-collaboration-content {
  padding: 0 28px;
  text-align: center;
}

.warning-icon {
  font-size: 3rem;
  margin-bottom: 16px;
}

.cancel-warning-text {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  line-height: 1.5;
}

.cancel-secondary-text {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 24px;
}

.cancel-collaboration-footer {
  display: flex;
  gap: 12px;
  padding: 24px 28px;
  border-top: 1px solid #f0f0f0;
}

.cancel-collaboration-footer button {
  flex: 1 1;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
}

.btn-keep-collaboration {
  background: #f5f5f5;
  color: #333;
}

.btn-keep-collaboration:hover {
  background: #e0e0e0;
}

.btn-keep-collaboration:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-cancel-collaboration {
  background: #d32f2f;
  color: white;
}

.btn-cancel-collaboration:hover {
  background: #b71c1c;
}

.btn-cancel-collaboration:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: #d32f2f;
}

/* Ensure modal renders at root level to avoid container constraints */
.cancel-collaboration-overlay {
  transform: translateZ(0); /* Create new stacking context */
}

/* Additional fallback for stubborn containers */
.cancel-collaboration-overlay.force-fullscreen {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 9999 !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .cancel-collaboration-modal {
    margin: 10px;
  }
  
  .cancel-collaboration-header,
  .cancel-collaboration-content,
  .cancel-collaboration-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .cancel-collaboration-footer {
    flex-direction: column;
  }
}
.contact-icomerge-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999; /* Increased z-index to ensure it's above everything */
  padding: 20px;
  margin: 0;
  box-sizing: border-box;
}

.contact-icomerge-modal {
  background: white;
  border-radius: 20px;
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  animation: modalSlideIn 0.3s ease-out;
  position: relative;
  z-index: 10000; /* Ensure modal is above overlay */
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.contact-icomerge-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px 0;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 24px;
}

.contact-icomerge-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
}

.close-btn {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: #666;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.close-btn:hover {
  background-color: #f5f5f5;
  color: #333;
}

.contact-icomerge-content {
  padding: 0 28px;
  max-height: 60vh;
  overflow-y: auto;
}

.contact-intro {
  color: #666;
  line-height: 1.6;
  margin-bottom: 24px;
  font-size: 0.95rem;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* .form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
} */

.form-group label {
  font-weight: 600;
  color: #333;
  font-size: 0.95rem;
}

.form-input,
.form-select,
.form-textarea {
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 0.95rem;
  transition: border-color 0.2s ease;
  background: white;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  border-color: #ff3364;
}

.form-input.error,
.form-textarea.error {
  border-color: #d32f2f;
}

.form-textarea {
  resize: vertical;
  min-height: 120px;
  font-family: inherit;
}

.character-count {
  font-size: 0.8rem;
  color: #666;
  text-align: right;
  margin-top: -4px;
}

.error-message {
  color: #d32f2f;
  font-size: 0.85rem;
  font-weight: 500;
}

.user-info {
  background: #f8f9fa;
  padding: 16px;
  border-radius: 8px;
  margin-top: 8px;
}

.user-info p {
  margin: 4px 0;
  font-size: 0.9rem;
  color: #555;
}

.user-info p:first-of-type {
  margin-bottom: 8px;
}

.contact-icomerge-footer {
  display: flex;
  gap: 12px;
  padding: 24px 28px;
  border-top: 1px solid #f0f0f0;
}

.contact-icomerge-footer button {
  flex: 1 1;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
}

.btn-cancel-contact {
  background: #f5f5f5;
  color: #333;
}

.btn-cancel-contact:hover {
  background: #e0e0e0;
}

.btn-cancel-contact:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-send-contact {
  background: #ff3364;
  color: white;
}

.btn-send-contact:hover {
  background: #ff1744;
}

.btn-send-contact:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: #ff3364;
}

/* Scrollbar styling */
.contact-icomerge-content::-webkit-scrollbar {
  width: 6px;
}

.contact-icomerge-content::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.contact-icomerge-content::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.contact-icomerge-content::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .contact-icomerge-modal {
    margin: 10px;
    max-height: 95vh;
  }
  
  .contact-icomerge-header,
  .contact-icomerge-content,
  .contact-icomerge-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .contact-icomerge-footer {
    flex-direction: column;
  }
}

/* Ensure modal renders at root level to avoid container constraints */
.contact-icomerge-overlay {
  /* Force the overlay to break out of any container positioning */
  transform: translateZ(0); /* Create new stacking context */
}

/* Additional fallback for stubborn containers */
body.modal-open {
  overflow: hidden;
}

.contact-icomerge-overlay.force-fullscreen {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 9999 !important;
}
.contract-fully-signed {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 90vh;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  z-index: 999; /* Add high z-index to ensure it's on top */
}

/* Confetti Animation */
.confetti-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 999; /* Same as background */
}

.confetti-piece {
  position: absolute;
  width: 10px;
  height: 10px;
  background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #96ceb4, #ffeaa7, #fd79a8);
  border-radius: 2px;
}

/* Main Card */
.success-card {
  background: white;
  border-radius: 20px;
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
  padding: 3rem;
  max-width: 800px;
  width: 100%;
  position: relative;
  z-index: 1000; /* Even higher z-index for the card */
}

/* Success Header */
.success-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.success-icon {
  font-size: 4rem;
  color: #4CAF50;
  margin-bottom: 1rem;
  filter: drop-shadow(0 4px 8px rgba(76, 175, 80, 0.3));
}

.success-header h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #ff7e70 0%, #ff5e4c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.success-subtitle {
  font-size: 1.1rem;
  color: #7f8c8d;
  margin: 0;
}

/* Contract Summary */
.contract-summary {
  background: #f8f9fa;
  border-radius: 15px;
  padding: 2rem;
  margin-bottom: 2rem;
  border-left: 4px solid #ff7e70;
}

.contract-summary h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #2c3e50;
  margin-bottom: 1.5rem;
  font-size: 1.3rem;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e9ecef;
}

.summary-item:last-child {
  border-bottom: none;
}

.summary-item .label {
  font-weight: 600;
  color: #495057;
}

.summary-item .value {
  font-weight: 500;
  color: #2c3e50;
}

.summary-item .value.amount {
  font-size: 1.2rem;
  font-weight: 700;
  color: #27ae60;
}

/* Signing Status */
.signing-status {
  margin-bottom: 2rem;
}

.signing-status h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #2c3e50;
  margin-bottom: 1.5rem;
  font-size: 1.3rem;
}

.status-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.status-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 10px;
  border: 2px solid transparent;
}

.status-item.completed {
  background: #d4edda;
  border-color: #c3e6cb;
}

.status-item .status-icon {
  color: #28a745;
  font-size: 1.2rem;
}

.status-item span:first-of-type {
  flex: 1 1;
  font-weight: 600;
  color: #2c3e50;
}

.status-item .timestamp {
  font-size: 0.9rem;
  color: #28a745;
  font-weight: 500;
}

/* Next Steps */
.contract-fully-signed .next-steps {
  margin-bottom: 2rem;
  border-left: none;
}

.contract-fully-signed .next-steps h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #2c3e50;
  margin-bottom: 1.5rem;
  font-size: 1.3rem;
}

.payment-info {
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 10px;
  padding: 1.5rem;
}

.payment-info p {
  margin-bottom: 1rem;
  color: #856404;
  line-height: 1.6;
}

.payment-details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.payment-amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background: white;
  border-radius: 8px;
  border: 1px solid #ffeaa7;
}

.amount-label {
  font-weight: 600;
  color: #856404;
}

.amount-value {
  font-size: 1.3rem;
  font-weight: 700;
  color: #27ae60;
}

.payment-note {
  text-align: center;
  color: #6c757d;
}

/* Action Buttons */
.action-buttons {
  text-align: center;
}

.auto-redirect-option {
  margin-bottom: 1.5rem;
}

.auto-redirect-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  color: #6c757d;
  font-size: 0.9rem;
}

.auto-redirect-toggle input[type="checkbox"] {
  transform: scale(1.2);
}

.btn-payment {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: linear-gradient(135deg, #ff7e70 0%, #ff5e4c 100%);
  color: white;
  border: none;
  padding: 1rem 2.5rem;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 126, 112, 0.4);
  margin-bottom: 1rem;
}

.btn-payment:hover {
  box-shadow: 0 6px 20px rgb(255, 126, 112, 0.6);
  transform: translateY(-2px);
}

.btn-payment .btn-arrow {
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}

.btn-payment:hover .btn-arrow {
  transform: translateX(4px);
}

.security-notice {
  color: #6c757d;
  margin-top: 1rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .contract-fully-signed {
    padding: 1rem;
  }

  .success-card {
    padding: 2rem;
  }

  .success-header h1 {
    font-size: 2rem;
  }

  .summary-grid {
    grid-template-columns: 1fr;
  }

  .payment-amount {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }

  .btn-payment {
    width: 100%;
    justify-content: center;
  }
}

/* Dark mode support */
/* @media (prefers-color-scheme: dark) {
  .success-card {
    background: #2c3e50;
    color: #ecf0f1;
  }

  .contract-summary {
    background: #34495e;
  }

  .status-item {
    background: #34495e;
  }

  .status-item.completed {
    background: #27ae60;
    color: white;
  }

  .payment-info {
    background: #f39c12;
    color: #2c3e50;
  }
}  */
/* Root variables - using same gradient colors as PerformanceTracking */
:root {
    --grad-1-start: #ff3364;
    --grad-1-end: #ff5e4c;
    --grad-2-start: #ff4f69;
    --grad-2-end: #ff7a45;
    --grad-3-start: #ff6b55;
    --grad-3-end: #ff9a3d;
    --grad-4-start: #ff823f;
    --grad-4-end: #ffc145;
}

/* Main Container */
.finished-contract-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
    min-height: calc(100vh - 100px);
}

/* Header Section */
.finished-header-section {
    margin-bottom: 40px;
}

.finished-header-card {
    background: linear-gradient(135deg, #ff3364 0%, #ff7a45 50%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-2-end) 50%, var(--grad-3-end) 100%);
    border-radius: 24px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(255, 51, 100, 0.3);
    animation: slideDown 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

.finished-header-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    animation: rotate 20s linear infinite;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-40px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

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

.finished-icon-wrapper {
    display: inline-block;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
}

.finished-icon {
    font-size: 80px;
    color: white;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2));
    animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.finished-title {
    font-size: 42px;
    font-weight: 800;
    color: white;
    margin: 0 0 16px 0;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.5px;
    position: relative;
    z-index: 1;
}

.finished-subtitle {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.95);
    margin: 0 0 24px 0;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

.finished-subtitle strong {
    font-weight: 700;
    color: white;
}

.contract-duration {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.15);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    padding: 12px 32px;
    border-radius: 50px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    position: relative;
    z-index: 1;
}

.duration-label {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.duration-value {
    font-size: 18px;
    font-weight: 700;
    color: white;
}

/* Stats Section */
.finished-stats-section {
    margin-bottom: 40px;
}

.section-title {
    font-size: 28px;
    font-weight: 700;
    color: #2d3436;
    margin: 0 0 24px 0;
    text-align: center;
}

.finished-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 24px;
    gap: 24px;
    margin-bottom: 20px;
}

.finished-stat-card {
    background: white;
    border-radius: 20px;
    padding: 32px 24px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    animation: fadeIn 0.6s ease-out;
    animation-fill-mode: backwards;
}

.finished-stat-card:nth-child(1) { animation-delay: 0.1s; }
.finished-stat-card:nth-child(2) { animation-delay: 0.2s; }
.finished-stat-card:nth-child(3) { animation-delay: 0.3s; }
.finished-stat-card:nth-child(4) { animation-delay: 0.4s; }

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

.finished-stat-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

.stat-icon-wrapper {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 32px;
    color: white;
    transition: transform 0.3s ease;
}

.finished-stat-card:hover .stat-icon-wrapper {
    transform: scale(1.1) rotate(5deg);
}

.stat-icon-wrapper.qr-scans {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
}

.stat-icon-wrapper.interests {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    box-shadow: 0 8px 20px rgba(240, 147, 251, 0.4);
}

.stat-icon-wrapper.contacted {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    box-shadow: 0 8px 20px rgba(79, 172, 254, 0.4);
}

.stat-icon-wrapper.purchases {
    background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
    box-shadow: 0 8px 20px rgba(67, 233, 123, 0.4);
}

.stat-content {
    width: 100%;
}

.stat-value {
    font-size: 40px;
    font-weight: 800;
    color: #2d3436;
    margin: 0 0 8px 0;
    line-height: 1;
}

.stat-label {
    font-size: 16px;
    font-weight: 600;
    color: #636e72;
    margin: 0 0 4px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-description {
    font-size: 13px;
    color: #b2bec3;
    margin: 0;
}

.stat-revenue {
    font-size: 18px;
    font-weight: 700;
    color: #00b894;
    margin: 8px 0 0 0;
}

/* Feedback Section */
.feedback-section {
    margin-bottom: 40px;
    animation: fadeIn 0.6s ease-out;
}

.feedback-intro {
    text-align: center;
    font-size: 16px;
    color: #636e72;
    margin: 0 0 32px 0;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.feedback-card {
    background: white;
    border-radius: 24px;
    padding: 48px 40px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
    max-width: 800px;
    margin: 0 auto;
}

.feedback-rating-section {
    margin-bottom: 32px;
    text-align: center;
}

.feedback-label {
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #2d3436;
    margin-bottom: 20px;
}

.star-rating-wrapper {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 16px;
}

.star-icon {
    font-size: 48px;
    color: #dfe6e9;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.star-icon:hover {
    color: #ffeaa7;
    transform: scale(1.2) rotate(-10deg);
}

.star-icon.filled {
    color: #fdcb6e;
    filter: drop-shadow(0 4px 8px rgba(253, 203, 110, 0.4));
}

.star-icon.filled:hover {
    color: #f39c12;
}

.rating-text {
    font-size: 18px;
    font-weight: 600;
    color: #636e72;
    margin: 0;
    min-height: 27px;
    transition: all 0.3s ease;
}

.feedback-comment-section {
    margin-bottom: 32px;
}

.feedback-textarea {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid #dfe6e9;
    border-radius: 16px;
    font-size: 15px;
    font-family: inherit;
    resize: vertical;
    min-height: 140px;
    transition: all 0.3s ease;
    background: #f8f9fa;
}

.feedback-textarea:focus {
    outline: none;
    border-color: #ff7a45;
    border-color: var(--grad-2-end);
    background: white;
    box-shadow: 0 4px 16px rgba(255, 79, 105, 0.15);
}

.feedback-textarea::placeholder {
    color: #b2bec3;
}

.feedback-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
}

.submit-feedback-btn,
.skip-feedback-btn {
    padding: 16px 40px;
    border: none;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 8px;
}

.submit-feedback-btn {
    background: linear-gradient(135deg, #ff3364 0%, #ff7a45 50%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-2-end) 50%, var(--grad-3-end) 100%);
    color: white;
    box-shadow: 0 8px 24px rgba(255, 51, 100, 0.3);
}

.submit-feedback-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(255, 51, 100, 0.4);
}

.submit-feedback-btn:active:not(:disabled) {
    transform: translateY(0);
}

.submit-feedback-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.skip-feedback-btn {
    background: white;
    color: #636e72;
    border: 2px solid #dfe6e9;
}

.skip-feedback-btn:hover:not(:disabled) {
    background: #f8f9fa;
    border-color: #b2bec3;
    transform: translateY(-2px);
}

.skip-feedback-btn:active:not(:disabled) {
    transform: translateY(0);
}

.skip-feedback-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Thank You Section */
.thank-you-section {
    margin-bottom: 40px;
    animation: fadeIn 0.6s ease-out;
}

.thank-you-card {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    border-radius: 24px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(79, 172, 254, 0.3);
}

.thank-you-icon {
    font-size: 80px;
    color: white;
    margin-bottom: 24px;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.2));
    animation: scaleIn 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.thank-you-title {
    font-size: 36px;
    font-weight: 800;
    color: white;
    margin: 0 0 16px 0;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.thank-you-message {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.95);
    margin: 0 0 24px 0;
    line-height: 1.6;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.remove-from-list-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background: rgba(255, 255, 255, 0.15);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 16px;
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
}

.remove-from-list-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.remove-from-list-btn:active {
    transform: translateY(0);
}

/* Contract Actions */
.contract-actions-section {
    text-align: center;
    padding: 20px 0;
}

.view-contract-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 40px;
    background: white;
    color: #2d3436;
    border: 2px solid #dfe6e9;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.view-contract-btn svg {
    font-size: 24px;
}

.view-contract-btn:hover {
    background: linear-gradient(135deg, #ff3364 0%, #ff7a45 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-2-end) 100%);
    color: white;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 51, 100, 0.3);
}

.view-contract-btn:active {
    transform: translateY(0);
}

/* Contract Modal Styles */
.contract-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(35, 35, 35, 0.85);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    animation: fadeIn 0.3s ease-out;
    padding: 20px;
}

.contract-modal-content {
    background: #fff;
    border-radius: 20px;
    width: 95%;
    max-width: 1400px;
    height: 95vh;
    max-height: 95vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
    animation: slideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(40px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.contract-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 28px 40px;
    background: linear-gradient(135deg, #ff3364 0%, #ff7a45 50%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-2-end) 50%, var(--grad-3-end) 100%);
    border-radius: 20px 20px 0 0;
    box-shadow: 0 4px 20px rgba(255, 51, 100, 0.3);
}

.contract-modal-title {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.3px;
}

.contract-modal-close {
    background: rgba(255, 255, 255, 0.15);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    font-size: 36px;
    cursor: pointer;
    color: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1;
    font-weight: 300;
    padding: 0;
}

.contract-modal-close:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.1) rotate(90deg);
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3);
}

.contract-modal-close:active {
    transform: scale(0.95) rotate(90deg);
}

.contract-modal-body {
    flex: 1 1;
    padding: 0;
    overflow: hidden;
    background: #f8f9fa;
    display: flex;
}

.contract-modal-body iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .finished-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .finished-contract-container {
        padding: 24px 16px;
    }

    .finished-header-card {
        padding: 40px 24px;
    }

    .finished-icon {
        font-size: 60px;
    }

    .finished-title {
        font-size: 32px;
    }

    .finished-subtitle {
        font-size: 16px;
    }

    .finished-stats-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .stat-value {
        font-size: 32px;
    }

    .feedback-card {
        padding: 32px 24px;
    }

    .star-icon {
        font-size: 36px;
    }

    .feedback-actions {
        flex-direction: column;
    }

    .submit-feedback-btn,
    .skip-feedback-btn {
        width: 100%;
        justify-content: center;
    }

    .contract-modal-content {
        width: 98%;
        height: 98vh;
        border-radius: 12px;
    }

    .contract-modal-header {
        padding: 20px 24px;
        border-radius: 12px 12px 0 0;
    }

    .contract-modal-title {
        font-size: 20px;
    }

    .contract-modal-close {
        width: 40px;
        height: 40px;
        font-size: 28px;
    }
}

@media (max-width: 480px) {
    .finished-title {
        font-size: 24px;
    }

    .finished-subtitle {
        font-size: 14px;
    }

    .star-rating-wrapper {
        gap: 8px;
    }

    .star-icon {
        font-size: 32px;
    }

    .section-title {
        font-size: 22px;
    }
}

.shippment-steps {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 10px;
    gap: 40px;
  }

  .shippment-steps h3 {
    color: #232323;
    color: var(--Color-Palette-Darker-black, #232323);
font-size: 28px;
font-style: normal;
font-weight: 700;
line-height: 36px; /* 128.571% */
letter-spacing: -0.56px;
  }

  .shippment-steps h4 {
    color: #232323;
    color: var(--Color-Palette-Darker-black, #232323);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 36px; /* S128.571% */
    letter-spacing: -0.56px;
  }

  .step-shippment {
    margin-top: 10px;
    flex-direction: column; /* Change this to column */
    padding: 10px;
    width: 80%;
    min-height: 40vh;
    display: flex;
    flex-direction: row;
  }

  .step-1-shippment {
    box-sizing: border-box;
    margin-top: 10px;
    padding: 10px;
    width: 100%;
    border-radius: 24px;
    background: #FFF;
    background: var(--Color-Palette-Pure-White, #FFF);
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    padding: 24px 48px;
  }

  .step-1-shippment-header {
    height: 20%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .step-1-shippment-body {
    display: flex;
    flex-direction: column;
    gap: 12px;         /* spacing between rows */
  }

  .shipment-row {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.shipment-label {
  width: 160px;      /* fixed width for all labels */
  font-weight: 600;
}

.shipment-value {
  flex: 1 1;           /* take up the rest of the row */
  word-wrap: break-word;
}

.input-grid {
  display: grid;
  grid-template-columns: 160px 1fr;  /* label | field */
  grid-column-gap: 24px;
  column-gap: 24px;
  grid-row-gap: 12px;
  row-gap: 12px;
  align-items: center;
}

/* Optional: ensure your invalid-feedback sits nice under each input */
.input-grid > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

  .step-2-shippment-body {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 80%;
    align-items: center;
  }

  .step-2-shippment-body .input-fields {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    height: 100%;
    align-items: center;
  }

  .step-2-shippment {
    box-sizing: border-box;
    border-radius: 6px; /* Apply rounding only to the left corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-top: 10px;
    padding: 10px;
    width: 100%;
  }

  .step-1-shippment .form-container {
    padding: 0px;
  }

  .step-shippment-button {
    position: relative;
    top: 30px;
  }

  .step-shippment .step-number-container {
    width: 15%;
    margin-right: 10px;
  }

  .step-shippment .step-number {
    color: #232323;
    color: var(--Color-Palette-Darker-black, #232323);
    text-align: center;
    font-size: 128px;
    font-style: normal;
    font-weight: 700;

  }

  .step-2-shippment-body-right {
    width: 50%;
  }

  .step-2-shippment-body-left {
    width: 50%;
  }

.slide-to-unlock {
  position: relative;
  width: 90vh;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px; /* Circular shape */
  margin-top: 20px;
  margin-bottom: 20px;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 40px;
  background: #ffff;
  outline: none;
  opacity: 0.7;
  transition: opacity 0.2s, value 0.3s ease-out; /* Smooth transition for value change */
  position: relative;
  border-radius: 40px; /* Circular shape */
  padding: 30px;
  border: 2px solid #FF5E4D;
  border: 2px solid var(--Color-Palette-Principal-Pink, #FF5E4D);
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
}

.slider.dragging {
  transition: none; /* Disable transition while dragging */
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 50px; /* Adjusted width to fit the arrows */
  height: 40px;
  background: none; /* No background for the thumb itself */
  cursor: pointer;
  position: relative;
  border-radius: 50%; /* Circular shape */
      margin: 0px 10px 0px 10px;
}

.slider::-moz-range-thumb {
  width: 50px; /* Adjusted width to fit the arrows */
  height: 40px;
  background: none; /* No background for the thumb itself */
  cursor: pointer;
  position: relative;
}

.slider-thumb {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px; /* Same width as thumb */
  height: 40px; /* Same height as thumb */
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FF5E4D;
  border-radius: 50%;
  transition: left 0.3s ease-out; /* Smooth transition for position */
  pointer-events: none; /* Prevent mouse events on the custom thumb */
  margin: 0px 10px 0px 10px;
}

.slider-thumb svg {
  color: white;
  margin: 0 2px;
  font-size: 32px; /* Increased size for the arrows */
  width: 40px; /* Same width as thumb */
  height: 40px; /* Same height as thumb */
}

.slider-label {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 8px;
  color: #666;
}

.slider-placeholder {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FF5E4D;
  font-size: 14px;
  pointer-events: none;
}

input[type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: 40px;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  background: #ddd;
  border-radius: 20px;
}

input[type="range"]::-moz-range-track {
  width: 100%;
  height: 40px;
  cursor: pointer;
  -moz-transition: background 0.2s;
  transition: background 0.2s;
  background: #ddd;
  border-radius: 20px;
}

.slide-to-unlock .slider::-webkit-slider-runnable-track {
  background: #fff;        /* white track */
  border-radius: 20px;
}

.slide-to-unlock .slider::-moz-range-track {
  background: #fff;        /* white track */
  border-radius: 20px;
}
/* ===== Main Container ===== */
:root {
    --grad-1-start: #ff3364; /* raspberry */
    --grad-1-end:   #ff5e4c; /* coral */
  
    --grad-2-start: #ff4f69; /* warm pink */
    --grad-2-end:   #ff7a45; /* coral-orange */
  
    --grad-3-start: #ff6b55; /* coral-orange */
    --grad-3-end:   #ff9a3d; /* orange */
  
    --grad-4-start: #ff823f; /* orange */
    --grad-4-end:   #ffc145; /* amber */
  }

.view-collaboration {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.view-collaboration .action-btn,
.view-collaboration .stat-icon {
  background-size: 200% 200%;
  transition: background-position 180ms ease, filter 180ms ease;
}
.view-collaboration .action-btn:hover,
.view-collaboration .stat-icon:hover {
  background-position: 100% 0%;
  filter: brightness(1.02);
}

/* === Buttons === */
.view-collaboration .action-btn.qr-btn {
    /* exact palette you provided */
    background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-1-end) 100%);
    width: 100%;
    padding: 0;
    color: #fff;
  }

.view-collaboration .action-btn.contract-btn {
    /* exact palette you provided */
    background: linear-gradient(135deg, #ff4f69 0%, #ff7a45 100%);
    background: linear-gradient(135deg, var(--grad-2-start) 0%, var(--grad-2-end) 100%);
    width: 100%;
    padding: 0;
    color: #fff;
  }
  
  .view-collaboration .action-btn.report-btn {
    /* same family; slightly lighter variant for hierarchy */
    background: linear-gradient(135deg, #ff6b55 0%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-3-start) 0%, var(--grad-3-end) 100%);
    width: 100%;
    padding: 0;
    color: #fff;
  }
  
  /* === Stat icons (harmonized warm set) === */
  .view-collaboration .stat-icon.qr-scans {
    /* bold raspberry → coral */
    background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-1-end) 100%);
    color: #fff;
  }
  
  .view-collaboration .stat-icon.interests {
    /* warm pink → coral-orange */
    background: linear-gradient(135deg, #ff4f69 0%, #ff7a45 100%);
    background: linear-gradient(135deg, var(--grad-2-start) 0%, var(--grad-2-end) 100%);
    color: #fff;
  }
  
  .view-collaboration .stat-icon.contacted {
    /* coral-orange → orange */
    background: linear-gradient(135deg, #ff6b55 0%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-3-start) 0%, var(--grad-3-end) 100%);
    color: #fff;
  }
  
  .view-collaboration .stat-icon.purchases {
    /* orange → amber (friendly success tone without going green) */
    background: linear-gradient(135deg, #ff823f 0%, #ffc145 100%);
    background: linear-gradient(135deg, var(--grad-4-start) 0%, var(--grad-4-end) 100%);
    color: #1b140e; /* better contrast on the lighter amber end */
  }
  
  /* Optional: accessible text shadow for legibility over gradients */
  .view-collaboration .action-btn, .view-collaboration .stat-icon {
    text-shadow: 0 1px 0 rgba(0,0,0,0.12);
  }

.proposal-header {
    background: #232323;
    padding: 2rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.proposal-header-container {
    font-size: 2rem;
    font-weight: 700;
    color: white;
    text-align: center;
}

.performance-tracking-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
    width: 100%;
    box-sizing: border-box;
}

.performance-tracking-container.expired {
    opacity: 0.7;
}

/* ===== Section Titles ===== */
.section-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: #2c3e50;
}

/* ===== Top Info Section (Host Info + Time Left) ===== */
.top-info-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 1.5rem;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

/* Host Info Card */
.host-info-card {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.host-info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
    gap: 1rem;
}

.info-row {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid #e9ecef;
}

.info-row:last-child {
    border-bottom: none;
}

.info-label {
    font-weight: 600;
    color: #6c757d;
    font-size: 0.95rem;
}

.info-value {
    color: #2c3e50;
    font-weight: 500;
    text-align: right;
}

/* Time Left Card */
.time-left-card {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.time-left-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.time-left-display {
    font-size: 2rem;
    font-weight: 700;
    background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: center;
    padding: 1rem;
}

.time-left-display.expired {
    background: linear-gradient(135deg, #ff5e4c 0%, #ff9a76 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ===== Stats + Actions Section ===== */
.stats-actions-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 1.5rem;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

/* Stats Card */
.stats-card {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1.5rem;
    gap: 1.5rem;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: 8px;
    background: #f8f9fa;
    transition: all 0.2s ease;
}

.stat-item:hover {
    background: #e9ecef;
    transform: translateY(-2px);
}

.stat-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: white;
    flex-shrink: 0;
}

/* .stat-icon.qr-scans {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.stat-icon.interests {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.stat-icon.contacted {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.stat-icon.purchases {
    background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
} */

.stat-details {
    flex: 1 1;
}

.stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin: 0;
    line-height: 1.2;
}

.stat-label {
    font-size: 0.9rem;
    color: #6c757d;
    margin: 0.25rem 0 0 0;
}

.stat-revenue {
    font-size: 0.85rem;
    color: #28a745;
    font-weight: 600;
    margin: 0.25rem 0 0 0;
}

/* Actions Card */
.actions-card {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.action-btn {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    color: white;
}

.action-btn svg {
    font-size: 1.5rem;
}

.action-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.action-btn:active {
    transform: translateY(0);
}

/* .action-btn.qr-btn {
    background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
    width: 100%;
    padding: 0px;
}

.action-btn.contract-btn {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    width: 100%;
    padding: 0px;
}

.action-btn.report-btn {
    background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
    width: 100%;
    padding: 0px;
} */

/* ===== Objectives Section ===== */
.objectives-section {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 2rem;
}

.objectives-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    grid-gap: 1.5rem;
    gap: 1.5rem;
    margin-top: 1rem;
}

.objective-card {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.objective-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.objective-card.achieved {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 2px solid #22c55e;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2);
}

.objective-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.objective-label {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.objective-card.achieved .objective-label {
    color: #16a34a;
}

.achievement-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #22c55e;
    color: white;
    border-radius: 50%;
    font-size: 14px;
    font-weight: bold;
    animation: checkBounce 0.5s ease;
}

@keyframes checkBounce {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}

.objective-incentive {
    font-size: 1.2rem;
    font-weight: 700;
    background: linear-gradient(135deg, #ff3364 0%, #ff7a45 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-2-end) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.objective-card.achieved .objective-incentive {
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.objective-progress {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.progress-values {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: #2c3e50;
}

.objective-card.achieved .progress-values {
    color: #16a34a;
}

.current-value {
    font-size: 2rem;
}

.progress-separator {
    color: #6c757d;
    font-weight: 500;
}

.target-value {
    color: #6c757d;
}

.unit-label {
    font-size: 0.9rem;
    color: #6c757d;
    font-weight: 500;
    margin-left: 0.25rem;
}

.progress-bar-container {
    width: 100%;
    height: 12px;
    background: #e9ecef;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

.progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #ff3364 0%, #ff7a45 50%, #ff9a3d 100%);
    background: linear-gradient(90deg, var(--grad-1-start) 0%, var(--grad-2-end) 50%, var(--grad-3-end) 100%);
    border-radius: 6px;
    transition: width 0.5s ease;
}

.objective-card.achieved .progress-bar-fill {
    background: linear-gradient(90deg, #16a34a 0%, #22c55e 50%, #4ade80 100%);
}

.progress-percentage {
    font-size: 0.9rem;
    color: #6c757d;
    font-weight: 500;
    text-align: right;
}

.objective-card.achieved .progress-percentage {
    color: #16a34a;
    font-weight: 600;
}

.objective-achievement-date {
    margin-top: 1rem;
    padding: 0.5rem 1rem;
    background: rgba(34, 197, 94, 0.1);
    border-radius: 6px;
    font-size: 0.85rem;
    color: #16a34a;
    font-weight: 500;
    text-align: center;
}

.payment-status {
    margin-top: 0.75rem;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
}

.payment-status.pending {
    background: rgba(255, 193, 7, 0.15);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.payment-status.paid {
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

/* ===== Products Section ===== */
.products-section {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 2rem;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    grid-gap: 1.5rem;
    gap: 1.5rem;
    margin-top: 1rem;
}

.product-wrapper {
    transition: transform 0.2s ease;
    animation: fadeIn 0.3s ease-out;
}

.product-wrapper:hover {
    transform: translateY(-4px);
}

.no-products-message {
    text-align: center;
    padding: 3rem;
    color: #6c757d;
    grid-column: 1 / -1;
}

.no-products-message p {
    margin: 0.5rem 0;
    font-size: 1.1rem;
}

/* ===== Exhibition Photos Section ===== */
.exhibition-section {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 2rem;
}

.exhibition-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.photo-request-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.request-count {
    font-size: 0.95rem;
    color: #6c757d;
    font-weight: 500;
}

.exhibition-photos-wrapper {
    position: relative;
    margin-bottom: 1.5rem;
}

.exhibition-photos-container {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 1rem 0;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
    cursor: grab;
}

.exhibition-photos-container:active {
    cursor: grabbing;
}

.exhibition-photos-container::-webkit-scrollbar {
    height: 6px;
}

.exhibition-photos-container::-webkit-scrollbar-track {
    background: transparent;
}

.exhibition-photos-container::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

.exhibition-photo-item {
    position: relative;
    flex-shrink: 0;
    width: 200px;
    height: 200px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    background: #f8f9fa;
}

.exhibition-photo-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.exhibition-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.exhibition-photo-item:hover .exhibition-photo {
    transform: scale(1.05);
}

.photo-delete-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(255, 255, 255, 0.95);
    color: #ff5e4c;
    border: 2px solid #ff5e4c;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    padding: 0;
    opacity: 0;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

.exhibition-photo-item:hover .photo-delete-btn {
    opacity: 1;
}

.photo-delete-btn:hover {
    background: #ff5e4c;
    color: white;
    transform: scale(1.1);
}

.scroll-arrow-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.2rem;
    color: #2c3e50;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
    z-index: 10;
}

.scroll-arrow-btn:hover {
    background: white;
    transform: translateY(-50%) scale(1.1);
}

.scroll-arrow-btn.left {
    left: 10px;
}

.scroll-arrow-btn.right {
    right: 10px;
}

.no-photos-message {
    text-align: center;
    padding: 3rem;
    color: #6c757d;
}

.no-photos-message p {
    margin: 0.5rem 0;
    font-size: 1.1rem;
}

.no-photos-message .sub-message {
    font-size: 0.9rem;
    color: #adb5bd;
}

/* Exhibition Actions */
.exhibition-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.request-photo-btn,
.upload-photo-btn {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    color: white;
}

.request-photo-btn:hover:not(:disabled),
.upload-photo-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.request-photo-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.upload-photo-section {
    display: flex;
    justify-content: center;
}

.hidden-file-input {
    display: none;
}

/* ===== Next Steps Section ===== */
.next-steps-section {
    text-align: center;
    padding: 2rem;
}

.next-steps-btn {
    padding: 1rem 2rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: white;
    background: linear-gradient(135deg, #ff5e4c 0%, #ff9a76 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(255, 94, 76, 0.3);
}

.next-steps-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 94, 76, 0.4);
}

/* ===== Responsive Design ===== */
@media (max-width: 1200px) {
    .top-info-section {
        grid-template-columns: 1fr;
    }
    
    .stats-actions-section {
        grid-template-columns: 1fr;
    }
    
    .info-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .performance-tracking-container {
        padding: 1rem;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .objectives-grid {
        grid-template-columns: 1fr;
    }
    
    .products-grid {
        grid-template-columns: 1fr;
    }
    
    .section-title {
        font-size: 1.25rem;
    }
    
    .stat-value {
        font-size: 1.5rem;
    }
    
    .time-left-display {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .proposal-header-container {
        font-size: 1.5rem;
    }
    
    .action-btn {
        font-size: 0.9rem;
        padding: 0.75rem 1rem;
    }
    
    .exhibition-photo-item {
        width: 150px;
        height: 150px;
    }
}

/* ===== Loading States ===== */
.loading-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

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

.stat-item,
.action-btn,
.product-wrapper,
.exhibition-photo-item {
    animation: fadeIn 0.3s ease-out;
}

/* Contract Modal Styles */
.contract-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(35, 35, 35, 0.85);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    animation: fadeIn 0.3s ease-out;
    padding: 20px;
}

.contract-modal-content {
    background: #fff;
    border-radius: 20px;
    width: 95%;
    max-width: 1400px;
    height: 95vh;
    max-height: 95vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
    animation: slideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(40px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.contract-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 28px 40px;
    background: linear-gradient(135deg, #ff3364 0%, #ff7a45 50%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-2-end) 50%, var(--grad-3-end) 100%);
    border-radius: 20px 20px 0 0;
    box-shadow: 0 4px 20px rgba(255, 51, 100, 0.3);
}

.contract-modal-title {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.3px;
}

.contract-modal-close {
    background: rgba(255, 255, 255, 0.15);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    font-size: 36px;
    cursor: pointer;
    color: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1;
    font-weight: 300;
    padding: 0;
}

.contract-modal-close:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.1) rotate(90deg);
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3);
}

.contract-modal-close:active {
    transform: scale(0.95) rotate(90deg);
}

.contract-modal-body {
    flex: 1 1;
    padding: 0;
    overflow: hidden;
    background: #f8f9fa;
    display: flex;
}

.contract-modal-body iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .contract-modal-content {
        width: 98%;
        height: 98vh;
        border-radius: 12px;
    }

    .contract-modal-header {
        padding: 20px 24px;
        border-radius: 12px 12px 0 0;
    }

    .contract-modal-title {
        font-size: 20px;
    }

    .contract-modal-close {
        width: 40px;
        height: 40px;
        font-size: 28px;
    }
}

.product-card {
  width: 100%;
  height: 100%;
  max-width: 250px;
  max-height: 350px;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, filter 0.3s ease;
  position: relative;       /* needed for shimmer pseudo‐element */
}

/* hover "lift" */
.product-card:hover {
  transform: translateY(-2px);
}

/* the inner content wrapper */
.product-card-body {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}

/* Image Container - holds both image and navigation */
.product-image-container {
  width: 100%;
  margin-bottom: 0.75rem;
  min-height: 165px; /* Fixed height: 140px image + ~25px for indicators */
  display: flex;
  flex-direction: column;
}

/* Image Section */
.product-image {
  width: 100%;
  height: 140px; /* adjust as needed */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative; /* for absolute positioned nav buttons */
  border-radius: 8px;
  flex-shrink: 0; /* Prevent image from shrinking */
  background: #ffffff; /* Light background for contained images */
}

.product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 8px;
  transition: opacity 0.3s ease;
  background: #ffffff;
}

/* Navigation Buttons */
.image-nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.6);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  cursor: pointer;
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 2;
  font-size: 18px;
}

.image-nav-button:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: translateY(-50%) scale(1.1);
}

.prev-button {
  left: 8px;
}

.next-right-button {
  right: 8px;
}

/* Show navigation buttons on hover */
.product-image:hover .image-nav-button {
  opacity: 1;
}

/* Image Indicators */
.image-indicators {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
  padding: 0 4px;
  min-height: 16px; /* Reserve space even when empty */
  align-items: center;
}

.indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: all 0.3s ease;
}

.indicator:hover {
  background: rgba(0, 0, 0, 0.6);
  transform: scale(1.2);
}

.indicator.active {
  background: #ff5b5b;
  transform: scale(1.2);
}

/* Hide indicators if only one image - but keep the space */
.image-indicators:has(.indicator:only-child) {
  visibility: hidden; /* Keep space reserved but hide indicators */
}

/* Info Section */
.product-card-info {
  text-align: center;
  margin-bottom: 1rem;
  flex-grow: 1; /* Allow this section to grow */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.product-title {
  font-size: clamp(0.75rem, 0.85rem, 0.9rem); /* Smaller dynamic font size for single line */
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 1.3em; /* Fixed height for 1 line */
  max-height: 1.3em;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  white-space: nowrap; /* Force single line */
}
.product-price {
  font-size: 0.95rem;
  color: #555;
  margin-bottom: 0rem;
  min-height: 1.5rem; /* Fixed height for price */
}

/* Tags */
.product-tags-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  min-height: 2rem; /* Reserve minimum space for tags */
  align-items: flex-start;
}
.product-tag {
  background-color: #eee;
  border-radius: 12px;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  white-space: nowrap;
}

/* Quick Actions Bar - Customer View */
.product-quick-actions {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  margin-top: auto; /* Push to bottom */
  padding: 0.5rem;
  background-color: #f8f8f8;
  border-radius: 12px;
}

.product-quick-actions .quick-action-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background-color: #fff;
  color: #232323;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 18px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  text-decoration: none;
}

.product-quick-actions .quick-action-btn:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.product-quick-actions .quick-action-btn.like-btn.liked {
  background-color: #ffe5e5;
  color: #ff5e4c;
}

.product-quick-actions .quick-action-btn.buy-btn:hover {
  background-color: #10b981;
  color: white;
}

.product-quick-actions .quick-action-btn.notify-btn:hover {
  background-color: #3b82f6;
  color: white;
}

.product-quick-actions .quick-action-btn.info-btn:hover {
  background-color: #8b5cf6;
  color: white;
}

.product-quick-actions .quick-action-btn svg {
  width: 20px;
  height: 20px;
}

/* Original Buttons Section - Business View */
.product-buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: auto; /* Push to bottom */
}

.product-card-info-button,
.product-collaborate-button {
  border-radius: 20px;
  padding: 0.4rem 0.8rem;
  font-size: 0.85rem;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.2s ease;
  flex: 1 1;
  margin: 0 0.25rem;
}

.product-card-info-button {
  background-color: #fff;
  color: #ff5b5b;
  border: 2px solid #ff5b5b;
}

.product-card-info-button:hover {
  background-color: #ff3d3d;
  color: #fff;
}

.product-collaborate-button {
  background-color: #ff5b5b;
  color: #fff;
  border: none;
}

.product-collaborate-button:hover {
  background-color: #ff3d3d;
}

/* Mobile responsiveness for navigation */
@media (max-width: 768px) {
  .image-nav-button {
    width: 28px;
    height: 28px;
    font-size: 16px;
    opacity: 0.7; /* Show by default on mobile */
  }
  
  .prev-button {
    left: 4px;
  }
  
  .next-right-button {
    right: 4px;
  }
  
  .indicator {
    width: 10px;
    height: 10px;
  }
}

/* Touch-friendly indicators on mobile */
@media (max-width: 480px) {
  .image-indicators {
    gap: 8px;
  }
  
  .indicator {
    width: 12px;
    height: 12px;
  }
}

/* --------------------------------------------
   LOADING / SKELETON STATE
   Apply when the outer .product-card has "loading"
--------------------------------------------- */

/* blur & grayscale the whole card */
.product-card.loading {
  filter: blur(4px) grayscale(1);
  pointer-events: none;
}

/* give the skeleton some visible size & background */
.product-card.loading .product-card-body {
  min-height: 200px;       /* match your real content height */
  background-color: #eee;  /* light grey behind the shimmer */
}

/* shimmer overlay */
.product-card.loading::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.6) 50%,
    rgba(255,255,255,0) 100%
  );
  animation: shimmer 1.5s infinite;
}

/* shimmer keyframes */
@keyframes shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.host-explorer-header-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem 1rem;
    background-color: #fff;
    transition: padding 0.3s ease, font-size 0.3s ease;
  }
  
  .host-header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    max-width: 1200px;
  }
  
  .logo-slogan-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1 1;
    align-items: flex-start;
    width: 100%;
  }
  
  .host-logo {
    font-size: 3rem;
    font-weight: bold;
    color: #222;
  }
  
  .highlighted-i {
    color: #ff4e42;
  }
  
  .host-slogan {
    font-size: 1.5rem;
    color: #555;
  }
  
  .highlight {
    color: #ff4e42;
  }
  
  .host-header-image {
    width: 350px;
    max-width: 100%;
    object-fit: contain;
    flex-shrink: 0;
  }
  
  /* Container for the search bar to allow centering in search-only mode */
  .host-searchbar-container {
    width: 100%;
  }
  
  /* ----- Search Only Mode ----- */
  .host-explorer-header-container.search-only {
    padding: 1rem;
  }
  
  .host-explorer-header-container.search-only .host-header-content {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;
  }
  
  .host-explorer-header-container.search-only .logo-slogan-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
  
  /* In search-only mode, we reduce the logo and slogan sizes */
  .host-explorer-header-container.search-only .host-logo {
    font-size: 1.8rem; /* smaller logo */
    display: block;
  }
  
  .host-explorer-header-container.search-only .host-slogan {
    font-size: 1rem; /* smaller slogan */
    display: block;
  }
  
  /* Optionally hide the header image in search mode */
  .host-explorer-header-container.search-only .host-header-image {
    display: none;
  }
  
  .host-explorer-header-container.search-only .host-searchbar-container {
    max-width: 800px;
    margin: 0 auto;
  }
  
/* Container */
.searchable-tag-dropdown {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Custom Dropdown Button */
.custom-dropdown-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
  position: relative;
  min-width: 140px;
  white-space: nowrap;
}


.custom-dropdown-button:hover {
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
}

.custom-dropdown-button:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.custom-dropdown-button.open {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  box-shadow: 0 8px 24px rgba(102, 126, 234, 0.5);
}

.custom-dropdown-button.disabled {
  background: linear-gradient(135deg, #b2bec3 0%, #636e72 100%);
  cursor: not-allowed;
  opacity: 0.6;
}

.custom-dropdown-button.disabled:hover {
  transform: none;
  box-shadow: 0 4px 12px rgba(178, 190, 195, 0.3);
}

.plus-icon {
  font-size: 14px;
}

.caret {
  margin-left: 4px;
  font-size: 12px;
  transition: transform 0.3s ease;
}

.custom-dropdown-button.open .caret {
  transform: rotate(180deg);
}

.tag-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  margin-left: 4px;
}

/* Selected Tags Pills Outside (on the left) */
.selected-tags-outside {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.tag-pill-outside {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #f0f0f0;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.tag-pill-outside:hover {
  background: #e8e8e8;
  border-color: #ccc;
}

.tag-pill-outside .tag-pill-remove {
  background: transparent;
  color: #666;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 10px;
  transition: all 0.2s ease;
  padding: 0;
  border: none;
}

.tag-pill-outside .tag-pill-remove:hover {
  background: #ddd;
  color: #333;
}

/* Selected Tags Pills (old - keep for backwards compatibility) */
.selected-tags-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.tag-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(0, 184, 148, 0.3);
}

.tag-pill-name {
  line-height: 1;
}

.tag-pill-remove {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 10px;
  transition: all 0.2s ease;
  padding: 0;
}

.tag-pill-remove:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

/* Max Selections Message */
.max-selections-message {
  margin-top: 8px;
  padding: 8px 12px;
  background: #ffeaa7;
  border-left: 4px solid #fdcb6e;
  border-radius: 6px;
  font-size: 13px;
  color: #2d3436;
  font-weight: 500;
}

/* Dropdown Menu */
.tag-dropdown-menu {
  position: fixed;
  background: white;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
  z-index: 99999;
  overflow: hidden;
  max-height: 400px;
  display: flex;
  flex-direction: column;
  min-width: 280px;
  max-width: 400px;
}

/* Search Box */
.dropdown-search-box {
  padding: 16px;
  border-bottom: 2px solid #f0f3f5;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f8f9fa;
}

.dropdown-search-box .search-icon {
  font-size: 14px;
  color: #636e72;
  flex-shrink: 0;
}

.dropdown-search-input {
  flex: 1 1;
  border: none;
  background: transparent;
  font-size: 14px;
  color: #2d3436;
  outline: none;
  padding: 0;
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

.dropdown-search-input::placeholder {
  color: #b2bec3;
}

.clear-search-button {
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: #636e72;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 10px;
}

.clear-search-button:hover {
  background: #e9ecef;
  color: #d63031;
}

/* Type-ahead Indicator */
.type-ahead-indicator {
  padding: 12px 16px;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  animation: slideDown 0.2s ease;
  flex-wrap: wrap;
}

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

.type-ahead-indicator .search-icon {
  font-size: 14px;
  color: white;
  flex-shrink: 0;
  animation: pulse 1s infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}

.type-ahead-text {
  font-size: 14px;
  font-weight: 500;
  flex: 1 1;
}

.type-ahead-text strong {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.5px;
}

.type-ahead-hint {
  font-size: 11px;
  opacity: 0.9;
  font-style: italic;
}

/* Tags List */
.dropdown-tags-list {
  overflow-y: auto;
  max-height: 280px;
  padding: 8px;
}

/* Custom Scrollbar */
.dropdown-tags-list::-webkit-scrollbar {
  width: 8px;
}

.dropdown-tags-list::-webkit-scrollbar-track {
  background: #f8f9fa;
  border-radius: 10px;
}

.dropdown-tags-list::-webkit-scrollbar-thumb {
  background: #dfe6e9;
  border-radius: 10px;
}

.dropdown-tags-list::-webkit-scrollbar-thumb:hover {
  background: #b2bec3;
}

/* Tag Item */
.dropdown-tag-item {
  padding: 12px 16px;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.2s ease;
  margin-bottom: 4px;
}

.dropdown-tag-item:hover,
.dropdown-tag-item.highlighted {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  transform: translateX(4px);
}

.dropdown-tag-item.selected {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  font-weight: 600;
  position: relative;
}

.dropdown-tag-item.selected::after {
  content: '✕';
  position: absolute;
  right: 40px;
  font-size: 12px;
  opacity: 0;
  transition: opacity 0.2s ease;
  color: white;
  font-weight: normal;
}

.dropdown-tag-item.selected:hover,
.dropdown-tag-item.selected.highlighted {
  background: linear-gradient(135deg, #d63031 0%, #e74c3c 100%);
}

.dropdown-tag-item.selected:hover::after,
.dropdown-tag-item.selected.highlighted::after {
  opacity: 0.8;
}

.tag-item-name {
  font-size: 14px;
  flex: 1 1;
}

.dropdown-tag-item.selected .tag-item-name {
  color: white;
}

/* Highlight Match */
.highlight-match {
  background: #ffeaa7;
  color: #2d3436;
  padding: 2px 4px;
  border-radius: 4px;
  font-weight: 700;
}

.dropdown-tag-item.selected .highlight-match {
  background: rgba(255, 255, 255, 0.3);
  color: white;
}

.check-icon {
  font-size: 14px;
  color: white;
  flex-shrink: 0;
  margin-left: 12px;
}

/* No Results */
.no-results-message {
  padding: 40px 20px;
  text-align: center;
}

.no-results-message p {
  font-size: 15px;
  font-weight: 600;
  color: #636e72;
  margin: 0 0 8px 0;
}

.no-results-message small {
  font-size: 12px;
  color: #b2bec3;
}

/* Dropdown Footer */
.dropdown-footer {
  padding: 12px 16px;
  border-top: 2px solid #f0f3f5;
  background: #f8f9fa;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #636e72;
  font-weight: 500;
}

.selected-count {
  color: #667eea;
  font-weight: 600;
}

.results-count {
  color: #636e72;
}

.info-text {
  color: #95a5a6;
  font-size: 12px;
  font-style: italic;
}

/* Responsive */
@media (max-width: 768px) {
  .tag-dropdown-menu {
    max-height: 350px;
    min-width: 100%;
  }

  .dropdown-tags-list {
    max-height: 250px;
  }

  .dropdown-tag-item {
    padding: 14px 16px;
  }

  .custom-dropdown-button {
    width: 100%;
    justify-content: center;
  }

  .selected-tags-pills {
    margin-top: 16px;
  }
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

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


.search-bar-explorer-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: auto;
    text-align: center; /* Center-align the title for better readability */
    width: 100%;
}

.search-bar-explorer-header h2 {
    width: 100%;
    font-size: 2rem;
    margin-bottom: 1rem;
    color: #232323;
    font-weight: 600;
}

/* Mobile Search Trigger Button (for landing page) */
.mobile-search-trigger {
    display: none; /* Hidden on desktop */
    width: 100%;
    padding: 14px 20px;
    background: white;
    border: 2px solid #FF5E4D;
    border-radius: 50px;
    font-size: 16px;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mobile-search-trigger:hover {
    background: #FFF5F4;
    border-color: #FF3D00;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 94, 77, 0.2);
}

.mobile-search-trigger:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mobile-search-trigger .search-icon-mobile {
    font-size: 18px;
    color: #FF5E4D;
}

.mobile-search-trigger span {
    font-weight: 500;
}

.search-bar {
    display: flex;
    justify-content: center;
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 40px;
    box-shadow: 0px -2px 4px rgba(0, 0, 0, 0.05), 0px 4px 8px rgba(0, 0, 0, 0.1);
    margin: 20px 0;
    width: 100%; /* Increase width to 80% for better visibility */
    max-width: 1000px; /* Cap the max width on larger screens */
}

.search-bar form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.search-bar input,
.search-bar select {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ffffff;
    border-radius: 0px;
    flex: 1 1 150px; /* Allows the inputs to grow and shrink as needed */
    min-width: 150px; /* Minimum width for readability */
    box-sizing: border-box;
}

.search-bar input:not(:last-child):not(:nth-last-child(2)),
.search-bar select:not(:last-child):not(:nth-last-child(2)) {
    border-right: 1px solid #FF5E4D;
}

.search-bar input:hover,
.search-bar select:hover {
    border: 1px solid #ffffff;
}

.search-bar input:active,
.search-bar select:active {
    border: 1px solid #ffffff !important;
    border-right: 1px solid #FF5E4D;
}

/* Mobile Adjustments for NON-COMPACT mode (initial landing page) */
@media (max-width: 768px) {
    .search-bar-explorer-header:not(.compact-mode) h2 {
        font-size: 1.5rem;
        margin-bottom: 0.75rem;
        padding: 0 1rem;
    }

    .search-bar-explorer-header:not(.compact-mode) .search-bar {
        width: 95%;
        height: auto;
        min-height: 56px;
        overflow: visible;
        padding: 0;
        margin: 15px 0;
        border-radius: 50px;
        background: transparent;
        box-shadow: none;
    }

    /* Show mobile search trigger button on mobile */
    .search-bar-explorer-header:not(.compact-mode) .mobile-search-trigger {
        display: flex;
    }

    /* Hide desktop form on mobile in non-compact mode */
    .search-bar-explorer-header:not(.compact-mode) .desktop-only {
        display: none;
    }
}

/* Very Small Screens (phones) */
@media (max-width: 480px) {
    .search-bar-explorer-header:not(.compact-mode) h2 {
        font-size: 1.25rem;
        margin-bottom: 0.5rem;
        padding: 0 0.75rem;
    }

    .search-bar-explorer-header:not(.compact-mode) .search-bar {
        width: 100%;
        padding: 0;
        margin: 10px 0;
    }

    .search-bar-explorer-header:not(.compact-mode) .mobile-search-trigger {
        padding: 12px 18px;
        font-size: 15px;
    }

    .search-bar-explorer-header:not(.compact-mode) .mobile-search-trigger .search-icon-mobile {
        font-size: 16px;
    }
}

/* Compact mode styles - use big search bar style but smaller */
.search-bar-explorer-header.compact-mode {
  padding: 0.25rem 0;
}

.search-bar-explorer-header.compact-mode h2 {
  display: none; /* Hide title in compact mode */
}

.search-bar-explorer-header.compact-mode .search-bar {
  /* Use the big search bar styling but smaller */
  display: flex;
  justify-content: center;
  padding: 6px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 30px;
  box-shadow: 0px -2px 4px rgba(0, 0, 0, 0.05), 0px 4px 8px rgba(0, 0, 0, 0.1);
  margin: 10px 0;
  width: 100%;
  max-width: 800px;
}

.search-bar-explorer-header.compact-mode .search-bar form {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

.search-bar-explorer-header.compact-mode .search-bar input,
.search-bar-explorer-header.compact-mode .search-bar select {
  /* Use the big search bar input styling but smaller */
  padding: 8px;
  font-size: 14px;
  border: 1px solid #ffffff;
  border-radius: 0px;
  flex: 1 1 120px;
  min-width: 120px;
  box-sizing: border-box;
}

.search-bar-explorer-header.compact-mode .search-bar input:not(:last-child):not(:nth-last-child(2)),
.search-bar-explorer-header.compact-mode .search-bar select:not(:last-child):not(:nth-last-child(2)) {
  border-right: 1px solid #FF5E4D;
}

.search-bar-explorer-header.compact-mode .search-bar input:hover,
.search-bar-explorer-header.compact-mode .search-bar select:hover {
  border: 1px solid #ffffff;
}

.search-bar-explorer-header.compact-mode .search-bar input:active,
.search-bar-explorer-header.compact-mode .search-bar select:active {
  border: 1px solid #ffffff !important;
  border-right: 1px solid #FF5E4D;
}

.search-bar-explorer-header.compact-mode .btn-submit {
  padding: 8px 12px;
  font-size: 14px;
  background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
  border: none;
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.search-bar-explorer-header.compact-mode .btn-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.3);
}

/* Header adjustments for compact search */
.tenant-explorer-header-container.search-only {
  padding: 1rem 0;
}

.tenant-explorer-header-container.search-only .searchbar-container {
  max-width: 800px;
  margin: 0 auto;
}

/* Compact mode enhancements */
.search-bar-explorer-header.compact-mode .search-bar form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  align-items: center;
  max-width: 600px;
  margin: 0 5px;
}

.search-bar-explorer-header.compact-mode .search-bar input,
.search-bar-explorer-header.compact-mode .search-bar select {
  padding: 0.6rem 0.8rem;
  font-size: 0.9rem;
  min-width: 140px;
  transition: all 0.2s ease;
}

.search-bar-explorer-header.compact-mode .search-bar input:focus,
.search-bar-explorer-header.compact-mode .search-bar select:focus {
  border-color: var(--accent-red);
  box-shadow: 0 0 0 3px rgba(255, 51, 100, 0.1);
  outline: none;
}


.search-bar-explorer-header.compact-mode .btn-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.3);
}

/* Responsive compact mode */
@media (max-width: 768px) {
  .search-bar-explorer-header.compact-mode .search-bar {
    width: 100%;
    height: auto;
    min-height: 44px;
    overflow: visible;
  }

  .search-bar-explorer-header.compact-mode .search-bar form {
    gap: 0.5rem;
    flex-wrap: nowrap;
    width: 100%;
    display: flex;
    align-items: stretch;
  }

  .search-bar-explorer-header.compact-mode .search-bar input {
    flex: 1 1 auto;
    font-size: 16px; /* Prevent iOS zoom */
    padding: 10px 12px;
    height: 44px;
    min-width: 0;
    border-radius: 8px 0 0 8px;
  }

  .search-bar-explorer-header.compact-mode .btn-filter {
    display: flex !important;
    flex: 0 0 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border-radius: 0;
  }

  .search-bar-explorer-header.compact-mode .btn-submit {
    display: flex !important;
    flex: 0 0 auto;
    min-width: 80px;
    height: 44px;
    padding: 0 14px;
    font-size: 14px;
    gap: 4px;
    align-items: center;
    justify-content: center;
    border-radius: 0 8px 8px 0;
  }

  .search-bar-explorer-header.compact-mode .btn-submit .search-icon {
    font-size: 16px;
  }
}

.btn-filter {
  padding: 8px 12px;
  font-size: 18px;
  background: white;
  border: 2px solid #FF5E4D;
  color: #FF5E4D;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex; /* Visible on all screen sizes */
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  position: relative;
}

.btn-filter:hover {
  background: #FF5E4D;
  color: white;
  transform: scale(1.05);
}

.btn-filter:active {
  transform: scale(0.95);
}

.filter-count {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #FF5E4D;
  color: white;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.btn-filter:hover .filter-count {
  background: white;
  color: #FF5E4D;
}

/* Additional mobile optimizations */
@media (max-width: 480px) {
  .search-bar-explorer-header.compact-mode .search-bar form {
    gap: 0.25rem;
  }

  .search-bar-explorer-header.compact-mode .search-bar input {
    font-size: 14px;
    padding: 8px 10px;
  }

  .search-bar-explorer-header.compact-mode .btn-submit {
    min-width: 70px;
    font-size: 13px;
    padding: 0 10px;
  }

  .search-bar-explorer-header.compact-mode .btn-filter {
    min-width: 40px;
  }
}

/* Tag Dropdown Wrapper Styles */
.search-bar-tag-dropdown-wrapper {
  display: flex;
  align-items: center;
  flex: 1 1 150px;
  min-width: 150px;
  box-sizing: border-box;
}

.search-bar-tag-dropdown-wrapper .searchable-tag-dropdown {
  width: 100%;
}

.search-bar-tag-dropdown-wrapper .custom-dropdown-button {
  width: 100%;
  min-width: 150px;
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ffffff;
  border-radius: 0px;
  color: #232323;
  background: white;
  text-align: left;
  justify-content: flex-start;
  box-sizing: border-box;
  box-shadow: none;
  font-weight: inherit;
}

.search-bar-tag-dropdown-wrapper .custom-dropdown-button:hover {
  border: 1px solid #ffffff;
  box-shadow: none;
  transform: none;
}

/* DatePicker wrapper styles */
.search-bar-datepicker-wrapper {
  display: flex;
  align-items: center;
  flex: 1 1 150px;
  min-width: 150px;
  box-sizing: border-box;
}

.search-bar-datepicker-wrapper .react-datepicker-wrapper {
  width: 100%;
}

.search-bar-datepicker-wrapper .react-datepicker__input-container input {
  width: 100%;
  font-size: 16px;
  border: none;
  box-shadow: none;
  padding: 0px;
  border-right: 1px solid #FF5E4D;
  border-radius: 0px;
  background: white;
  cursor: pointer;
  font-weight: inherit;
}

.search-bar-datepicker-wrapper .react-datepicker__input-container input:hover {
  border: 1px solid #ffffff;
  border-right: 1px solid #FF5E4D;
}

.search-bar-explorer-header.compact-mode .search-bar-datepicker-wrapper {
  flex: 1 1 120px;
  min-width: 120px;
}

.search-bar-explorer-header.compact-mode .search-bar-datepicker-wrapper .react-datepicker__input-container input {
  padding: 8px;
  font-size: 14px;
}

/* Compact mode adjustments */
.search-bar-explorer-header.compact-mode .search-bar-tag-dropdown-wrapper {
  flex: 1 1 120px;
  min-width: 120px;
}

.search-bar-explorer-header.compact-mode .search-bar-tag-dropdown-wrapper .custom-dropdown-button {
  padding: 8px;
  font-size: 14px;
  min-width: 120px;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .search-bar-tag-dropdown-wrapper {
    flex: 1 1 70px;
    min-width: 70px;
  }

  .search-bar-tag-dropdown-wrapper .custom-dropdown-button {
    flex: 1 1 70px;
    font-size: 12px;
    padding: 6px;
    height: 30px;
    min-width: 70px;
  }

  .search-bar-datepicker-wrapper {
    flex: 1 1 70px;
    min-width: 70px;
  }

  .search-bar-datepicker-wrapper .react-datepicker__input-container input {
    flex: 1 1 70px;
    font-size: 12px;
    padding: 6px;
    height: 30px;
  }
}

@media (max-width: 480px) {
  .search-bar-tag-dropdown-wrapper {
    flex: 1 1 50px;
    min-width: 50px;
  }

  .search-bar-tag-dropdown-wrapper .custom-dropdown-button {
    flex: 1 1 50px;
    font-size: 10px;
    padding: 4px;
    height: 28px;
    min-width: 50px;
  }

  .search-bar-datepicker-wrapper {
    flex: 1 1 50px;
    min-width: 50px;
  }

  .search-bar-datepicker-wrapper .react-datepicker__input-container input {
    flex: 1 1 50px;
    font-size: 10px;
    padding: 4px;
    height: 28px;
  }
}
/* StandListing.css */
.stand-listing-container {
    position: relative;
    width: 100%;
    margin: 2rem 0;
  }
  
  .scroll-wrapper {
    position: relative;
    padding: 0.5rem 0;
  }
  
  .stand-pop-container {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 15px;
    margin-bottom: 1rem;
  }
  
  .stand-card-container {
    flex: 0 0 auto;
    width: 250px; /* adjust as needed */
  }
  
  .scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .scroll-arrow.left {
    left: 0;
  }
  
  .scroll-arrow.right {
    right: 0;
  }
  
.stand-card {
    width: 100%;
    height: 100%;
    max-width: 250px;
    max-height: 350px;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease;
    padding: 1rem;
    justify-content: space-between;
  }
  
  .stand-card:hover {
    transform: translateY(-2px);
  }
  
  /* Top bar with two orange lines around the shop name */
  .stand-card-topbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
  }
  
  /* The orange lines */
  .orange-line {
    background-color: #ff5b5b;
    height: 2px;
    width: 30px; /* adjust as desired */
  }
  
  .shop-name {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 0;
  }
  
  /* Stand image section */
  .stand-image {
    width: 100%;
    height: 140px; /* adjust as needed */
    overflow: hidden;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .stand-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
  }
  
  /* Stand title below the image */
  .stand-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0.5rem 0 0.25rem 0;
    text-align: center;
  }
  
  /* City (left) and price/month (right) in one row */
  .stand-location-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: #555;
  }
  
  .stand-city {
    font-weight: 500;
  }
  
  .stand-price {
    font-weight: 600;
  }
  
  /* Buttons at the bottom */
  .stand-buttons {
    display: flex;
    justify-content: space-between;
  }

  .stand-info-button {
    background-color: #ffffff;
    color: #ff5b5b;
    border: 2px solid #ff5b5b;
    border-radius: 20px;
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: background-color 0.2s ease;
    flex: 1 1;
    margin: 0 0.25rem;
  }
  
  .stand-collaborate-button {
    background-color: #ff5b5b;
    color: #fff;
    border: none;
    border-radius: 20px;
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: background-color 0.2s ease;
    flex: 1 1;
    margin: 0 0.25rem;
  }

  .stand-info-button:hover {
    background-color: #ff3d3d;
    color: #ffffff;
  }
  
  .stand-collaborate-button:hover {
    background-color: #ff3d3d;
  }
  
.properties-listing-container {
    width: 100%;
    position: relative;
    margin-top: 1rem;
    padding: 0 1rem;
}

.pages-wrapper {
    overflow: hidden;
    width: 100%;
}

.pages-container {
    display: flex;
    transition: transform 0.5s ease; /* Smooth slide transition */
    width: 100%;
}

.properties-page {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 columns per row */
    grid-gap: 1rem;
    gap: 1rem;
    width: 100%;
    flex-shrink: 0;
    padding: 15px;
}

.property-card-container {
    width: 100%;
    min-height: 235px;
    max-width: 600px;
}

.pagination-controls {
    display: flex;
    margin-top: 1rem;
}

.pagination-controls.justify-end {
justify-content: flex-end;
}

.pagination-controls.justify-between {
justify-content: space-between;
}

.pagination-button {
    background: none; /* no background */
    border: none;
    color: #000;  /* black text/icon */
    font-size: 1.5rem;
    padding: 0.5rem;
    cursor: pointer;
    transition: color 0.2s ease;
}

.pagination-button:hover {
    color: #333;
}

.property-card {
  display: flex;
  width: 100%;
  height: 200px;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  margin-bottom: 1rem;
  position: relative;
  transition: transform 0.2s ease, filter 0.3s ease;
}

.property-card:hover {
  transform: translateY(-2px);
}

/* Left side: header image container */
.property-card-left {
  width: 220px;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

/* Header image */
.property-header-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

/* Right side: property information */
.property-card-right {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  overflow: hidden;
}

/* Top row: shop name and buttons */
.property-card-toprow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.property-name {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  flex: 1 1;
  margin-right: 1rem;
}

.property-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* Info/Collaborate buttons */
.property-info-button,
.property-collaborate-button {
  background-color: #ff5b5b;
  color: #fff;
  border: none;
  border-radius: 20px;
  padding: 0.4rem 0.8rem;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
  white-space: nowrap;
}

.property-info-button:hover,
.property-collaborate-button:hover {
  background-color: #ff3d3d;
}

/* City text */
.property-city {
  font-size: 0.95rem;
  color: #555;
  margin-bottom: 0.75rem;
  text-align: left;
}

/* Stands slider container */
.picture-info-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-grow: 1;
}

/* Host stand display */
.host-stand-display {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  height: 70%;
  margin: 5px 0;
  justify-content: center;
  gap: 10px;
}

/* Each stand container in slider */
.host-stand-container {
  display: flex;
  align-items: center;
  width: 50%;
  background-color: #f9f9f9;
  padding: 2px;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  margin: 5px;
  flex-direction: row;
  height: 80%;
  min-width: 120px;
}

/* Stand image container as circle */
.host-stand-image-container {
  width: 40%;
  height: 100%;
  max-height: 50px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

/* Stand image */
.host-stand-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Stand details */
.host-stand-details {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

.host-stand-title {
  font-size: 0.75rem;
  font-weight: bold;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.host-stand-price {
  font-size: 0.9rem;
  color: #666;
  margin: 0;
}

/* Arrow buttons for stands slider - overlapping */
.host-arrow-button {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  opacity: 0.8;
}

.host-arrow-button:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transform: translateY(-50%) scale(1.1);
}

.host-arrow-button.left {
  left: 5px;
}

.host-arrow-button.right {
  right: 5px;
}

.host-arrow-button svg {
  color: #ff5b5b !important;
}

/* Stand tags */
.standtags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}

.standtag {
  background-color: #eee;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 0.8rem;
  white-space: nowrap;
}

/* Property tags */
.property-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  flex-grow: 1;
  align-items: flex-end;
}

.property-tag {
  background-color: #eee;
  border-radius: 12px;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  color: #333;
}

/* Selected state */
.property-card.selected {
  border: 2px solid #000;
}

/* Shimmer animation for loading */
@keyframes shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Responsive Design */

/* Large screens (desktops) */
@media (min-width: 1200px) {
  .property-card {
    height: 220px;
  }
  
  .property-card-left {
    width: 240px;
  }
  
  .property-name {
    font-size: 1.2rem;
  }
  
  .host-stand-container {
    min-width: 140px;
  }
}

/* Medium screens (tablets landscape) */
@media (max-width: 1199px) and (min-width: 992px) {
  .property-card {
    height: 200px;
  }
  
  .property-card-left {
    width: 200px;
  }
  
  .property-name {
    font-size: 1.1rem;
  }
  
  .host-stand-container {
    min-width: 120px;
  }
}

/* Small tablets and large phones */
@media (max-width: 991px) and (min-width: 768px) {
  .property-card {
    height: 180px;
  }
  
  .property-card-left {
    width: 180px;
    padding: 8px;
  }
  
  .property-card-right {
    padding: 0.8rem;
  }
  
  .property-name {
    font-size: 1rem;
    margin-right: 0.5rem;
  }
  
  .property-info-button,
  .property-collaborate-button {
    padding: 0.3rem 0.6rem;
    font-size: 0.8rem;
  }
  
  .property-city {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
  }
  
  .host-stand-container {
    min-width: 100px;
    margin: 3px;
  }
  
  .host-stand-title {
    font-size: 0.7rem;
  }
  
  .host-stand-price {
    font-size: 0.8rem;
  }
  
  .host-arrow-button {
    width: 35px;
    height: 35px;
  }
  
  .host-arrow-button svg {
    font-size: 20px !important;
  }
  
  .standtag {
    font-size: 0.75rem;
    padding: 4px 8px;
  }
}

/* Mobile phones */
@media (max-width: 767px) {
  .property-card {
    flex-direction: column;
    height: auto;
    min-height: 340px;
    margin-bottom: 1.5rem;
  }
  
  .property-card-left {
    width: 100%;
    height: 150px;
    padding: 10px;
  }
  
  .property-card-right {
    padding: 1rem;
    flex: 1 1;
  }
  
  .property-card-toprow {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
  }
  
  .property-name {
    font-size: 1rem;
    margin-right: 0.5rem;
    flex: 1 1;
    min-width: 150px;
  }
  
  .property-actions {
    display: flex;
    gap: 0.4rem;
  }
  
  .property-info-button,
  .property-collaborate-button {
    padding: 0.3rem 0.6rem;
    font-size: 0.75rem;
  }
  
  .property-city {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
  }
  
  .host-stand-display {
    height: 90px;
    min-height: 90px;
    justify-content: center;
    gap: 5px;
  }
  
  .host-stand-container {
    width: 45%;
    min-width: 110px;
    max-width: 160px;
    margin: 0;
    height: 75px;
  }
  
  .host-stand-image-container {
    max-height: 45px;
    width: 45px;
  }
  
  .host-arrow-button {
    width: 32px;
    height: 32px;
  }
  
  .host-arrow-button.left {
    left: 2px;
  }
  
  .host-arrow-button.right {
    right: 2px;
  }
  
  .host-arrow-button svg {
    font-size: 18px !important;
  }
  
  .standtags-container {
    gap: 4px;
    margin-top: 0.5rem;
  }
  
  .standtag {
    font-size: 0.7rem;
    padding: 3px 6px;
  }
}

/* Very small phones */
@media (max-width: 480px) {
  .property-card {
    margin-bottom: 1rem;
    min-height: 320px;
  }
  
  .property-card-left {
    height: 120px;
  }
  
  .property-card-right {
    padding: 0.75rem;
  }
  
  .property-card-toprow {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .property-name {
    font-size: 0.95rem;
    margin-right: 0;
    margin-bottom: 0.3rem;
  }
  
  .property-actions {
    align-self: stretch;
    justify-content: flex-start;
    gap: 0.3rem;
  }
  
  .property-info-button,
  .property-collaborate-button {
    padding: 0.25rem 0.5rem;
    font-size: 0.7rem;
    flex: 0 0 auto;
  }
  
  .property-city {
    font-size: 0.8rem;
  }
  
  .host-stand-display {
    height: 80px;
    min-height: 80px;
    gap: 3px;
  }
  
  .host-stand-container {
    width: 47%;
    min-width: 100px;
    max-width: 140px;
    height: 65px;
    padding: 3px;
  }
  
  .host-stand-image-container {
    max-height: 40px;
    width: 40px;
    margin-right: 6px;
  }
  
  .host-arrow-button {
    width: 28px;
    height: 28px;
  }
  
  .host-arrow-button svg {
    font-size: 16px !important;
  }
  
  .host-stand-title {
    font-size: 0.65rem;
  }
  
  .host-stand-price {
    font-size: 0.7rem;
  }
  
  .standtags-container {
    margin-top: 0.4rem;
  }
  
  .standtag {
    font-size: 0.65rem;
    padding: 2px 5px;
  }
}

/* Extra small screens */
@media (max-width: 360px) {
  .property-card {
    min-height: 300px;
  }
  
  .property-card-left {
    height: 100px;
  }
  
  .property-card-right {
    padding: 0.6rem;
  }
  
  .property-name {
    font-size: 0.9rem;
  }
  
  .property-info-button,
  .property-collaborate-button {
    padding: 0.2rem 0.4rem;
    font-size: 0.65rem;
  }
  
  .host-stand-display {
    height: 70px;
    min-height: 70px;
  }
  
  .host-stand-container {
    width: 48%;
    min-width: 90px;
    height: 60px;
  }
  
  .host-stand-image-container {
    max-height: 35px;
    width: 35px;
  }
  
  .host-arrow-button {
    width: 26px;
    height: 26px;
  }
  
  .host-arrow-button svg {
    font-size: 14px !important;
  }
}
/* Basics */
.mapboxgl-ctrl-geocoder,
.mapboxgl-ctrl-geocoder *,
.mapboxgl-ctrl-geocoder *:after,
.mapboxgl-ctrl-geocoder *:before {
  box-sizing: border-box;
}

.mapboxgl-ctrl-geocoder {
  font-size: 18px;
  line-height: 24px;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, Helvetica, sans-serif;
  position: relative;
  background-color: #fff;
  width: 100%;
  min-width: 240px;
  z-index: 1;
  border-radius: 4px;
  transition: width .25s, min-width .25s;
}

.mapboxgl-ctrl-geocoder--input {
  font: inherit;
  width: 100%;
  border: 0;
  background-color: transparent;
  margin: 0;
  height: 50px;
  color: #404040; /* fallback */
  color: rgba(0, 0, 0, 0.75);
  padding: 6px 45px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.mapboxgl-ctrl-geocoder--input::-ms-clear {
  display: none; /* hide input clear button in IE */
}

.mapboxgl-ctrl-geocoder--input:focus {
  color: #404040; /* fallback */
  color: rgba(0, 0, 0, 0.75);
  outline: 0;
  box-shadow: none;
  outline: thin dotted;
}

.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right > * {
  z-index: 2;
  position: absolute;
  right: 8px;
  top: 7px;
  display: none;
}

.mapboxgl-ctrl-geocoder,
.mapboxgl-ctrl-geocoder .suggestions {
  box-shadow: 0 0 10px 2px rgba(0,0,0,.1);
}

/* Collapsed */
.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {
  width: 50px;
  min-width: 50px;
  transition: width .25s, min-width .25s;
}

/* Suggestions */
.mapboxgl-ctrl-geocoder .suggestions {
  background-color: #fff;
  border-radius: 4px;
  left: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  top: 110%; /* fallback */
  top: calc(100% + 6px);
  z-index: 1000;
  overflow: hidden;
  font-size: 15px;
}

.mapboxgl-ctrl-bottom-left .suggestions,
.mapboxgl-ctrl-bottom-right .suggestions {
  top: auto;
  bottom: 100%;
}

.mapboxgl-ctrl-geocoder .suggestions > li > a {
  cursor: default;
  display: block;
  padding: 6px 12px;
  color: #404040;
}

.mapboxgl-ctrl-geocoder .suggestions > .active > a,
.mapboxgl-ctrl-geocoder .suggestions > li > a:hover {
  color: #404040;
  background-color: #f3f3f3;
  text-decoration: none;
  cursor: pointer;
}

.mapboxgl-ctrl-geocoder--suggestion-title {
  font-weight: bold;
}

.mapboxgl-ctrl-geocoder--suggestion-title,
.mapboxgl-ctrl-geocoder--suggestion-address {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/* Icons */
.mapboxgl-ctrl-geocoder--icon {
  display: inline-block;
  vertical-align: middle;
  speak: none;
  fill: #757575;
  top: 15px;
}

.mapboxgl-ctrl-geocoder--icon-search {
  position: absolute;
  top: 13px;
  left: 12px;
  width: 23px;
  height: 23px;
}

.mapboxgl-ctrl-geocoder--button {
  padding: 0;
  margin: 0;
  border: none;
  cursor: pointer;
  background: #fff;
  line-height: 1;
}

.mapboxgl-ctrl-geocoder--icon-close {
  width: 20px;
  height: 20px;
  margin-top: 8px;
  margin-right: 3px;
}

.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close {
  fill: #909090;
}

.mapboxgl-ctrl-geocoder--icon-geolocate {
  width: 22px;
  height: 22px;
  margin-top: 6px;
  margin-right: 3px;
}

.mapboxgl-ctrl-geocoder--icon-loading {
  width: 26px;
  height: 26px;
  margin-top: 5px;
  margin-right: 0px;
  animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);
}

.mapboxgl-ctrl-geocoder--powered-by {
  display: block;
  float: left;
  padding: 6px 12px;
  padding-bottom: 9px;
  font-size: 13px;
}

.mapboxgl-ctrl-geocoder--powered-by a {
  color: #909090;
}

.mapboxgl-ctrl-geocoder--powered-by a:not(:hover) {
  text-decoration: none;  
}

/* Animation */

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

/* Media queries*/
@media screen and (min-width: 640px) {

  .mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {
    width: 36px;
    min-width: 36px;
  }

  .mapboxgl-ctrl-geocoder {
    width: 33.3333%;
    font-size: 15px;
    line-height: 20px;
    max-width: 360px;
  }
  .mapboxgl-ctrl-geocoder .suggestions {
    font-size: 13px;
  }

  .mapboxgl-ctrl-geocoder--icon {
    top: 8px;
  }

  .mapboxgl-ctrl-geocoder--icon-close {
    width: 16px;
    height: 16px;
    margin-top: 3px;
    margin-right: 0;
  }

  .mapboxgl-ctrl-geocoder--icon-geolocate {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    margin-right: 0;
  }

  .mapboxgl-ctrl-geocoder--icon-search {
    left: 7px;
    width: 20px;
    height: 20px;
  }

  .mapboxgl-ctrl-geocoder--input {
    height: 36px;
    padding: 6px 35px;
  }

  .mapboxgl-ctrl-geocoder--icon-loading {
    width: 26px;
    height: 26px;
    margin-top: -2px;
    margin-right: -5px;
  }

  .mapbox-gl-geocoder--error{
    color:#909090;
    padding: 6px 12px;
    font-size: 16px;
    text-align: center;
  }

  .mapboxgl-ctrl-geocoder--powered-by {
    font-size: 11px !important;
  }
}

.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translateX(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translateX(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent;background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z%27/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z%27/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10.5 14l4-8 4 8h-8z%27/%3E%3Cpath id=%27south%27 d=%27M10.5 16l4 8 4-8h-8z%27 fill=%27%23ccc%27/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10.5 14l4-8 4 8h-8z%27/%3E%3Cpath id=%27south%27 d=%27M10.5 16l4 8 4-8h-8z%27 fill=%27%23999%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10.5 14l4-8 4 8h-8z%27/%3E%3Cpath id=%27south%27 d=%27M10.5 16l4 8 4-8h-8z%27 fill=%27%23ccc%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23333%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23aaa%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 fill=%27%23f00%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e58978%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e54e33%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23fff%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23999%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 fill=%27%23f00%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e58978%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%2333b5e5%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23e54e33%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27 display=%27none%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23000%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 display=%27none%27/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27%23666%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z%27/%3E%3Ccircle id=%27dot%27 cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath id=%27stroke%27 d=%27M14 5l1 1-9 9-1-1 9-9z%27 fill=%27%23f00%27/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 fill-rule=%27evenodd%27 viewBox=%270 0 88 23%27%3E%3Cdefs%3E%3Cpath id=%27logo%27 d=%27M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z%27/%3E%3Cpath id=%27text%27 d=%27M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z%27/%3E%3C/defs%3E%3Cmask id=%27clip%27%3E%3Crect x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27 fill=%27white%27/%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/mask%3E%3Cg id=%27outline%27 opacity=%270.3%27 stroke=%27%23000%27 stroke-width=%273%27%3E%3Ccircle mask=%27url%28%23clip%29%27 cx=%2711.5%27 cy=%2711.5%27 r=%279.25%27/%3E%3Cuse xlink:href=%27%23text%27 mask=%27url%28%23clip%29%27/%3E%3C/g%3E%3Cg id=%27fill%27 opacity=%270.9%27 fill=%27%23fff%27%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 fill-rule=%27evenodd%27 viewBox=%270 0 88 23%27%3E%3Cdefs%3E%3Cpath id=%27logo%27 d=%27M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z%27/%3E%3Cpath id=%27text%27 d=%27M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z%27/%3E%3C/defs%3E%3Cmask id=%27clip%27%3E%3Crect x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27 fill=%27white%27/%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/mask%3E%3Cg id=%27outline%27 opacity=%271%27 stroke=%27%23000%27 stroke-width=%273%27%3E%3Ccircle mask=%27url%28%23clip%29%27 cx=%2711.5%27 cy=%2711.5%27 r=%279.25%27/%3E%3Cuse xlink:href=%27%23text%27 mask=%27url%28%23clip%29%27/%3E%3C/g%3E%3Cg id=%27fill%27 opacity=%271%27 fill=%27%23fff%27%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 fill-rule=%27evenodd%27 viewBox=%270 0 88 23%27%3E%3Cdefs%3E%3Cpath id=%27logo%27 d=%27M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z%27/%3E%3Cpath id=%27text%27 d=%27M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z%27/%3E%3C/defs%3E%3Cmask id=%27clip%27%3E%3Crect x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27 fill=%27white%27/%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/mask%3E%3Cg id=%27outline%27 opacity=%271%27 stroke=%27%23fff%27 stroke-width=%273%27 fill=%27%23fff%27%3E%3Ccircle mask=%27url%28%23clip%29%27 cx=%2711.5%27 cy=%2711.5%27 r=%279.25%27/%3E%3Cuse xlink:href=%27%23text%27 mask=%27url%28%23clip%29%27/%3E%3C/g%3E%3Cg id=%27fill%27 opacity=%271%27 fill=%27%23000%27%3E%3Cuse xlink:href=%27%23logo%27/%3E%3Cuse xlink:href=%27%23text%27/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill-rule=%27evenodd%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill-rule=%27evenodd%27 fill=%27%23fff%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27 fill-rule=%27evenodd%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:12px;height:auto;line-height:1.5;margin:2px;padding:5px 10px;width:auto}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f0f0f0}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4264fb;border-color:#4264fb;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#3151d9}
/* Custom Price Marker Styles - Price Only */
.custom-price-marker {
    cursor: pointer;
}

.price-marker-price-only {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
    white-space: nowrap;
    display: inline-block;
    transition: box-shadow 0.2s ease;
}

.custom-price-marker:hover .price-marker-price-only {
    box-shadow: 0 6px 16px rgba(255, 107, 107, 0.6);
}

.custom-price-marker.active .price-marker-price-only {
    background: linear-gradient(135deg, #ee5a24 0%, #d63031 100%);
    box-shadow: 0 8px 20px rgba(255, 107, 107, 0.7);
}

/* Popup Styles */
.property-detail-popup .mapboxgl-popup-content {
    padding: 0;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    max-width: 350px;
    overflow: hidden;
}

.property-popup-container {
    width: 100%;
    max-width: 350px;
}

.popup-page {
    padding: 12px;
}

/* Images Page */
.popup-images-page {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.popup-images-container {
    position: relative;
    width: 100%;
    height: 200px;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
}

.popup-image-slide {
    display: none;
    width: 100%;
    height: 100%;
}

.popup-image-slide.active {
    display: block;
}

.popup-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.popup-image-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    padding: 10px;
    color: white;
}

.popup-image-info h4 {
    margin: 0 0 2px 0;
    font-size: 13px;
    font-weight: 600;
}

.popup-price {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #ff6b6b;
}

.popup-image-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.popup-image-nav {
    background: #f3f4f6;
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    transition: all 0.2s ease;
}

.popup-image-nav:hover {
    background: #e5e7eb;
    transform: scale(1.1);
}

.popup-image-counter {
    font-size: 12px;
    color: #6b7280;
    font-weight: 500;
}

.popup-no-images {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 150px;
    color: #9ca3af;
}

.no-images-icon {
    font-size: 36px;
    margin-bottom: 8px;
}

/* Metadata Page */
.popup-metadata-page {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.popup-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #111827;
}

.popup-metadata {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.popup-detail-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px;
    background: #f9fafb;
    border-radius: 6px;
}

.popup-label {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
}

.popup-value {
    font-size: 12px;
    color: #111827;
    word-break: break-word;
}

.popup-actions {
    display: flex;
    gap: 8px;
}

.popup-nav-btn {
    flex: 1 1;
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.popup-nav-btn.next-page,
.popup-nav-btn.view-profile {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
}

.popup-nav-btn.next-page:hover,
.popup-nav-btn.view-profile:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
}

.popup-nav-btn.prev-page {
    background: #f3f4f6;
    color: #374151;
}

.popup-nav-btn.prev-page:hover {
    background: #e5e7eb;
}
  

.map-recenter-button {
    position: absolute;
    top: 10px;
    right: 10px;
    background: white;
    border: 2px solid #ccc;
    border-radius: 4px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    z-index: 1000;
    transition: all 0.2s ease;
}

.map-recenter-button:hover {
    background: #f0f0f0;
    transform: scale(1.05);
}

.map-recenter-button:active {
    transform: scale(0.95);
}



/* View toggle buttons */
.view-toggle {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  justify-content: center;
  padding: 1rem 0;
}

.view-toggle-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: transparent;
  border: 2px solid #ff5e4c;
  color: #ff5e4c;
  border-radius: 25px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.view-toggle-btn:hover {
  background: #ff5e4c;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(255, 94, 76, 0.3);
}

.view-toggle-btn.active {
  background: #ff5e4c;
  color: white;
  box-shadow: 0 4px 12px rgba(255, 94, 76, 0.4);
}

/* Search mode bar with minimal toggle buttons (like TenantExplorer) */
.search-mode-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  margin-bottom: 1rem;
}

.view-toggle-minimal {
  display: flex;
  gap: 0.5rem;
}

.view-toggle-btn-minimal {
  padding: 0.5rem 1rem;
  background: transparent;
  border: 1px solid #232323;
  color: #232323;
  border-radius: 4px;
  font-weight: 500;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 60px;
}

.view-toggle-btn-minimal:hover {
  background: #232323;
  color: white;
}

.view-toggle-btn-minimal.active {
  background: #232323;
  color: white;
}

.sort-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #232323;
  font-weight: 600;
}

/* Map view styles (existing) */
.properties-search-container {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.properties-search-list {
  width: 50%;
  padding: 1rem;
  box-sizing: border-box;
}

.properties-search-card-wrapper {
  margin-bottom: 1rem;
}

.properties-search-map-container {
  height: 85vh;
  transform: none;
  transform: initial;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  flex: 1 1;
  overflow-y: auto;
  margin: 10px;
  border-radius: 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ccc;
  width: 100%;
}

/* List view styles */
.properties-search-container-list {
  display: flex;
  gap: 2rem;
  min-height: 80vh;
  width: 100%;
}

.properties-search-content {
  flex: 1 1;
  display: flex;
  gap: 1.5rem;
}

.filter-panel {
  flex: 0 0 280px;
  background: #f8f9fa;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  height: -webkit-fit-content;
  height: fit-content;
  position: -webkit-sticky;
  position: sticky;
  top: 20px;
}

.filter-panel-title {
  font-size: 20px;
  font-weight: 600;
  color: #232323;
  margin-bottom: 20px;
  border-bottom: 2px solid #ff5e4c;
  padding-bottom: 10px;
}

.filter-category {
  margin-bottom: 24px;
}

.filter-category h4 {
  font-size: 16px;
  font-weight: 600;
  color: #232323;
  margin-bottom: 12px;
}

.location-filter-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 12px;
  transition: border-color 0.3s ease;
}

.location-filter-input:focus {
  outline: none;
  border-color: #ff5e4c;
  box-shadow: 0 0 0 2px rgba(255, 94, 76, 0.2);
}

.location-filter-input::placeholder {
  color: #aeaeae;
}

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

.filter-list li {
  padding: 8px 12px;
  margin-bottom: 4px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  color: #555;
}

.filter-list li:hover {
  background-color: rgba(255, 94, 76, 0.1);
  color: #ff5e4c;
}

.filter-list li.selected {
  background-color: #ff5e4c;
  color: white;
  font-weight: 500;
}

.filter-actions {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

.clear-filters-btn {
  width: 100%;
  padding: 10px;
  background: transparent;
  border: 2px solid #ff5e4c;
  color: #ff5e4c;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

.clear-filters-btn:hover {
  background: #ff5e4c;
  color: white;
}

.properties-search-list-filtered {
  flex: 1 1;
  overflow-y: auto;
}

.properties-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

/* Responsive design */
@media (max-width: 1200px) {
  .properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }
}

@media (max-width: 992px) {
  .properties-search-container-list {
    flex-direction: column;
  }
  
  .properties-search-content {
    flex-direction: column;
  }
  
  .filter-panel {
    flex: none;
    position: static;
  }
  
  .properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
  }

  .search-mode-bar {
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }

  .view-toggle-minimal {
    justify-content: center;
  }

  .sort-section {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .properties-search-container-list {
    gap: 1rem;
  }
  
  .properties-search-content {
    gap: 1rem;
  }
  
  .filter-panel {
    padding: 15px;
  }
  
  .properties-grid {
    grid-template-columns: 1fr;
  }

  .view-toggle-btn-minimal {
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
    min-width: 50px;
  }
}

.properties-search-section {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.properties-search-container {
  display: flex;
  height: 100vh; /* Full viewport height */
  gap: 1rem;
  padding: 1rem;
  box-sizing: border-box;
  align-items: flex-start; /* Important for sticky positioning */
}

.properties-search-container-full {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1rem;
  box-sizing: border-box;
}

.properties-search-list {
  flex: 1 1;
  height: 100vh; /* Full height for scrolling */
  overflow-y: auto;
  padding-right: 0.5rem;
  min-width: 0;
  /* Smooth scrolling */
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.properties-search-map-container {
  flex: 1 1;
  height: calc(100vh - 2rem); /* Account for padding */
  position: -webkit-sticky;
  position: sticky;
  top: 1rem; /* Stick to top with some margin */
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  background: white;
  width: 100%;
  z-index: 10; /* Ensure it stays above other content */
}

.properties-search-card-wrapper {
  margin-bottom: 1rem;
}

.properties-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
  padding: 0;
}

.infinite-scroll-component {
  overflow: visible !important;
  height: 100%;
}

/* Loading states */
.properties-search-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
}

/* Responsive Design */

/* Large screens (desktops) */
@media (min-width: 1400px) {
  .properties-search-container {
    padding: 1.5rem;
    gap: 1.5rem;
    max-height: 100vh;
  }
  
  .properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 2rem;
  }
  
  .properties-search-map-container {
    min-height: 500px;
    width: 100%;
    height: calc(100vh - 3rem);
    top: 1.5rem;
  }
}

/* Medium-large screens */
@media (max-width: 1399px) and (min-width: 1200px) {
  .properties-search-container {
    padding: 1rem;
    max-height: 100vh;
  }
  
  .properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.5rem;
  }

  .properties-search-map-container {
    width: 100%;
    height: calc(100vh - 2rem);
  }
}

/* Medium screens (tablets landscape) */
@media (max-width: 1199px) and (min-width: 992px) {
  .properties-search-container {
    flex-direction: column;
    gap: 1rem;
    height: auto;
  }
  
  .properties-search-list {
    flex: none;
    height: 50vh;
    padding-right: 0;
  }
  
  .properties-search-map-container {
    flex: none;
    height: 45vh;
    min-height: 350px;
    width: 100%;
    position: -webkit-sticky;
    position: sticky;
    top: 1rem;
  }
  
  .properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
  }
}

/* Small tablets and large phones */
@media (max-width: 991px) and (min-width: 768px) {
  .properties-search-container {
    flex-direction: column;
    padding: 0.75rem;
    gap: 0.75rem;
    height: auto;
  }
  
  .properties-search-list {
    height: 45vh;
  }
  
  .properties-search-map-container {
    height: 40vh;
    min-height: 300px;
    width: 100%;
    position: -webkit-sticky;
    position: sticky;
    top: 0.75rem;
  }
  
  .properties-search-container-full {
    padding: 0.75rem;
  }
  
  .properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
  }
  
  .properties-search-card-wrapper {
    margin-bottom: 0.75rem;
  }
}

/* Mobile phones */
@media (max-width: 767px) {
  .properties-search-section {
    padding: 0;
  }
  
  .properties-search-container {
    flex-direction: column;
    padding: 0.5rem;
    gap: 0.5rem;
    height: auto;
    min-height: calc(100vh - 200px);
  }
  
  .properties-search-list {
    flex: none;
    height: auto;
    max-height: calc(100vh - 300px);
    overflow-y: auto;
    padding-right: 0;
  }
  
  .properties-search-map-container {
    flex: none;
    height: calc(100vh - 200px);
    position: relative; /* Not sticky on mobile */
    top: auto;
    margin-bottom: 1rem;
  }
  
  .properties-search-container-full {
    padding: 0.5rem;
  }
  
  .properties-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  
  .properties-search-card-wrapper {
    margin-bottom: 0.5rem;
  }
  
  /* Stack layout for mobile */
  .properties-search-container.mobile-stack {
    flex-direction: column;
  }
  
  .properties-search-list.mobile-full {
    height: auto;
    max-height: none;
  }
  
  .properties-search-map-container.mobile-hidden {
    display: none;
  }
}

/* Very small phones */
@media (max-width: 480px) {
  .properties-search-container {
    padding: 0.25rem;
    gap: 0.25rem;
  }
  
  .properties-search-list {
    max-height: calc(100vh - 280px);
  }
  
  .properties-search-map-container {
    height: calc(100vh - 180px);
    min-height: 250px;
  }
  
  .properties-search-list.mobile-full {
    max-height: calc(100vh - 130px);
  }
  
  .properties-search-container-full {
    padding: 0.25rem;
  }
  
  .properties-grid {
    gap: 0.5rem;
  }
  
  .properties-search-card-wrapper {
    margin-bottom: 0.25rem;
  }
}

/* Landscape orientation adjustments for mobile */
@media (max-height: 500px) and (orientation: landscape) and (max-width: 767px) {
  .properties-search-container {
    flex-direction: row;
    height: calc(100vh - 100px);
  }
  
  .properties-search-list {
    height: 100%;
    max-height: none;
    flex: 1 1;
  }
  
  .properties-search-map-container {
    height: 100%;
    min-height: 200px;
    flex: 1 1;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }
  
  /* Hide toggle in landscape mode, show both */
  .mobile-view-toggle {
    display: none;
  }
  
  .mobile-hidden {
    display: block !important;
  }
}

/* Animation improvements for mobile */
@media (max-width: 767px) {
  .properties-search-card-wrapper {
    /* Reduce animation complexity on mobile for better performance */
  }
  
  .infinite-scroll-component {
    /* Optimize scrolling on mobile */
    -webkit-overflow-scrolling: touch;
  }
}

/* Print styles */
@media print {
  .properties-search-map-container {
    display: none;
  }
  
  .properties-search-container {
    flex-direction: column;
  }
  
  .properties-search-list {
    height: auto;
    max-height: none;
    position: static;
  }
}
/* Mobile view toggle - styled like search button */
.mobile-view-toggle {
  display: none;
  justify-content: center;
  padding: 1rem;
  background: white;
  border-bottom: 1px solid #e5e7eb;
  gap: 0.5rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
}

.toggle-button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 80px;
  justify-content: center;
}

/* Inactive state - like filter button */
.toggle-button {
  background: white;
  border: 2px solid #FF5E4D;
  color: #FF5E4D;
}

.toggle-button:hover {
  background: #FF5E4D;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(255, 94, 77, 0.3);
}

/* Active state - like search button */
.toggle-button.active {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  color: white;
  border: 2px solid transparent;
}

.toggle-button.active:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.3);
}

/* Mobile responsive classes */
.mobile-hidden {
  display: none !important;
}

.mobile-full {
  height: auto !important;
  max-height: none !important;
}

/* Smooth scrolling enhancements */
.properties-search-list {
  /* Better scrolling performance */
  will-change: scroll-position;
  transform: translateZ(0); /* Hardware acceleration */
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
  .properties-search-list {
    scroll-behavior: auto;
  }
  
  .toggle-button {
    transition: none;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .properties-search-map-container {
    border: 2px solid;
  }
  
  .toggle-button {
    border-width: 3px;
  }
}


.filter-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 1rem;
}

.filter-modal-content {
  background: #ffffff;
  background: var(--primary-white, #ffffff);
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 500px;
  max-height: 90vh;
  overflow-y: auto;
}

.filter-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #ececec;
  border-bottom: 1px solid var(--light-gray, #ececec);
}

.filter-modal-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark, #232323);
}

.close-button {
  background: none;
  border: none;
  font-size: 2rem;
  color: #232323;
  color: var(--primary-dark, #232323);
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

.close-button:hover {
  background: #ececec;
  background: var(--light-gray, #ececec);
}

.filter-modal-body {
  padding: 2rem;
}

.filter-group {
  margin-bottom: 1.5rem;
}

.filter-group:last-child {
  margin-bottom: 0;
}

.filter-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark, #232323);
  font-size: 1rem;
}

.filter-group input,
.filter-group select {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray, #ececec);
  border-radius: 10px;
  background: #ffffff;
  background: var(--primary-white, #ffffff);
  color: #232323;
  color: var(--primary-dark, #232323);
  font-size: 1rem;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.filter-group input:focus,
.filter-group select:focus {
  outline: none;
  border-color: #ff3364;
  border-color: var(--accent-red, #ff3364);
  box-shadow: 0 0 0 3px rgba(255, 51, 100, 0.1);
}

.filter-group input::placeholder {
  color: #999;
}

.filter-modal-footer {
  display: flex;
  gap: 1rem;
  padding: 1.5rem 2rem;
  border-top: 1px solid #ececec;
  border-top: 1px solid var(--light-gray, #ececec);
}

.filter-modal-footer .btn {
  flex: 1 1;
  padding: 0.875rem 1.5rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}

.filter-modal-footer .btn-secondary {
  background: transparent;
  color: #ff3364;
  color: var(--accent-red, #ff3364);
  border: 2px solid #ff3364;
  border: 2px solid var(--accent-red, #ff3364);
}

.filter-modal-footer .btn-secondary:hover {
  background: #ff3364;
  background: var(--accent-red, #ff3364);
  color: #ffffff;
  color: var(--primary-white, #ffffff);
}

.filter-modal-footer .btn-primary {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  color: #ffffff;
  color: var(--primary-white, #ffffff);
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.4);
}

.filter-modal-footer .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.6);
}

/* Responsive Design */
@media (max-width: 768px) {
  .filter-modal-overlay {
    padding: 0.5rem;
  }

  .filter-modal-content {
    max-height: 95vh;
  }

  .filter-modal-header,
  .filter-modal-body,
  .filter-modal-footer {
    padding: 1rem 1.5rem;
  }

  .filter-modal-header h2 {
    font-size: 1.25rem;
  }

  .filter-modal-footer {
    flex-direction: column;
  }

  .filter-modal-footer .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .filter-modal-overlay {
    padding: 0.25rem;
  }

  .filter-modal-header,
  .filter-modal-body,
  .filter-modal-footer {
    padding: 1rem;
  }

  .close-button {
    font-size: 1.5rem;
    width: 28px;
    height: 28px;
  }
}

/* General Page Layout for Larger Screens */
.search-page-container {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
}

/* Adjust the height and width of the map and result listings */
.search-page-map-container {
    height: 85vh;
    width: 50%;  /* Make the map take 50% width of the screen */
    transform: none;
    transform: initial;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    flex: 1 1;
    overflow-y: auto;
    margin: 10px;
    border-radius: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #ccc;
}

/* Listings on the left */
.search-page-result-listings {
    width: 50%;  /* Adjust listings to take the remaining 50% width */
    padding: 10px;
}

/* For the listing container */
.host-listings-container {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}

.listing-container-title {
    margin-top: 5%;
    margin-bottom: 5%;
}

/* Specific User Pictures Container */
.search-user-pictures-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 500px;
    overflow: hidden;
}

/* Highlighting the selected host */
.selected-host {
    border: 2px solid red;
}

/* Mobile View Adjustments */
@media (max-width: 768px) {
    /* Stack the map and listings vertically */
    .search-page-container {
        flex-direction: column;
        margin-top: 20px;
    }

    /* Adjust the map container to take full width */
    .search-page-map-container {
        width: 100%;
        height: 400px;  /* Decrease height for mobile screens */
        margin: 0;
        border-radius: 0;
    }

    /* Adjust the listings container for mobile */
    .search-page-result-listings {
        width: 100%;
        padding: 0;
        margin-bottom: 20px;
    }

    /* Adjust host listings height */
    .search-user-pictures-container {
        height: 300px;
    }

    /* Ensure the form in the search bar is mobile-friendly */
    .search-bar form {
        flex-direction: column;
        gap: 10px;
    }
}

/* Adjust map height to ensure consistent view on smaller devices */
@media (max-width: 600px) {
    .search-page-map-container {
        height: 300px;  /* Further reduce the height for very small screens */
    }

    /* Adjust host pictures container for smaller screens */
    .search-user-pictures-container {
        height: 200px;
    }
}

/* Add these styles to your existing HostExplorerPage.css */

.default-content-with-map {
  display: flex;
  gap: 2rem;
  min-height: 80vh;
  padding: 2rem 1rem;
}

.content-section {
  flex: 1 1;
  overflow-y: auto;
}

.map-section {
  flex: 0 0 40%;
  min-height: 600px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  position: -webkit-sticky;
  position: sticky;
  top: 2rem;
}

/* Responsive design */
@media (max-width: 1200px) {
  .map-section {
    flex: 0 0 35%;
  }
}

@media (max-width: 992px) {
  .default-content-with-map {
    flex-direction: column;
  }
  
  .map-section {
    flex: none;
    min-height: 400px;
    position: static;
  }
}

@media (max-width: 768px) {
  .default-content-with-map {
    padding: 1rem;
    gap: 1rem;
  }
  
  .map-section {
    min-height: 300px;
  }
}

/* Existing styles for sections */
.popular-stands,
.popular-properties {
  margin-bottom: 3rem;
}

.section-title {
  font-size: 2rem;
  font-weight: 700;
  color: #232323;
  margin-bottom: 1rem;
}

.section-separator {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, #ff5e4c, #ff3366);
  margin-bottom: 2rem;
}

.more-button {
  background: linear-gradient(135deg, #ff5e4c, #ff3366);
  color: white;
  border: none;
  padding: 1rem 2rem;
  border-radius: 25px;
  font-weight: 600;
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.3s ease;
  margin: 2rem auto;
}

.more-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 94, 76, 0.3);
}

.search-page-container .search-icon {
  position: static;
  color: #ffffff;
  transform: translateY(0%);
  font-size: 1.2rem;
}

/* Brands section styles */
.brands-default-view {
  padding: 2rem;
}

.brands-section {
  margin-bottom: 3rem;
  text-align: center;
}

.brands-section .more-button {
  margin: 2rem auto;
}

/* Customer Info Page Styles - Fully Namespaced */
/* Using Icomerge Brand Colors: --accent-light-orange: #ff7e70 */

.customer-info-page {
  width: 100%;
  overflow-x: hidden;
  background: #ffffff;
}

/* Container - Namespaced */
.customer-info-page .customer-info-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Hero Section */
.customer-info-page .customer-hero-section {
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4rem 2rem;
  position: relative;
  background: linear-gradient(135deg, #fff5f3 0%, #ffffff 50%, #fff8f5 100%);
  overflow: hidden;
}

.customer-info-page .customer-hero-content {
  flex: 1 1;
  max-width: 600px;
  z-index: 2;
  -webkit-margin-start: clamp(17rem, 6vw, 5rem);
          margin-inline-start: clamp(17rem, 6vw, 5rem);
}

.customer-info-page .customer-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  color: white;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 2rem;
  box-shadow: 0 4px 12px rgba(255, 126, 112, 0.3);
}

.customer-info-page .customer-hero-badge svg {
  font-size: 1.2rem;
}

.customer-info-page .customer-hero-title {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  color: #1a1a1a;
}

.customer-info-page .customer-highlight-gradient {
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.customer-info-page .customer-hero-subtitle {
  font-size: 1.3rem;
  color: #666;
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

.customer-info-page .customer-hero-cta-group {
  display: flex;
  gap: 1rem;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}

.customer-info-page .customer-cta-primary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2.5rem;
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(255, 126, 112, 0.3);
}

.customer-info-page .customer-cta-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(255, 126, 112, 0.4);
}

.customer-info-page .customer-cta-secondary {
  padding: 1rem 2.5rem;
  background: white;
  color: #ff7e70;
  border: 2px solid #ff7e70;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.customer-info-page .customer-cta-secondary:hover {
  background: #ff7e70;
  color: white;
}

.customer-info-page .customer-hero-features {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}

.customer-info-page .customer-feature-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #666;
  font-size: 1rem;
  font-weight: 500;
}

.customer-info-page .customer-feature-item svg {
  color: #10b981;
  font-size: 1.2rem;
}

/* Hero Visual */
.customer-info-page .customer-hero-visual {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 500px;
}

.customer-info-page .customer-visual-circle {
  position: absolute;
  border-radius: 50%;
  animation: customerFloat 6s ease-in-out infinite;
}

.customer-info-page .customer-circle-1 {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, rgba(255, 126, 112, 0.1), rgba(255, 171, 157, 0.05));
  animation-delay: 0s;
}

.customer-info-page .customer-circle-2 {
  width: 320px;
  height: 320px;
  background: linear-gradient(135deg, rgba(255, 126, 112, 0.15), rgba(255, 171, 157, 0.1));
  animation-delay: 1s;
}

.customer-info-page .customer-circle-3 {
  width: 240px;
  height: 240px;
  background: linear-gradient(135deg, rgba(255, 126, 112, 0.2), rgba(255, 171, 157, 0.15));
  animation-delay: 2s;
}

.customer-info-page .customer-visual-icon {
  position: relative;
  z-index: 2;
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  border-radius: 30px;
  color: white;
  font-size: 4rem;
  box-shadow: 0 20px 40px rgba(255, 126, 112, 0.3);
}

@keyframes customerFloat {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.05);
  }
}

/* Section Common Styles - Namespaced */
.customer-info-page section {
  padding: 6rem 0;
}

.customer-info-page .customer-info-section-header {
  text-align: center;
  margin-bottom: 4rem;
}

.customer-info-page .customer-info-section-tag {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #fff5f3, #fff0ee);
  color: #ff7e70;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 1rem;
  border: 1px solid rgba(255, 126, 112, 0.2);
}

.customer-info-page .customer-info-section-title {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.customer-info-page .customer-info-highlight-text {
  color: #ff7e70;
  position: relative;
}

.customer-info-page .customer-info-section-description {
  font-size: 1.2rem;
  color: #666;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Pain Points Section */
.customer-info-page .customer-pain-points-section {
  background: #f8f9fa;
}

.customer-info-page .customer-pain-points-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.customer-info-page .customer-pain-point-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.customer-info-page .customer-pain-point-card:hover {
  border-color: #ff7e70;
  box-shadow: 0 8px 30px rgba(255, 126, 112, 0.15);
}

.customer-info-page .customer-pain-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #fff5f3, #fff0ee);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #ff7e70;
  margin-bottom: 1.5rem;
}

.customer-info-page .customer-pain-point-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.customer-info-page .customer-pain-point-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* Solutions Section */
.customer-info-page .customer-solutions-section {
  background: white;
}

.customer-info-page .customer-solutions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.customer-info-page .customer-solution-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 2px solid #f0f0f0;
}

.customer-info-page .customer-solution-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.1);
}

.customer-info-page .customer-solution-icon {
  width: 70px;
  height: 70px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

.customer-info-page .customer-solution-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.customer-info-page .customer-solution-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* How It Works / Lifestyle Section */
.customer-info-page .customer-how-it-works-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.customer-info-page .customer-lifestyle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.customer-info-page .customer-lifestyle-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  position: relative;
  border: 2px solid #f0f0f0;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.customer-info-page .customer-lifestyle-card:hover {
  border-color: #ff7e70;
  transform: translateY(-5px);
}

.customer-info-page .customer-lifestyle-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: white;
  margin-bottom: 1.5rem;
  box-shadow: 0 8px 20px rgba(255, 126, 112, 0.3);
}

.customer-info-page .customer-lifestyle-content h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.customer-info-page .customer-lifestyle-content p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

.customer-info-page .customer-step-connector {
  display: none;
}

/* Benefits Section */
.customer-info-page .customer-benefits-section {
  background: white;
}

.customer-info-page .customer-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  grid-gap: 2.5rem;
  gap: 2.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.customer-info-page .customer-benefit-card {
  text-align: center;
  padding: 2rem;
}

.customer-info-page .customer-benefit-icon-wrapper {
  margin-bottom: 1.5rem;
}

.customer-info-page .customer-benefit-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: white;
  box-shadow: 0 8px 20px rgba(255, 126, 112, 0.3);
}

.customer-info-page .customer-benefit-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.customer-info-page .customer-benefit-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* Lifestyle Imagery Section */
.customer-info-page .customer-lifestyle-imagery-section {
  background: linear-gradient(135deg, #fff5f3 0%, #ffffff 100%);
}

.customer-info-page .customer-imagery-content {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.customer-info-page .customer-imagery-visual {
  background: white;
  border-radius: 20px;
  padding: 4rem;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border: 2px solid #f0f0f0;
}

.customer-info-page .customer-imagery-placeholder {
  text-align: center;
}

.customer-info-page .customer-imagery-icon {
  font-size: 5rem;
  color: #ff7e70;
  margin-bottom: 2rem;
}

.customer-info-page .customer-imagery-placeholder h3 {
  font-size: 2rem;
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 1rem;
}

.customer-info-page .customer-imagery-placeholder p {
  font-size: 1.2rem;
  color: #666;
  line-height: 1.8;
  max-width: 700px;
  margin: 0 auto;
}

.customer-info-page .customer-imagery-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.customer-info-page .customer-imagery-feature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: white;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
  border: 2px solid #f0f0f0;
  transition: all 0.3s ease;
}

.customer-info-page .customer-imagery-feature:hover {
  border-color: #ff7e70;
  transform: translateY(-3px);
}

.customer-info-page .customer-imagery-feature svg {
  color: #10b981;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.customer-info-page .customer-imagery-feature span {
  font-size: 1rem;
  font-weight: 600;
  color: #1a1a1a;
}

/* Final CTA Section */
.customer-info-page .customer-final-cta-section {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 6rem 2rem;
}

.customer-info-page .customer-cta-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.customer-info-page .customer-cta-content h2 {
  font-size: 3rem;
  font-weight: 800;
  color: white;
  margin-bottom: 1rem;
}

.customer-info-page .customer-cta-content p {
  font-size: 1.2rem;
  color: #ccc;
  margin-bottom: 2.5rem;
}

.customer-info-page .customer-cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 3rem;
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(255, 126, 112, 0.4);
  margin-bottom: 2rem;
}

.customer-info-page .customer-cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(255, 126, 112, 0.5);
}

.customer-info-page .customer-cta-trust-indicators {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.customer-info-page .customer-trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white;
  font-size: 1rem;
}

.customer-info-page .customer-trust-item svg {
  color: #10b981;
  font-size: 1.2rem;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .customer-info-page .customer-hero-section {
    flex-direction: column;
    text-align: center;
    padding: 3rem 1.5rem;
  }

  .customer-info-page .customer-hero-content {
    max-width: 100%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }

  .customer-info-page .customer-hero-title {
    font-size: 3rem;
  }

  .customer-info-page .customer-hero-cta-group {
    justify-content: center;
  }

  .customer-info-page .customer-hero-features {
    justify-content: center;
  }

  .customer-info-page .customer-hero-visual {
    min-height: 400px;
  }

  .customer-info-page .customer-info-section-title {
    font-size: 2.5rem;
  }
}

@media (max-width: 768px) {
  .customer-info-page .customer-info-container {
    padding: 0 1rem;
  }

  .customer-info-page section {
    padding: 4rem 0;
  }

  .customer-info-page .customer-hero-title {
    font-size: 2.5rem;
  }

  .customer-info-page .customer-hero-subtitle {
    font-size: 1.1rem;
  }

  .customer-info-page .customer-hero-features {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }

  .customer-info-page .customer-cta-primary,
  .customer-info-page .customer-cta-secondary {
    width: 100%;
    justify-content: center;
  }

  .customer-info-page .customer-info-section-title {
    font-size: 2rem;
  }

  .customer-info-page .customer-info-section-description {
    font-size: 1rem;
  }

  .customer-info-page .customer-pain-points-grid,
  .customer-info-page .customer-solutions-grid,
  .customer-info-page .customer-lifestyle-grid,
  .customer-info-page .customer-benefits-grid {
    grid-template-columns: 1fr;
  }

  .customer-info-page .customer-cta-content h2 {
    font-size: 2rem;
  }

  .customer-info-page .customer-cta-content p {
    font-size: 1rem;
  }

  .customer-info-page .customer-cta-trust-indicators {
    flex-direction: column;
    gap: 1rem;
  }

  .customer-info-page .customer-imagery-visual {
    padding: 2rem;
  }

  .customer-info-page .customer-imagery-placeholder h3 {
    font-size: 1.5rem;
  }

  .customer-info-page .customer-imagery-placeholder p {
    font-size: 1rem;
  }

  .customer-info-page .customer-imagery-icon {
    font-size: 3.5rem;
  }
}

@media (max-width: 480px) {
  .customer-info-page .customer-hero-title {
    font-size: 2rem;
  }

  .customer-info-page .customer-hero-badge {
    font-size: 0.8rem;
    padding: 0.4rem 1rem;
  }

  .customer-info-page .customer-info-section-tag {
    font-size: 0.8rem;
  }

  .customer-info-page .customer-info-section-title {
    font-size: 1.75rem;
  }

  .customer-info-page .customer-cta-primary,
  .customer-info-page .customer-cta-secondary {
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
  }

  .customer-info-page .customer-cta-button {
    padding: 1rem 2rem;
    font-size: 1rem;
  }

  .customer-info-page .customer-imagery-visual {
    padding: 1.5rem;
  }
}


/* Host Info Page Styles */

.host-info-page {
  width: 100%;
  overflow-x: hidden;
  background: #ffffff;
}

/* Container - Namespaced */
.host-info-page .host-info-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Hero Section */
.host-info-page .host-hero-section {
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4rem 2rem;
  position: relative;
  background: linear-gradient(135deg, #fff5f3 0%, #ffffff 50%, #f0f9ff 100%);
  overflow: hidden;
}

.host-info-page .host-hero-content {
  flex: 1 1;
  max-width: 600px;
  z-index: 2;
  -webkit-margin-start: clamp(17rem, 6vw, 5rem);
          margin-inline-start: clamp(17rem, 6vw, 5rem);
}

.host-info-page .host-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: linear-gradient(135deg, #FF5E4D, #ff7b6d);
  color: white;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 2rem;
  box-shadow: 0 4px 12px rgba(255, 94, 77, 0.2);
}

.host-info-page .host-hero-badge svg {
  font-size: 1.2rem;
}

.host-info-page .host-hero-title {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  color: #1a1a1a;
}

.host-info-page .highlight-gradient {
  background: linear-gradient(135deg, #FF5E4D, #ff3d00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.host-info-page .host-hero-subtitle {
  font-size: 1.3rem;
  color: #666;
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

.host-info-page .host-hero-cta-group {
  display: flex;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.host-info-page .host-cta-primary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2.5rem;
  background: linear-gradient(135deg, #FF5E4D, #ff3d00);
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(255, 94, 77, 0.3);
}

.host-info-page .host-cta-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(255, 94, 77, 0.4);
}

.host-info-page .host-cta-secondary {
  padding: 1rem 2.5rem;
  background: white;
  color: #FF5E4D;
  border: 2px solid #FF5E4D;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.host-info-page .host-cta-secondary:hover {
  background: #FF5E4D;
  color: white;
}

.host-info-page .host-hero-stats {
  display: flex;
  gap: 3rem;
  padding-top: 2rem;
  border-top: 2px solid #e0e0e0;
}

.host-info-page .landing-stat-item {
  text-align: left;
}

.host-info-page .landing-stat-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: #FF5E4D;
  margin-bottom: 0.25rem;
}

.host-info-page .landing-stat-label {
  font-size: 0.9rem;
  color: #666;
  font-weight: 500;
}

/* Hero Visual */
.host-info-page .host-hero-visual {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 500px;
}

.host-info-page .visual-circle {
  position: absolute;
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}

.host-info-page .circle-1 {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, rgba(255, 94, 77, 0.1), rgba(255, 61, 0, 0.05));
  animation-delay: 0s;
}

.host-info-page .circle-2 {
  width: 320px;
  height: 320px;
  background: linear-gradient(135deg, rgba(255, 94, 77, 0.15), rgba(255, 61, 0, 0.1));
  animation-delay: 1s;
}

.host-info-page .circle-3 {
  width: 240px;
  height: 240px;
  background: linear-gradient(135deg, rgba(255, 94, 77, 0.2), rgba(255, 61, 0, 0.15));
  animation-delay: 2s;
}

.host-info-page .visual-icon {
  position: relative;
  z-index: 2;
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FF5E4D, #ff3d00);
  border-radius: 30px;
  color: white;
  font-size: 4rem;
  box-shadow: 0 20px 40px rgba(255, 94, 77, 0.3);
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.05);
  }
}

/* Section Common Styles - Namespaced */
.host-info-page section {
  padding: 6rem 0;
}

.host-info-page .host-info-section-header {
  text-align: center;
  margin-bottom: 4rem;
}

.host-info-page .host-info-section-tag {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #fff5f3, #ffe8e5);
  color: #FF5E4D;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 1rem;
  border: 1px solid rgba(255, 94, 77, 0.2);
}

.host-info-page .host-info-section-title {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.host-info-page .host-info-highlight-text {
  color: #FF5E4D;
  position: relative;
}

.host-info-page .host-info-section-description {
  font-size: 1.2rem;
  color: #666;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Pain Points Section */
.host-info-page .pain-points-section {
  background: #f8f9fa;
}

.host-info-page .pain-points-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.host-info-page .pain-point-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.host-info-page .pain-point-card:hover {
  border-color: #FF5E4D;
  box-shadow: 0 8px 30px rgba(255, 94, 77, 0.15);
}

.host-info-page .pain-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #fff5f3, #ffe8e5);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #FF5E4D;
  margin-bottom: 1.5rem;
}

.host-info-page .pain-point-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.host-info-page .pain-point-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* Solutions Section */
.host-info-page .solutions-section {
  background: white;
}

.host-info-page .solutions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.host-info-page .solution-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 2px solid #f0f0f0;
}

.host-info-page .solution-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.1);
}

.host-info-page .solution-icon {
  width: 70px;
  height: 70px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

.host-info-page .solution-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.host-info-page .solution-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* How It Works Section */
.host-info-page .how-it-works-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.host-info-page .steps-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.host-info-page .step-card {
  background: white;
  padding: 2rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  position: relative;
  border: 2px solid #f0f0f0;
  transition: all 0.3s ease;
}

.host-info-page .step-card:hover {
  border-color: #FF5E4D;
  transform: translateY(-5px);
}

.host-info-page .step-number {
  font-size: 3rem;
  font-weight: 800;
  color: #FF5E4D;
  opacity: 0.2;
  margin-bottom: 1rem;
}

.host-info-page .step-content h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.host-info-page .step-content p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

.host-info-page .step-connector {
  display: none;
}

/* Benefits Section */
.host-info-page .benefits-section {
  background: white;
}

.host-info-page .landing-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 2.5rem;
  gap: 2.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.host-info-page .landing-benefit-card {
  text-align: center;
  padding: 2rem;
}

.host-info-page .benefit-icon-wrapper {
  margin-bottom: 1.5rem;
}

.host-info-page .benefit-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #FF5E4D, #ff3d00);
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: white;
  box-shadow: 0 8px 20px rgba(255, 94, 77, 0.3);
}

.host-info-page .benefit-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.host-info-page .benefit-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* Testimonials Section */
.host-info-page .testimonials-section {
  background: #f8f9fa;
}

.host-info-page .testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.host-info-page .testimonial-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  position: relative;
  border: 2px solid #f0f0f0;
  transition: all 0.3s ease;
}

.host-info-page .testimonial-card:hover {
  border-color: #FF5E4D;
  transform: translateY(-5px);
}

.host-info-page .testimonial-quote-icon {
  font-size: 4rem;
  color: #FF5E4D;
  opacity: 0.2;
  line-height: 1;
  margin-bottom: 1rem;
}

.host-info-page .testimonial-quote {
  font-size: 1.1rem;
  color: #333;
  line-height: 1.8;
  margin-bottom: 2rem;
  font-style: italic;
}

.host-info-page .testimonial-author {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.host-info-page .author-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF5E4D, #ff3d00);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.2rem;
  font-weight: 700;
}

.host-info-page .author-info {
  text-align: left;
}

.host-info-page .author-name {
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 0.25rem;
}

.host-info-page .author-role {
  font-size: 0.9rem;
  color: #666;
}

/* Final CTA Section */
.host-info-page .final-cta-section {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 6rem 2rem;
}

.host-info-page .cta-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.host-info-page .cta-content h2 {
  font-size: 3rem;
  font-weight: 800;
  color: white;
  margin-bottom: 1rem;
}

.host-info-page .cta-content p {
  font-size: 1.2rem;
  color: #ccc;
  margin-bottom: 2.5rem;
}

.host-info-page .cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 3rem;
  background: linear-gradient(135deg, #FF5E4D, #ff3d00);
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(255, 94, 77, 0.4);
  margin-bottom: 2rem;
}

.host-info-page .cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(255, 94, 77, 0.5);
}

.host-info-page .cta-trust-indicators {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.host-info-page .trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white;
  font-size: 1rem;
}

.host-info-page .trust-item svg {
  color: #28a745;
  font-size: 1.2rem;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .host-info-page .host-hero-section {
    flex-direction: column;
    text-align: center;
    padding: 3rem 1.5rem;
  }

  .host-info-page .host-hero-content {
    max-width: 100%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }

  .host-info-page .host-hero-title {
    font-size: 3rem;
  }

  .host-info-page .host-hero-cta-group {
    justify-content: center;
  }

  .host-info-page .host-hero-stats {
    justify-content: center;
  }

  .host-info-page .host-hero-visual {
    min-height: 400px;
  }

  .host-info-page .host-info-section-title {
    font-size: 2.5rem;
  }
}

@media (max-width: 768px) {
  .host-info-page .host-info-container {
    padding: 0 1rem;
  }

  .host-info-page section {
    padding: 4rem 0;
  }

  .host-info-page .host-hero-title {
    font-size: 2.5rem;
  }

  .host-info-page .host-hero-subtitle {
    font-size: 1.1rem;
  }

  .host-info-page .host-hero-stats {
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
  }

  .host-info-page .landing-stat-item {
    text-align: center;
  }

  .host-info-page .host-cta-primary,
  .host-info-page .host-cta-secondary {
    width: 100%;
    justify-content: center;
  }

  .host-info-page .host-info-section-title {
    font-size: 2rem;
  }

  .host-info-page .host-info-section-description {
    font-size: 1rem;
  }

  .host-info-page .pain-points-grid,
  .host-info-page .solutions-grid,
  .host-info-page .steps-container,
  .host-info-page .benefits-grid,
  .host-info-page .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .host-info-page .cta-content h2 {
    font-size: 2rem;
  }

  .host-info-page .cta-content p {
    font-size: 1rem;
  }

  .host-info-page .cta-trust-indicators {
    flex-direction: column;
    gap: 1rem;
  }
}

@media (max-width: 480px) {
  .host-info-page .host-hero-title {
    font-size: 2rem;
  }

  .host-info-page .host-hero-badge {
    font-size: 0.8rem;
    padding: 0.4rem 1rem;
  }

  .host-info-page .host-info-section-tag {
    font-size: 0.8rem;
  }

  .host-info-page .host-info-section-title {
    font-size: 1.75rem;
  }

  .host-info-page .host-cta-primary,
  .host-info-page .host-cta-secondary {
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
  }

  .host-info-page .cta-button {
    padding: 1rem 2rem;
    font-size: 1rem;
  }
}


/* Tenant Info Page Styles - Fully Namespaced */
/* Using Icomerge Brand Colors: --accent-red: #ff3364 */

.tenant-info-page {
  width: 100%;
  overflow-x: hidden;
  background: #ffffff;
}

/* Container - Namespaced */
.tenant-info-page .tenant-info-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Hero Section */
.tenant-info-page .tenant-hero-section {
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4rem 2rem;
  position: relative;
  background: linear-gradient(135deg, #f0f4ff 0%, #ffffff 50%, #fff5f8 100%);
  overflow: hidden;
}

.tenant-info-page .tenant-hero-content {
  flex: 1 1;
  max-width: 600px;
  z-index: 2;
  -webkit-margin-start: clamp(17rem, 6vw, 5rem);
          margin-inline-start: clamp(17rem, 6vw, 5rem);
}

.tenant-info-page .tenant-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  color: white;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 2rem;
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.3);
}

.tenant-info-page .tenant-hero-badge svg {
  font-size: 1.2rem;
}

.tenant-info-page .tenant-hero-title {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  color: #1a1a1a;
}

.tenant-info-page .tenant-highlight-gradient {
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.tenant-info-page .tenant-hero-subtitle {
  font-size: 1.3rem;
  color: #666;
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

.tenant-info-page .tenant-hero-cta-group {
  display: flex;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.tenant-info-page .tenant-cta-primary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2.5rem;
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(255, 51, 100, 0.3);
}

.tenant-info-page .tenant-cta-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(255, 51, 100, 0.4);
}

.tenant-info-page .tenant-cta-secondary {
  padding: 1rem 2.5rem;
  background: white;
  color: #ff3364;
  border: 2px solid #ff3364;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.tenant-info-page .tenant-cta-secondary:hover {
  background: #ff3364;
  color: white;
}

.tenant-info-page .tenant-hero-stats {
  display: flex;
  gap: 3rem;
  padding-top: 2rem;
  border-top: 2px solid #e0e0e0;
}

.tenant-info-page .tenant-stat-item {
  text-align: left;
}

.tenant-info-page .tenant-stat-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: #ff3364;
  margin-bottom: 0.25rem;
}

.tenant-info-page .tenant-stat-label {
  font-size: 0.9rem;
  color: #666;
  font-weight: 500;
}

/* Hero Visual */
.tenant-info-page .tenant-hero-visual {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 500px;
}

.tenant-info-page .tenant-visual-circle {
  position: absolute;
  border-radius: 50%;
  animation: tenantFloat 6s ease-in-out infinite;
}

.tenant-info-page .tenant-circle-1 {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.1), rgba(255, 92, 124, 0.05));
  animation-delay: 0s;
}

.tenant-info-page .tenant-circle-2 {
  width: 320px;
  height: 320px;
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.15), rgba(255, 92, 124, 0.1));
  animation-delay: 1s;
}

.tenant-info-page .tenant-circle-3 {
  width: 240px;
  height: 240px;
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.2), rgba(255, 92, 124, 0.15));
  animation-delay: 2s;
}

.tenant-info-page .tenant-visual-icon {
  position: relative;
  z-index: 2;
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  border-radius: 30px;
  color: white;
  font-size: 4rem;
  box-shadow: 0 20px 40px rgba(255, 51, 100, 0.3);
}

@keyframes tenantFloat {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.05);
  }
}

/* Section Common Styles - Namespaced */
.tenant-info-page section {
  padding: 6rem 0;
}

.tenant-info-page .tenant-info-section-header {
  text-align: center;
  margin-bottom: 4rem;
}

.tenant-info-page .tenant-info-section-tag {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #fff0f3, #ffe5ea);
  color: #ff3364;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 1rem;
  border: 1px solid rgba(255, 51, 100, 0.2);
}

.tenant-info-page .tenant-info-section-title {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.tenant-info-page .tenant-info-highlight-text {
  color: #ff3364;
  position: relative;
}

.tenant-info-page .tenant-info-section-description {
  font-size: 1.2rem;
  color: #666;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Pain Points Section */
.tenant-info-page .tenant-pain-points-section {
  background: #f8f9fa;
}

.tenant-info-page .tenant-pain-points-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.tenant-info-page .tenant-pain-point-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.tenant-info-page .tenant-pain-point-card:hover {
  border-color: #ff3364;
  box-shadow: 0 8px 30px rgba(255, 51, 100, 0.15);
}

.tenant-info-page .tenant-pain-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #fff0f3, #ffe5ea);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #ff3364;
  margin-bottom: 1.5rem;
}

.tenant-info-page .tenant-pain-point-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.tenant-info-page .tenant-pain-point-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* Solutions Section */
.tenant-info-page .tenant-solutions-section {
  background: white;
}

.tenant-info-page .tenant-solutions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.tenant-info-page .tenant-solution-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 2px solid #f0f0f0;
}

.tenant-info-page .tenant-solution-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.1);
}

.tenant-info-page .tenant-solution-icon {
  width: 70px;
  height: 70px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

.tenant-info-page .tenant-solution-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.tenant-info-page .tenant-solution-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* How It Works Section */
.tenant-info-page .tenant-how-it-works-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.tenant-info-page .tenant-steps-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.tenant-info-page .tenant-step-card {
  background: white;
  padding: 2rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  position: relative;
  border: 2px solid #f0f0f0;
  transition: all 0.3s ease;
}

.tenant-info-page .tenant-step-card:hover {
  border-color: #ff3364;
  transform: translateY(-5px);
}

.tenant-info-page .tenant-step-number {
  font-size: 3rem;
  font-weight: 800;
  color: #ff3364;
  opacity: 0.2;
  margin-bottom: 1rem;
}

.tenant-info-page .tenant-step-content h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.tenant-info-page .tenant-step-content p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

.tenant-info-page .tenant-step-connector {
  display: none;
}

/* Benefits Section */
.tenant-info-page .tenant-benefits-section {
  background: white;
}

.tenant-info-page .tenant-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 2.5rem;
  gap: 2.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.tenant-info-page .tenant-benefit-card {
  text-align: center;
  padding: 2rem;
}

.tenant-info-page .tenant-benefit-icon-wrapper {
  margin-bottom: 1.5rem;
}

.tenant-info-page .tenant-benefit-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: white;
  box-shadow: 0 8px 20px rgba(255, 51, 100, 0.3);
}

.tenant-info-page .tenant-benefit-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1a1a1a;
}

.tenant-info-page .tenant-benefit-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* Proof & Stats Section */
.tenant-info-page .tenant-proof-section {
  background: linear-gradient(135deg, #f0f4ff 0%, #ffffff 100%);
}

.tenant-info-page .tenant-proof-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 4rem;
}

.tenant-info-page .tenant-proof-card {
  background: white;
  padding: 3rem 2rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  text-align: center;
  border: 2px solid #f0f0f0;
  transition: all 0.3s ease;
}

.tenant-info-page .tenant-proof-card:hover {
  border-color: #ff3364;
  transform: translateY(-5px);
}

.tenant-info-page .tenant-proof-stat {
  font-size: 4rem;
  font-weight: 800;
  color: #ff3364;
  margin-bottom: 0.5rem;
  line-height: 1;
}

.tenant-info-page .tenant-proof-label {
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 1rem;
}

.tenant-info-page .tenant-proof-description {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

.tenant-info-page .tenant-case-study-placeholder {
  max-width: 800px;
  margin: 0 auto;
  padding: 3rem;
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  border-radius: 20px;
  text-align: center;
  box-shadow: 0 8px 30px rgba(255, 51, 100, 0.3);
}

.tenant-info-page .tenant-case-study-icon {
  font-size: 3rem;
  color: #fbbf24;
  margin-bottom: 1.5rem;
}

.tenant-info-page .tenant-case-study-text {
  font-size: 1.5rem;
  font-weight: 600;
  color: white;
  line-height: 1.6;
  margin-bottom: 1rem;
  font-style: italic;
}

.tenant-info-page .tenant-case-study-note {
  display: block;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  font-style: normal;
}

/* Final CTA Section */
.tenant-info-page .tenant-final-cta-section {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 6rem 2rem;
}

.tenant-info-page .tenant-cta-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.tenant-info-page .tenant-cta-content h2 {
  font-size: 3rem;
  font-weight: 800;
  color: white;
  margin-bottom: 1rem;
}

.tenant-info-page .tenant-cta-content p {
  font-size: 1.2rem;
  color: #ccc;
  margin-bottom: 2.5rem;
}

.tenant-info-page .tenant-cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 3rem;
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.4);
  margin-bottom: 2rem;
}

.tenant-info-page .tenant-cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(255, 51, 100, 0.5);
}

.tenant-info-page .tenant-cta-trust-indicators {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.tenant-info-page .tenant-trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white;
  font-size: 1rem;
}

.tenant-info-page .tenant-trust-item svg {
  color: #28a745;
  font-size: 1.2rem;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .tenant-info-page .tenant-hero-section {
    flex-direction: column;
    text-align: center;
    padding: 3rem 1.5rem;
  }

  .tenant-info-page .tenant-hero-content {
    max-width: 100%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }

  .tenant-info-page .tenant-hero-title {
    font-size: 3rem;
  }

  .tenant-info-page .tenant-hero-cta-group {
    justify-content: center;
  }

  .tenant-info-page .tenant-hero-stats {
    justify-content: center;
  }

  .tenant-info-page .tenant-hero-visual {
    min-height: 400px;
  }

  .tenant-info-page .tenant-info-section-title {
    font-size: 2.5rem;
  }
}

@media (max-width: 768px) {
  .tenant-info-page .tenant-info-container {
    padding: 0 1rem;
  }

  .tenant-info-page section {
    padding: 4rem 0;
  }

  .tenant-info-page .tenant-hero-title {
    font-size: 2.5rem;
  }

  .tenant-info-page .tenant-hero-subtitle {
    font-size: 1.1rem;
  }

  .tenant-info-page .tenant-hero-stats {
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
  }

  .tenant-info-page .tenant-stat-item {
    text-align: center;
  }

  .tenant-info-page .tenant-cta-primary,
  .tenant-info-page .tenant-cta-secondary {
    width: 100%;
    justify-content: center;
  }

  .tenant-info-page .tenant-info-section-title {
    font-size: 2rem;
  }

  .tenant-info-page .tenant-info-section-description {
    font-size: 1rem;
  }

  .tenant-info-page .tenant-pain-points-grid,
  .tenant-info-page .tenant-solutions-grid,
  .tenant-info-page .tenant-steps-container,
  .tenant-info-page .tenant-benefits-grid,
  .tenant-info-page .tenant-proof-grid {
    grid-template-columns: 1fr;
  }

  .tenant-info-page .tenant-cta-content h2 {
    font-size: 2rem;
  }

  .tenant-info-page .tenant-cta-content p {
    font-size: 1rem;
  }

  .tenant-info-page .tenant-cta-trust-indicators {
    flex-direction: column;
    gap: 1rem;
  }

  .tenant-info-page .tenant-case-study-text {
    font-size: 1.2rem;
  }

  .tenant-info-page .tenant-proof-stat {
    font-size: 3rem;
  }
}

@media (max-width: 480px) {
  .tenant-info-page .tenant-hero-title {
    font-size: 2rem;
  }

  .tenant-info-page .tenant-hero-badge {
    font-size: 0.8rem;
    padding: 0.4rem 1rem;
  }

  .tenant-info-page .tenant-info-section-tag {
    font-size: 0.8rem;
  }

  .tenant-info-page .tenant-info-section-title {
    font-size: 1.75rem;
  }

  .tenant-info-page .tenant-cta-primary,
  .tenant-info-page .tenant-cta-secondary {
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
  }

  .tenant-info-page .tenant-cta-button {
    padding: 1rem 2rem;
    font-size: 1rem;
  }

  .tenant-info-page .tenant-case-study-placeholder {
    padding: 2rem 1.5rem;
  }
}


.cookie-policy-section {
    background-color: #232323; /* Red background */
    padding: 50px 10%;
    display: flex;
    color: #ffffff;
    flex-direction: column;
    gap: 20px; /* Space between cards */
    align-items: center;
    /* font-family: 'Montserrat', Arial, sans-serif; */
}

.cookie-policy-title {
    font-size: 36px;
    text-align: center;
    margin-bottom: 40px;
}

.policy-step {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    gap: 20px;
    width: 100%;
}

.policy-step.text-left {
    flex-direction: row;
}

.policy-step.text-right {
    flex-direction: row-reverse;
}

.step-text {
    flex: 1 1;
}

.step-text h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.step-text p {
    font-size: 16px;
    line-height: 1.6;
}

.learn-more-container {
    text-align: center;
    margin-top: 30px;
}

.learn-more-button {
    background-color: #FF5E4D;
    color: #ffffff;
    border: none;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.learn-more-button:hover {
    background-color: #d32f2f;
}

/* General styles for the header */
.header-section {
    display: flex;
    flex-direction: column; /* Stack elements vertically */
    align-items: center;
    justify-content: center;
    padding: 50px 10%;
    background-color: #fff;
}

/* Content wrapper for text and image */
.header-content-wrapper {
    display: flex;
    flex-wrap: wrap; /* Ensures wrapping on smaller screens */
    justify-content: center; /* Centers text and image horizontally */
    align-items: center; /* Centers items vertically */
    width: 100%; /* Ensures proper alignment */
}


.header-title {
    /* font-family: 'Montserrat', sans-serif; */
    font-weight: 700;
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: 1.2;
    margin-bottom: 4px;
    color: #232323;
}

/* CTA button styles */
.cta-button {
    background-color: #FF5E4D;
    color: white;
    font-size: 1.2rem;
    padding: 10px 20px;
    border: none;
    border-radius: 25px; /* Fully rounded corners */
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: inline-block;
    margin: 0 auto; /* Center the button */
}

.cta-button:hover {
    background-color: #e03c4a;
}

/* Image container styles */
.header-image-container {
    flex: 1 1;
    text-align: center;
}

.header-image {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Extra images below text and main image */
.header-extra-images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px; /* Space between the two images */
    margin-top: 20px; /* Space between the main content and the extra images */
    flex-direction: column;
}

.decorative-image {
    height: auto;
}

.scroll-down-image {
    height: auto;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.scroll-down-image:hover {
    transform: translateY(5px); /* Adds a hover effect */
}

/* Responsive Design */
@media (max-width: 768px) {
    .header-content-wrapper {
        flex-direction: column;
    }

    .header-content {
        margin-bottom: 20px;
    }

    .header-extra-images {
        flex-direction: column;
        gap: 10px;
    }
}

.section-separator {
    display: flex;
    flex-direction: column; /* Stack items vertically */
    align-items: center; /* Center align all content */
    gap: 10px; /* Space between text and arrow */
    margin: 20px 0; /* Adjust the margin to position the separator */
    width: 100%;
    transition: transform 0.3s ease; /* Smooth transition for hover effect */
}

.section-separator:hover {
    transform: translateY(-5px); /* Move the separator up slightly on hover */
}

.lines-and-text {
    display: flex;
    align-items: center; /* Center align lines and text */
    justify-content: center;
    gap: 10px; /* Space between text and lines */
    width: 100%;
}

.lines-and-text .line {
    flex: 1 1;
    height: 2px; /* Thickness of the line */
    background-color: #ff4a57; /* Default line color */
    transition: background-color 0.3s ease; /* Smooth transition for hover effect */
}

.section-separator:hover .line {
    background-color: #ff6666; /* Change the line color on hover */
}

.lines-and-text .text {
    font-size: 25px;
    color: #232323; /* Default text color */
    white-space: nowrap; /* Prevent text wrapping */
    padding: 0px 20px;
    transition: color 0.3s ease; /* Smooth transition for hover effect */
}

.section-separator:hover .text {
    color: #444444; /* Change the text color on hover */
}

.arrow-icon {
    font-size: 40px; /* Make the arrow larger */
    color: #232323; /* Default arrow color */
    transition: transform 0.3s ease, color 0.3s ease; /* Smooth transition for hover effect */
}

.section-separator:hover .arrow-icon {
    color: #ff6666; /* Change the arrow color on hover */
    transform: translateY(-5px); /* Add downward movement to the arrow */
}

.qr-landing-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #ff5e4c 0%, #ff3366 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.qr-landing-content {
  background: #ffffff;
  border-radius: 24px;
  padding: 48px 32px;
  max-width: 480px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(255, 94, 76, 0.2);
  position: relative;
  overflow: hidden;
}

.qr-landing-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}

/* ICOMERGE Logo */
.icomerge-logo {
  margin-bottom: 32px;
}

.logo-image {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  animation: logoFloat 3s ease-in-out infinite;
}

.logo-text {
  font-size: 24px;
  font-weight: 700;
  color: #232323;
  margin: 0;
  letter-spacing: 1px;
}

@keyframes logoFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

/* Status Icons */
.status-icon {
  margin-bottom: 24px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading-spinner {
  position: relative;
}

.spinner {
  border: 3px solid #ececec;
  border-top: 3px solid #ff5e4c;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.ready-icon svg,
.redirect-icon svg,
.error-icon svg {
  animation: fadeInScale 0.5s ease-out;
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.ready-icon svg circle,
.ready-icon svg path {
  stroke: #ff5e4c;
}

.redirect-icon svg {
  animation: slideRight 1s ease-in-out infinite;
}

.redirect-icon svg path {
  stroke: #ff3366;
}

@keyframes slideRight {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(10px); }
}

.error-icon svg circle,
.error-icon svg path {
  stroke: #ff3366;
}

/* Main Message */
.main-message {
  margin-bottom: 32px;
}

.status-title {
  font-size: 20px;
  font-weight: 600;
  color: #232323;
  margin: 0 0 16px 0;
  line-height: 1.4;
}

.product-info {
  background: #ececec;
  border-radius: 12px;
  padding: 16px;
  margin-top: 16px;
}

.product-title {
  font-size: 16px;
  font-weight: 600;
  color: #232323;
  margin: 0 0 4px 0;
}

.brand-name {
  font-size: 14px;
  color: #aeaeae;
  margin: 0;
  font-style: italic;
}

/* Countdown */
.countdown-container {
  margin-bottom: 32px;
}

.countdown-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff5e4c, #ff3366) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  animation: pulse 1s ease-in-out infinite !important;
  box-shadow: 0 8px 25px rgba(255, 94, 76, 0.3) !important;
  position: relative;
  overflow: hidden;
}

/* Remove any potential white background and ensure proper styling */
.countdown-number {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  background: transparent; /* Explicitly remove any background */
  border: none;
  outline: none;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); /* Add subtle text shadow for better readability */
  z-index: 2;
  position: relative;
}

/* Add a subtle inner glow effect */
.countdown-circle::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.05));
  z-index: 1;
}

.countdown-text {
  font-size: 14px;
  color: #aeaeae;
  margin: 0;
  font-weight: 500;
}

@keyframes pulse {
  0%, 100% { 
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255, 94, 76, 0.3);
  }
  50% { 
    transform: scale(1.00865);
    box-shadow: 0 8px 17.3841px rgba(255, 94, 76, 0.337);
  }
}

/* Enhanced countdown with progress ring */
.countdown-circle-enhanced {
  width: 80px;
  height: 80px;
  position: relative;
  margin: 0 auto 12px;
}

.countdown-progress {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    #ff5e4c 0deg,
    #ff3366 calc(360deg * 0.2),
    #ececec calc(360deg * 0.2)
  );
  background: conic-gradient(
    from 0deg,
    #ff5e4c 0deg,
    #ff3366 calc(360deg * var(--progress, 0.2)),
    #ececec calc(360deg * var(--progress, 0.2))
  );
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pulse 1s ease-in-out infinite;
  box-shadow: 0 8px 25px rgba(255, 94, 76, 0.3);
}

.countdown-inner {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff5e4c, #ff3366);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.countdown-inner::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05));
}

/* Alternative minimal countdown design */
.countdown-minimal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 94, 76, 0.1);
  padding: 8px 16px;
  border-radius: 20px;
  margin: 0 auto 12px;
}

.countdown-number-minimal {
  font-size: 18px;
  font-weight: 700;
  color: #ff5e4c;
  background: transparent;
  min-width: 20px;
  text-align: center;
}

.countdown-text-minimal {
  font-size: 14px;
  color: #aeaeae;
  margin: 0;
}

/* Responsive countdown adjustments */
@media (max-width: 480px) {
  .countdown-circle {
    width: 64px;
    height: 64px;
  }
  
  .countdown-number {
    font-size: 24px;
  }

  .countdown-circle::before {
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
  }
}

/* Dark mode countdown adjustments */
/* @media (prefers-color-scheme: dark) {
  .countdown-text {
    color: #aeaeae;
  }
  
  .countdown-minimal {
    background: rgba(255, 94, 76, 0.15);
  }
} */

/* High contrast mode */
@media (prefers-contrast: high) {
  .countdown-number {
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  }
  
  /* .countdown-circle {
    border: 2px solid #ffffff;
  } */
}

/* Action Buttons */
.qr-landing-content .action-buttons {
  margin-bottom: 32px;
  display: flex;
  gap: 12px;
  justify-content: center;
}

.redirect-now-btn,
.retry-btn {
  background: linear-gradient(135deg, #ff5e4c, #ff3366);
  color: #ffffff;
  border: none;
  border-radius: 12px;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 94, 76, 0.3);
}

.redirect-now-btn:hover,
.retry-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 94, 76, 0.4);
  background: linear-gradient(135deg, #ff3366, #ff5e4c);
}

.redirect-now-btn:active,
.retry-btn:active {
  transform: translateY(0);
}

/* Secondary button variant */
.secondary-btn {
  background: transparent;
  color: #ff5e4c;
  border: 2px solid #ff5e4c;
  border-radius: 12px;
  padding: 12px 32px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-left: 12px;
}

.secondary-btn:hover {
  background: #ff5e4c;
  color: #ffffff;
  transform: translateY(-2px);
}

/* Error State */
.qr-landing-content .error-actions {
  text-align: center;
}

.error-message {
  font-size: 14px;
  color: #aeaeae;
  margin: 0 0 20px 0;
  line-height: 1.5;
}

.error-icon {
  color: #ff3366;
}

/* Footer */
.footer-info {
  border-top: 1px solid #ececec;
  padding-top: 20px;
}

.powered-by {
  font-size: 12px;
  color: #aeaeae;
  margin: 0 0 4px 0;
  font-weight: 500;
}

.scan-info {
  font-size: 11px;
  color: #ff5e4c;
  margin: 0;
  font-weight: 500;
}

/* Success indicators */
.success-indicator {
  color: #ff5e4c;
  font-weight: 600;
}

/* Progress bar */
.progress-bar {
  width: 100%;
  height: 4px;
  background: #ececec;
  border-radius: 2px;
  overflow: hidden;
  margin: 16px 0;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #ff5e4c, #ff3366);
  border-radius: 2px;
  transition: width 0.3s ease;
}

/* Status badges */
.status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-badge.loading {
  background: #ececec;
  color: #aeaeae;
}

.status-badge.ready {
  background: rgba(255, 94, 76, 0.1);
  color: #ff5e4c;
}

.status-badge.success {
  background: rgba(255, 94, 76, 0.1);
  color: #ff5e4c;
}

.status-badge.error {
  background: rgba(255, 51, 102, 0.1);
  color: #ff3366;
}

/* Responsive Design */
@media (max-width: 480px) {
  .qr-landing-container {
    padding: 16px;
  }
  
  .qr-landing-content {
    padding: 32px 24px;
  }
  
  .logo-text {
    font-size: 20px;
  }
  
  .status-title {
    font-size: 18px;
  }
  
  .countdown-circle {
    width: 64px;
    height: 64px;
  }
  
  .countdown-number {
    font-size: 24px;
  }

  .redirect-now-btn,
  .retry-btn {
    padding: 12px 24px;
    font-size: 14px;
  }

  .secondary-btn {
    margin-left: 0;
    margin-top: 12px;
    display: block;
    width: 100%;
  }
}

/* Dark mode support with ICOMERGE colors */
/* @media (prefers-color-scheme: dark) {
  .qr-landing-content {
    background: #232323;
    color: #ffffff;
    box-shadow: 0 20px 60px rgba(35, 35, 35, 0.4);
  }
  
  .logo-text,
  .status-title,
  .product-title {
    color: #ffffff;
  }
  
  .product-info {
    background: rgba(174, 174, 174, 0.1);
  }
  
  .brand-name,
  .countdown-text,
  .powered-by,
  .error-message {
    color: #aeaeae;
  }
  
  .footer-info {
    border-top-color: rgba(174, 174, 174, 0.2);
  }

  .spinner {
    border-color: rgba(174, 174, 174, 0.3);
    border-top-color: #ff5e4c;
  }

  .progress-bar {
    background: rgba(174, 174, 174, 0.2);
  }

  .status-badge.loading {
    background: rgba(174, 174, 174, 0.2);
    color: #aeaeae;
  }
} */

/* High contrast mode */
@media (prefers-contrast: high) {
  .qr-landing-content {
    border: 2px solid #232323;
  }
  
  .redirect-now-btn,
  .retry-btn {
    border: 2px solid #232323;
  }
  
  .secondary-btn {
    border-width: 3px;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .logo-image,
  .spinner,
  .countdown-circle,
  .redirect-icon svg,
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* Focus states for accessibility */
.redirect-now-btn:focus,
.retry-btn:focus,
.secondary-btn:focus {
  outline: 3px solid #ff5e4c;
  outline-offset: 2px;
}

/* Loading states */
.loading-spinner {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.status-icon svg {
  transition: all 0.3s ease;
}

/* Smooth transitions between states */
.main-message,
.countdown-container,
.action-buttons {
  transition: all 0.3s ease;
}

/* Additional ICOMERGE branded elements */
.icomerge-pattern {
  position: absolute;
  top: -50px;
  right: -50px;
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, rgba(255, 94, 76, 0.05), rgba(255, 51, 102, 0.05));
  border-radius: 50%;
  z-index: -1;
}

.icomerge-pattern::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 20px;
  width: 60px;
  height: 60px;
  background: linear-gradient(45deg, rgba(255, 94, 76, 0.03), rgba(255, 51, 102, 0.03));
  border-radius: 50%;
}

/* Subtle brand accent */
.brand-accent {
  height: 2px;
  width: 40px;
  background: linear-gradient(90deg, #ff5e4c, #ff3366);
  margin: 16px auto;
  border-radius: 1px;
}

/* Skeleton loading styles */
.product-info.loading {
  background: #ececec;
  border-radius: 12px;
  padding: 16px;
  margin-top: 16px;
}

.loading-placeholder {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.skeleton-line {
  height: 16px;
  background: linear-gradient(90deg, #aeaeae 25%, rgba(174, 174, 174, 0.5) 50%, #aeaeae 75%);
  background-size: 200% 100%;
  border-radius: 4px;
  animation: skeleton-loading 1.5s infinite;
}

.skeleton-line.title {
  height: 18px;
  width: 70%;
}

.skeleton-line.subtitle {
  height: 14px;
  width: 50%;
}

@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Smooth fade-in for content */
.product-info {
  animation: fadeIn 0.3s ease-out;
}

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

/* Ensure the page appears immediately */
.qr-landing-container {
  animation: pageAppear 0.2s ease-out;
}

@keyframes pageAppear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.tenant-explorer-header-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem 1rem;
    background-color: #fff;
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    width: 100%;
    max-width: 1200px;
}

.logo-slogan-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1 1;
    align-items: flex-start;
    width: 100%;
}

.logo {
    font-size: 3rem;
    font-weight: bold;
    color: #222;
}

.highlighted-i {
    color: #ff4e42;
}

.slogan {
    font-size: 1.5rem;
    color: #555;
}

.highlight {
    color: #ff4e42;
}

.header-image {
    width: 350px;
    max-width: 100%;
    object-fit: contain;
    flex-shrink: 0;
}

/* Container for the search bar to allow centering in search-only mode */
.searchbar-container {
    width: 100%;
}

/* ----- Search Only Mode ----- */
.tenant-explorer-header-container.search-only {
    padding: 1rem;
}

.tenant-explorer-header-container.search-only .header-content {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0px;
}

.tenant-explorer-header-container.search-only .logo-slogan-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.tenant-explorer-header-container.search-only .logo,
.tenant-explorer-header-container.search-only .slogan,
.tenant-explorer-header-container.search-only .header-image {
    display: none;
}

.tenant-explorer-header-container.search-only .searchbar-container {
    max-width: 800px;
    margin: 0 auto;
}

/* Mobile Responsive Styles */
@media (max-width: 968px) {
  .tenant-explorer-header-container {
    padding: 1.5rem 1rem;
  }

  .tenant-explorer-header-container.search-only {
    padding: 0.75rem 1rem;
  }

  .host-header-content {
    flex-direction: column;
    gap: 1.5rem;
  }

  .logo-slogan-container {
    align-items: center;
    text-align: center;
    width: 100%;
  }

  .host-logo {
    font-size: 2rem;
    margin-bottom: 1rem;
  }

  .searchbar-container {
    width: 100%;
  }

  .header-image {
    width: 250px;
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
    .tenant-explorer-header-container {
        padding: 1rem 0.75rem;
    }

    .tenant-explorer-header-container.search-only {
        padding: 0.5rem 0.75rem;
    }

    .host-logo {
        font-size: 1.75rem;
        margin-bottom: 0.75rem;
    }

    .header-image {
        width: 200px;
    }

    .searchbar-container {
        width: 100%;
        padding: 0;
    }
}

@media (max-width: 480px) {
    .tenant-explorer-header-container {
        padding: 0.75rem 0.5rem;
    }

    .host-logo {
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
    }

    .header-image {
        width: 180px;
    }
}
.product-listing-container {
    position: relative;
    width: 100%;
    margin: 2rem 0;
    /* you can adjust top/bottom margin as needed */
  }
  
  .scroll-wrapper {
    position: relative;
    /* Optional: add padding or background color */
    padding: 0.5rem 0;
  }
  
  .product-container {
    display: flex;
    gap: 1rem; /* space between cards */
    overflow-x: auto; /* enable horizontal scroll */
    scroll-behavior: smooth; /* smooth scroll for modern browsers */
    padding: 15px; /* some vertical padding if needed */
    margin-bottom: 1rem; /* space below the cards */
  }
  
  .product-container::-webkit-scrollbar {
    height: 0.5rem; /* optional: style the scrollbar */
  }
  .product-container::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  .product-container::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
  }
  
  .product-card-container {
    flex: 0 0 auto;
    width: 250px; /* fix card width to match your mockup */
    /* If you want a dynamic width, you can do min-width: 250px; */
  }
  
  .scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .scroll-arrow.left {
    left: 0; /* place arrow on the left */
  }
  
  .scroll-arrow.right {
    right: 0; /* place arrow on the right */
  }
  
  /* Hover effect for arrows (optional) */
  .scroll-arrow:hover {
    background-color: #ff5b5b;
    color: #fff;
  }
  
  /* For the optional horizontal-scroll class if you need separate styling */
  .horizontal-scroll {
    /* Additional styling if you want, e.g., no vertical scrollbar, etc. */
  }
  
.brand-listing-container {
    margin: 20px 0;
}

.scroll-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll;
    gap: 10px;
    padding: 15px;
    scroll-behavior: smooth;
}

.horizontal-scroll {
    max-width: 100%; /* Makes sure it fills the parent container */
    display: flex
}

.brand-card-container {
    width: 250px; /* Adjust width as needed */
    flex-shrink: 0; /* Prevent items from shrinking */
}

.scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
}

.scroll-arrow.left {
    left: 10px;
}

.scroll-arrow.right {
    right: 10px;
}

/* —————————————————————
   BRAND CARD BASE STYLES
————————————————————— */

.brand-card {
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, filter 0.3s ease;
  position: relative;   /* for shimmer overlay */
}

.brand-card:hover {
  transform: translateY(-2px);
}

/* Body & layout */
.brand-card-body {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Logo section */
.brand-card-image {
  width: 100%;
  height: 140px;
  overflow: hidden;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; /* Prevent shrinking */
}

.brand-logo {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
}

/* Info */
.brand-info {
  text-align: center;
  margin-bottom: 1rem;
  flex-grow: 1; /* Allow this section to grow */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.brand-name {
  font-size: 1rem;
  font-weight: 600;
  margin: 0.5rem 0 0.25rem 0;
  color: #232323;
  font-style: inherit;
  min-height: 1.5rem; /* Reserve space for brand name */
}

.brand-description {
  font-size: 0.9rem;
  color: #555;
  margin-bottom: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;       /* Limit to 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  min-height: 2.5rem; /* Reserve space for 2 lines */
}

/* Quick Actions Bar - Customer View */
.brand-quick-actions {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  margin-top: auto; /* Push to bottom */
  padding: 0.5rem;
  background-color: #f8f8f8;
  border-radius: 12px;
}

.brand-quick-action-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background-color: #fff;
  color: #232323;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 18px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.brand-quick-action-btn:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.brand-quick-action-btn.like-btn.liked {
  background-color: #ffe5e5;
  color: #ff5e4c;
}

.brand-quick-action-btn.shop-btn:hover {
  background-color: #10b981;
  color: white;
}

.brand-quick-action-btn.contact-btn:hover {
  background-color: #3b82f6;
  color: white;
}

.brand-quick-action-btn.profile-btn:hover {
  background-color: #8b5cf6;
  color: white;
}

.brand-quick-action-btn svg {
  width: 20px;
  height: 20px;
}

/* Original Buttons - Business View */
.brand-card-buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: auto; /* push buttons to bottom */
}

.brand-info-button,
.brand-collaborate-button {
  border-radius: 20px;
  padding: 0.4rem 0.8rem;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
  flex: 1 1;
  text-align: center;
}

.brand-info-button {
  background-color: #fff;
  color: #ff5b5b;
  border: 2px solid #ff5b5b;
}

.brand-info-button:hover {
  background-color: #ff3d3d;
  color: #fff;
}

.brand-collaborate-button {
  background-color: #ff5b5b;
  color: #fff;
  border: none;
}

.brand-collaborate-button:hover {
  background-color: #ff3d3d;
}

/* —————————————————————
   LOADING / SKELETON STATE
   Apply when <BrandCard loading={true} />
————————————————————— */

/* blur & grayscale the entire card */
.brand-card.loading {
  filter: blur(4px) grayscale(1);
  pointer-events: none;
}

/* make sure the body area has visible block size */
.brand-card.loading .brand-card-body {
  min-height: 200px;       /* adjust to match your real content height */
  background-color: #eee;  /* light grey behind shimmer */
}

/* shimmer overlay */
.brand-card.loading::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.6) 50%,
    rgba(255,255,255,0) 100%
  );
  animation: shimmer 1.5s infinite;
  z-index: 2;
}

/* shimmer keyframes */
@keyframes shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
/* Filter Bar Styles */
.filter-bar {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid #f0f0f0;
}

.filter-button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 10px 20px;
  background: white;
  border: 2px solid #FF5E4D;
  color: #FF5E4D;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
}

.filter-button:hover {
  background: #FF5E4D;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 94, 77, 0.3);
}

.filter-button:active {
  transform: translateY(0);
}

.filter-button svg {
  font-size: 20px;
}

.filter-count-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #FF5E4D;
  color: white;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.clear-filters-button {
  padding: 10px 20px;
  background: #f8f9fa;
  border: 2px solid #dee2e6;
  color: #6c757d;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.clear-filters-button:hover {
  background: #e9ecef;
  border-color: #adb5bd;
  color: #495057;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .filter-bar {
    padding: 0.75rem 0.25rem;
    gap: 0.75rem;
  }

  .filter-button {
    padding: 8px 16px;
    font-size: 14px;
  }

  .filter-button svg {
    font-size: 18px;
  }

  .clear-filters-button {
    padding: 8px 16px;
    font-size: 13px;
  }

  .filter-count-badge {
    width: 20px;
    height: 20px;
    font-size: 11px;
  }
}

@media (max-width: 480px) {
  .filter-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-button,
  .clear-filters-button {
    width: 100%;
    justify-content: center;
  }
}

/* Enhanced Filter UX Styles */
.filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.filter-loading {
  display: flex;
  align-items: center;
}

.mini-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.filter-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  margin: 4px 0;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}

.filter-item:hover {
  background-color: #f8f9fa;
  transform: translateX(2px);
}

.filter-item.selected {
  background-color: #007bff;
  color: white;
}

.filter-item.active {
  box-shadow: 0 0 0 2px #007bff;
}

.selected-indicator {
  font-size: 12px;
  font-weight: bold;
}

.clear-filters-btn {
  width: 100%;
  padding: 10px;
  border: none;
  border-radius: 6px;
  background-color: #6c757d;
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.clear-filters-btn:hover:not(:disabled) {
  background-color: #5a6268;
}

.clear-filters-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.active-filters-count {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 2px 8px;
  font-size: 12px;
}

.filter-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

.filter-overlay-content {
  display: flex;
  align-items: center;
  gap: 12px;
  background: white;
  padding: 16px 24px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* .spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #007bff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
} */

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Smooth transitions for product cards */
.product-search-section .row {
  position: relative;
}

/* Enhanced hover effects */
.filter-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.filter-category {
  margin-bottom: 1.5rem;
}

.filter-category h4 {
  margin-bottom: 0.5rem;
  color: #495057;
  font-weight: 600;
}

/* Product Category Sections with Horizontal Scroll */
.product-category-section {
  margin-bottom: 3rem;
}

.category-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0 0.5rem;
}

.category-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #232323;
  margin: 0;
  position: relative;
  padding-bottom: 0.5rem;
}

.category-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #FF5E4D, #FF3D00);
  border-radius: 2px;
}

.category-count {
  font-size: 0.95rem;
  color: #666;
  background: #f5f5f5;
  padding: 4px 12px;
  border-radius: 20px;
  font-weight: 500;
}

/* Horizontal Scroll Container */
.horizontal-scroll-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Scroll Navigation Arrows */
.scroll-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  color: #FF5E4D;
  font-size: 24px;
}

.scroll-arrow:hover {
  background: #FF5E4D;
  color: white;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 16px rgba(255, 94, 77, 0.3);
}

.scroll-arrow:active {
  transform: translateY(-50%) scale(0.95);
}

.scroll-arrow.left {
  left: -15px;
}

.scroll-arrow.right {
  right: -15px;
}

/* Arrow icon sizing */
.scroll-arrow svg {
  width: 24px;
  height: 24px;
}

.horizontal-products-wrapper {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  padding: 1rem 0.5rem;
  scrollbar-width: thin;
  scrollbar-color: #FF5E4D #f5f5f5;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}

/* Custom Scrollbar for Webkit browsers */
.horizontal-products-wrapper::-webkit-scrollbar {
  height: 8px;
}

.horizontal-products-wrapper::-webkit-scrollbar-track {
  background: #f5f5f5;
  border-radius: 10px;
  margin: 0 0.5rem;
}

.horizontal-products-wrapper::-webkit-scrollbar-thumb {
  background: #FF5E4D;
  border-radius: 10px;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.horizontal-products-wrapper::-webkit-scrollbar-thumb:hover {
  background: #FF3D00;
}

/* Individual Product Item in Horizontal Layout */
.horizontal-product-item {
  flex: 0 0 auto;
  width: 280px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.horizontal-product-item:hover {
  transform: translateY(-8px);
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .product-category-section {
    margin-bottom: 2rem;
  }

  .category-header {
    padding: 0 0.25rem;
  }

  .category-title {
    font-size: 1.5rem;
  }

  .category-title::after {
    width: 50px;
    height: 2px;
  }

  .category-count {
    font-size: 0.85rem;
    padding: 3px 10px;
  }

  .horizontal-products-wrapper {
    gap: 1rem;
    padding: 0.75rem 0.25rem;
  }

  .horizontal-product-item {
    width: 240px;
  }

  /* Hide scrollbar on mobile for cleaner look */
  .horizontal-products-wrapper::-webkit-scrollbar {
    display: none;
  }

  .horizontal-products-wrapper {
    scrollbar-width: none;
  }

  /* Adjust arrows for mobile */
  .scroll-arrow {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  .scroll-arrow svg {
    width: 20px;
    height: 20px;
  }

  .scroll-arrow.left {
    left: 5px;
  }

  .scroll-arrow.right {
    right: 5px;
  }
}

@media (max-width: 480px) {
  .category-title {
    font-size: 1.25rem;
  }

  .category-count {
    font-size: 0.8rem;
    padding: 2px 8px;
  }

  .horizontal-products-wrapper {
    gap: 0.75rem;
  }

  .horizontal-product-item {
    width: 200px;
  }

  /* Smaller arrows for very small screens */
  .scroll-arrow {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  .scroll-arrow svg {
    width: 18px;
    height: 18px;
  }

  .scroll-arrow.left {
    left: 2px;
  }

  .scroll-arrow.right {
    right: 2px;
  }
}

/* Smooth animations for category sections */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product-category-section {
  animation: fadeInUp 0.4s ease-out;
}

/* Add subtle shadow to emphasize scrollability */
.horizontal-scroll-container::before,
.horizontal-scroll-container::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 8px;
  width: 40px;
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.horizontal-scroll-container::before {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.9), transparent);
}

.horizontal-scroll-container::after {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 0.9), transparent);
}

/* Empty state styling */
.infinite-scroll-component > p {
  font-size: 1.1rem;
  color: #666;
  padding: 2rem;
  text-align: center;
}

/* Loading state */
.product-search-section .loading-circle {
  margin: 2rem auto;
}
.filter-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  animation: fadeIn 0.2s ease;
}

.filter-modal {
  position: fixed;
  background: white;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  animation: slideUp 0.3s ease;
  /* Mobile: bottom sheet */
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 20px 20px 0 0;
  max-height: 85vh;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

.filter-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
}

.filter-modal-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #232323;
}

.filter-modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #666;
  cursor: pointer;
  padding: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.filter-modal-close:hover {
  color: #232323;
}

.filter-modal-content {
  flex: 1 1;
  overflow-y: auto;
  padding: 1.5rem;
}

.filter-group {
  margin-bottom: 1.5rem;
}

.filter-group label {
  display: block;
  font-weight: 600;
  color: #232323;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.filter-group input[type="text"],
.filter-group input[type="number"] {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.filter-group input:focus {
  outline: none;
  border-color: #FF5E4D;
}

.filter-datepicker {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.filter-datepicker:focus {
  outline: none;
  border-color: #FF5E4D;
}

.filter-modal-footer {
  display: flex;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-top: 1px solid #e0e0e0;
  flex-shrink: 0;
}

.filter-modal-footer button {
  flex: 1 1;
  padding: 0.875rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-clear {
  background: white;
  color: #FF5E4D;
  border: 2px solid #FF5E4D !important;
}

.btn-clear:hover {
  background: #ffe5e2;
}

.btn-apply {
  background: linear-gradient(45deg, #ff6b6b, #ee5a24);
  color: white;
}

.btn-apply:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
}

/* Adjust SearchableTagDropdown in modal */
.filter-group .searchable-tag-dropdown .custom-dropdown-button {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 1rem;
  background: white;
  color: #232323;
  transition: border-color 0.2s ease;
  box-shadow: none;
  justify-content: space-between;
}

.filter-group .searchable-tag-dropdown .custom-dropdown-button:hover {
  border-color: #FF5E4D;
  box-shadow: none;
  transform: none;
}

/* Desktop - centered modal */
@media (min-width: 769px) {
  .filter-modal {
    /* Center modal on desktop */
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    animation: fadeIn 0.3s ease;
    border-radius: 16px;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  }
}

/* Tablet */
@media (max-width: 768px) and (min-width: 481px) {
  .filter-modal {
    max-height: 75vh;
  }
  
  .filter-modal-header h2 {
    font-size: 1.25rem;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .filter-modal {
    max-height: 90vh;
    border-radius: 16px 16px 0 0;
  }

  .filter-modal-header {
    padding: 1rem 1.25rem;
  }

  .filter-modal-header h2 {
    font-size: 1.125rem;
  }

  .filter-modal-content {
    padding: 1.25rem;
  }

  .filter-group {
    margin-bottom: 1.25rem;
  }

  .filter-modal-footer {
    padding: 1rem 1.25rem;
    gap: 0.75rem;
  }

  .filter-modal-footer button {
    padding: 0.75rem;
    font-size: 0.9rem;
  }
}

.brand-search-section {
  padding: 1rem;
  max-width: 1400px;
  margin: 0 auto;
}

.infinite-scroll-component {
  overflow: visible !important;
}

/* Brand Grid */
.brands-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
  padding: 1rem 0;
  width: 100%;
}

.brand-grid-item {
  width: 100%;
  min-width: 0;
}

/* No Results */
.no-results {
  text-align: center;
  padding: 4rem 2rem;
  color: #666;
}

.no-results h3 {
  color: #333;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.no-results p {
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .brands-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.25rem;
  }
}

@media (max-width: 768px) {
  .brand-search-section {
    padding: 0.5rem;
  }

  .brands-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
    padding: 0.5rem 0;
  }

  .no-results {
    padding: 3rem 1rem;
  }

  .no-results h3 {
    font-size: 1.3rem;
  }

  .no-results p {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  .brand-search-section {
    padding: 0.25rem;
  }

  .brands-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.75rem;
  }
}

@media (max-width: 320px) {
  .brands-grid {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.5rem;
  }
}
.main {
    display: block;
}

/* Header (example if you need it) */
.tenant-explorer-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    height: 40%;
}

/* Main Container */
.search-page-container {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
    min-height: 100vh;
}

/* Map Container */
.search-page-map-container {
    height: 85vh;
    transform: none;
    transform: initial;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    flex: 1 1;
    overflow-y: auto;
}

/* Result Listings */
.search-page-result-listings {
    flex: 1 1;
}

/* Grid for Listings */
.listings-container {
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); /* Adjust minmax as needed */
    grid-gap: 20px;
    gap: 20px; /* Space between grid items */
    padding: 20px; /* Padding around the entire grid */
    /* Add more styles as needed */
}

.listing-container-title {
    margin-top: 5%;
    margin-bottom: 5%;
}

/* Example container for user pictures */
.search-user-pictures-container {
    display: flex;
    flex-direction: column;
    height: 400px; /* Fixed height */
    overflow: hidden;
}

/* Finder Image (if used) */
.finder-img {
    display: flex;
    width: 551px;
    height: 551px;
    padding: 13.778px 26.099px 13.772px 25.95px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

/* ----- New or Updated Classes for the Black Separator and More Button ----- */

/* Section Title (e.g. for Popular Products / Popular Brands) */
.section-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 1rem 0 0.25rem 0;
    text-align: left; /* or center, depending on your design */
}

/* “More Products” / “More Brands” button with black background and search icon */
.more-button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem; /* space between text and icon */
    background-color: #000; /* black background */
    color: #fff;            /* white text */
    border: none;
    border-radius: 20px;
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: 1rem; /* spacing above the button */
}

.more-button:hover {
    background-color: #333; /* slightly lighter black on hover */
}

/* Optional icon styling for the magnifying glass */
.tenant-explorer-page .search-icon {
  position: static;
  color: #ffffff;
  transform: translateY(0%);
  font-size: 1.2rem;
}

.initial-main {
    min-height: 80vh; /* Adjust this value as needed */
    transition: min-height 0.3s ease;
    padding: 0 1.5rem;
}

/* The container for the tabs + sort on the right */
.search-mode-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 1rem 0;
    padding: 0 1rem; /* horizontal padding if needed */
  }
  
  /* The left side with two tabs */
  .search-mode-bar .tabs {
    display: flex;
    gap: 1.5rem; /* space between the two buttons */
  }
  
  /* Each tab button */
  .tab-button {
    background: none;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0.25rem 0;
    color: #333;
    transition: color 0.2s ease;
    position: relative;
  }
  
  /* The underline for the active tab */
  .tab-button.active::after {
    content: none;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
  }

  .tab-button.active {
    font-weight: bold;
  }
  
  /* On hover, optionally highlight the text */
  .tab-button:hover {
    color: #000;
  }
  
  /* The right side sort label + icon */
  .sort-section {
    display: flex;
    align-items: center;
    font-size: 1rem;
    gap: 0.5rem; /* space between text and icon */
  }
  
  /* A line under the bar, if desired */
  .search-mode-underline {
    border: none;            /* Remove default browser border */
    height: 2px;             /* Line thickness */
    background-color: #000;  /* Black line */
    margin-bottom: 1rem;     /* Spacing below the line */
    /* Optionally remove any default styling in some browsers */
    appearance: none;
    -webkit-appearance: none;
  }
  

/* Responsive adjustments for smaller screens */
@media (max-width: 600px) {
    .listings-container {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    .search-user-pictures-container {
        height: 300px; /* Smaller height for smaller screens */
    }
}

/* Enhanced transition styles */

.back-to-default-btn {
  background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.9rem;
}

.back-to-default-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.3);
}

.search-mode-underline {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, var(--accent-red), var(--accent-orange));
  margin-bottom: 2rem;
  border-radius: 1px;
}

/* Smooth header transition */
.tenant-explorer-header-container {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.tenant-explorer-header-container.search-only {
  min-height: auto;
  padding: 1rem 0;
}

/* Enhanced animation for content sections */
.initial-main {
  position: relative;
  overflow: hidden;
  padding: 0 1.5rem;
}

/* Loading state improvements */
.search-transition-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  font-size: 1.1rem;
  color: var(--accent-red);
}

/* ProductsMap Mobile Responsive Styles */

.product-info-card {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: white;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  z-index: 10000;
  overflow: hidden;
  max-width: 380px;
  animation: slideUpCard 0.3s ease;
  display: flex;
  flex-direction: column;
}

@keyframes slideUpCard {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.info-card-close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  font-size: 1.25rem;
  font-weight: 300;
  color: #333;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  line-height: 1;
}

.info-card-close-btn:hover {
  background: white;
  color: #000;
  transform: scale(1.1);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
}

.info-card-image-container {
  position: relative;
  width: 100%;
  height: 200px;
  background: #f5f5f5;
  flex-shrink: 0;
}

.info-card-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #f9f9f9;
}

.info-card-no-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 1rem;
}

.info-card-image-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.5rem;
  color: #232323;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.info-card-image-nav-btn:hover {
  background: white;
  transform: translateY(-50%) scale(1.1);
}

.info-card-image-nav-btn.prev-btn {
  left: 12px;
}

.info-card-image-nav-btn.next-btn {
  right: 12px;
}

.info-card-image-indicators {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
}

.indicator-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}

.indicator-dot.active {
  background: white;
  width: 24px;
  border-radius: 4px;
}

.info-card-content {
  padding: 0.75rem 1rem;
  flex-shrink: 0;
}

.info-card-title {
  margin: 0 0 0.4rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #232323;
  line-height: 1.3;
}

.info-card-price {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 700;
  color: #ff5e4c;
}

.info-card-locations {
  padding: 0 1rem 0.75rem 1rem;
  max-height: none;
  overflow-y: visible;
  flex-shrink: 1;
  min-height: 0;
}

.current-location-section h4 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 0.5rem 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.locations-dropdown-btn {
  background: #f5f5f5;
  border: none;
  border-radius: 16px;
  padding: 0.25rem 0.75rem;
  font-size: 0.8rem;
  color: #FF5E4D;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: all 0.2s ease;
}

.locations-dropdown-btn:hover {
  background: #ffe5e2;
}

.locations-dropdown-icon {
  transition: transform 0.2s ease;
}

.locations-dropdown-btn.expanded .locations-dropdown-icon {
  transform: rotate(180deg);
}

.info-card-location-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  background: #f9f9f9;
  border-radius: 10px;
  margin-bottom: 0.5rem;
}

.info-card-location-item.current {
  background: linear-gradient(135deg, rgba(255, 94, 76, 0.08) 0%, rgba(238, 90, 36, 0.08) 100%);
  border: 1px solid rgba(255, 94, 76, 0.2);
}

.location-item-info {
  flex: 1 1;
}

.location-item-name {
  font-weight: 600;
  color: #232323;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

.location-item-city {
  font-size: 0.85rem;
  color: #666;
}

.location-nav-btn {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  color: white;
  border: none;
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}

.location-nav-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
}

.other-locations-section {
  margin-top: 1rem;
}

.info-card-locations-subtitle {
  margin: 0 0 0.75rem 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.info-card-locations-list {
  max-height: 200px;
  overflow-y: auto;
}

.info-card-actions {
  padding: 0.75rem 1rem;
  display: flex;
  gap: 0.5rem;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
  flex-shrink: 0;
}

.info-card-action-btn {
  flex: 1 1;
  padding: 0.6rem;
  border: 2px solid #e0e0e0;
  background: white;
  border-radius: 8px;
  font-size: 1.1rem;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.info-card-action-btn:hover {
  border-color: #ff6b6b;
  color: #ff6b6b;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.2);
}

.info-card-action-btn.like-btn.liked {
  border-color: #ff5e4c;
  color: #ff5e4c;
  background: #ffe5e2;
}

.info-card-action-btn.buy-btn {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  border: none;
  color: white;
}

.info-card-action-btn.buy-btn:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);
}

.map-recenter-button {
  position: absolute;
  top: 20px;
  right: 20px;
  background: white;
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
  z-index: 1000;
}

.map-recenter-button:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.product-price-marker {
  background: white;
  padding: 6px 12px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  /* Only transition scale, box-shadow, border - NOT transform to avoid lag when map moves */
  transition: box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  border: 2px solid transparent;
  /* Ensure transform changes (positioning) happen instantly */
  will-change: auto;
}

.product-price-marker:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
  border-color: #ff6b6b;
}

.product-price-marker.selected {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  color: white;
  transform: scale(1.15);
  box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
  border-color: transparent;
}

.price-tag {
  display: flex;
  align-items: center;
  gap: 2px;
  font-weight: 700;
  font-size: 0.9rem;
}

.product-price-marker.selected .price-tag {
  color: white;
}

/* Popup Styles */
.product-popup {
  min-width: 280px;
  max-width: 350px;
}

.product-popup-header {
  padding: 0.75rem;
  border-bottom: 1px solid #f0f0f0;
}

.product-popup-title {
  margin: 0 0 0.5rem 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: #232323;
}

.product-popup-price {
  margin: 0 0 0.25rem 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #ff5e4c;
}

.product-popup-locations-count {
  margin: 0;
  font-size: 0.8rem;
  color: #666;
  font-weight: 500;
}

.product-popup-locations {
  padding: 0.75rem;
  border-bottom: 1px solid #f0f0f0;
}

.locations-scroll {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  -webkit-overflow-scrolling: touch;
}

.locations-scroll::-webkit-scrollbar {
  height: 4px;
}

.locations-scroll::-webkit-scrollbar-thumb {
  background: #ddd;
  border-radius: 4px;
}

.location-card {
  flex-shrink: 0;
  background: #f9f9f9;
  border-radius: 10px;
  padding: 0.75rem;
  min-width: 200px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
  border: 2px solid transparent;
}

.location-card:hover {
  background: #f0f0f0;
  border-color: #ff6b6b;
}

.location-card.current {
  background: linear-gradient(135deg, rgba(255, 94, 76, 0.08) 0%, rgba(238, 90, 36, 0.08) 100%);
  border-color: rgba(255, 94, 76, 0.3);
}

.location-card-icon {
  font-size: 1.25rem;
  flex-shrink: 0;
}

.location-card-content {
  flex: 1 1;
  min-width: 0;
}

.location-card-shop {
  font-weight: 600;
  font-size: 0.9rem;
  color: #232323;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.25rem;
}

.location-card-city {
  font-size: 0.75rem;
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.location-card-arrow {
  font-size: 1.25rem;
  color: #ff6b6b;
  flex-shrink: 0;
}

.product-popup-single-location {
  padding: 0.75rem;
  border-bottom: 1px solid #f0f0f0;
}

.product-popup-property {
  margin: 0 0 0.25rem 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #232323;
}

.product-popup-location {
  margin: 0;
  font-size: 0.85rem;
  color: #666;
}

.product-popup-actions {
  display: flex;
  gap: 0.5rem;
  padding: 0.75rem;
}

.popup-action-btn {
  flex: 1 1;
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  padding: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.125rem;
  color: #666;
  transition: all 0.2s ease;
  text-decoration: none;
}

.popup-action-btn:hover {
  border-color: #ff6b6b;
  color: #ff6b6b;
}

.popup-action-btn.like-btn.liked {
  border-color: #ff5e4c;
  color: #ff5e4c;
  background: #ffe5e2;
}

.popup-action-btn.buy-btn {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  border: none;
  color: white;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
  .product-info-card {
    left: 10px;
    right: 10px;
    bottom: 100px; /* Position above bottom sheet */
    max-width: none;
    max-height: 65vh;
    overflow-y: visible;
  }

  .info-card-image-container {
    height: 160px;
  }

  .info-card-content {
    padding: 0.65rem 0.875rem;
  }

  .info-card-title {
    font-size: 1rem;
    margin-bottom: 0.3rem;
  }

  .info-card-price {
    font-size: 1.2rem;
  }

  .info-card-locations {
    padding: 0 0.875rem 0.65rem 0.875rem;
  }

  .info-card-actions {
    padding: 0.65rem 0.875rem;
    gap: 0.4rem;
  }

  .info-card-action-btn {
    padding: 0.55rem;
    font-size: 1rem;
  }

  .map-recenter-button {
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
  }

  .info-card-location-item {
    padding: 0.625rem;
  }

  .location-item-name {
    font-size: 0.875rem;
  }

  .location-item-city {
    font-size: 0.8rem;
  }

  .location-nav-btn {
    padding: 0.5rem 0.625rem;
    font-size: 0.8rem;
  }

  .product-popup {
    min-width: 260px;
    max-width: 90vw;
  }

  .location-card {
    min-width: 180px;
    padding: 0.625rem;
  }
}

@media (max-width: 480px) {
  .product-info-card {
    border-radius: 12px;
    max-height: 75vh;
  }

  .info-card-image-container {
    height: 180px;
  }

  .info-card-close-btn {
    width: 28px;
    height: 28px;
    font-size: 1.1rem;
    top: 8px;
    right: 8px;
  }

  .info-card-content {
    padding: 0.75rem 0.875rem;
  }

  .info-card-title {
    font-size: 1rem;
  }

  .info-card-price {
    font-size: 1.125rem;
  }

  .info-card-locations {
    padding: 0 0.875rem 0.75rem;
  }

  .info-card-actions {
    padding: 0.75rem 0.875rem;
    gap: 0.5rem;
  }

  .info-card-action-btn {
    padding: 0.625rem;
    font-size: 1rem;
    border-radius: 8px;
  }

  .product-price-marker {
    padding: 5px 10px;
    font-size: 0.85rem;
  }

  .info-card-locations-list {
    max-height: 150px;
  }

  .locations-dropdown-btn {
    padding: 0.2rem 0.625rem;
    font-size: 0.75rem;
  }

  .location-card {
    min-width: 160px;
    padding: 0.5rem;
  }

  .location-card-shop {
    font-size: 0.85rem;
  }

  .location-card-city {
    font-size: 0.7rem;
  }
}

/* Prevent body scroll when info card is open on mobile */
@media (max-width: 768px) {
  body.info-card-open {
    overflow: hidden;
  }
}

.main {
    display: block;
}

/* Header (example if you need it) */
.tenant-explorer-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    height: 40%;
}

/* Main Container */
.search-page-container {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
    min-height: 100vh;
}

/* Map Container */
.search-page-map-container {
    height: 85vh;
    transform: none;
    transform: initial;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    flex: 1 1;
    overflow-y: auto;
}

/* Result Listings */
.search-page-result-listings {
    flex: 1 1;
}

/* Grid for Listings */
.listings-container {
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); /* Adjust minmax as needed */
    grid-gap: 20px;
    gap: 20px; /* Space between grid items */
    padding: 20px; /* Padding around the entire grid */
    /* Add more styles as needed */
}

.listing-container-title {
    margin-top: 5%;
    margin-bottom: 5%;
}

/* Example container for user pictures */
.search-user-pictures-container {
    display: flex;
    flex-direction: column;
    height: 400px; /* Fixed height */
    overflow: hidden;
}

/* Finder Image (if used) */
.finder-img {
    display: flex;
    width: 551px;
    height: 551px;
    padding: 13.778px 26.099px 13.772px 25.95px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

/* ----- New or Updated Classes for the Black Separator and More Button ----- */

/* Section Title (e.g. for Popular Products / Popular Brands) */
.section-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 1rem 0 0.25rem 0;
    text-align: left; /* or center, depending on your design */
}

/* “More Products” / “More Brands” button with black background and search icon */
.more-button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem; /* space between text and icon */
    background-color: #000; /* black background */
    color: #fff;            /* white text */
    border: none;
    border-radius: 20px;
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: 1rem; /* spacing above the button */
}

.more-button:hover {
    background-color: #333; /* slightly lighter black on hover */
}

/* Optional icon styling for the magnifying glass */
.customer-explorer-page .search-icon {
  position: static;
  color: #ffffff;
  transform: translateY(0%);
  font-size: 1.2rem;
}

.initial-main {
    min-height: 80vh; /* Adjust this value as needed */
    transition: min-height 0.3s ease;
    padding: 0 1.5rem;
}

/* The container for the tabs + sort on the right */
.search-mode-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 1rem 0;
    padding: 0 1rem; /* horizontal padding if needed */
  }
  
  /* The left side with two tabs */
  .search-mode-bar .tabs {
    display: flex;
    gap: 1.5rem; /* space between the two buttons */
  }
  
  /* Each tab button */
  .tab-button {
    background: none;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0.25rem 0;
    color: #333;
    transition: color 0.2s ease;
    position: relative;
  }
  
  /* The underline for the active tab */
  .tab-button.active::after {
    content: none;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
  }

  .tab-button.active {
    font-weight: bold;
  }
  
  /* On hover, optionally highlight the text */
  .tab-button:hover {
    color: #000;
  }
  
  /* Controls section (view toggle + sort) */
  .controls-section {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }

  /* View toggle buttons (Grid/Map) */
  .view-toggle {
    display: flex;
    gap: 0.5rem;
    padding: 0.25rem;
    background-color: #f5f5f5;
    border-radius: 8px;
  }

  .view-toggle .toggle-btn {
    background: none;
    border: none;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    cursor: pointer;
    color: #666;
    transition: all 0.2s ease;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .view-toggle .toggle-btn:hover {
    color: #000;
    background-color: #e0e0e0;
  }

  .view-toggle .toggle-btn.active {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
    box-shadow: 0 2px 4px rgba(255, 94, 76, 0.3);
  }

  /* The right side sort label + icon */
  .sort-section {
    display: flex;
    align-items: center;
    font-size: 1rem;
    gap: 0.5rem; /* space between text and icon */
  }
  
  /* A line under the bar, if desired */
  .search-mode-underline {
    border: none;            /* Remove default browser border */
    height: 2px;             /* Line thickness */
    background-color: #000;  /* Black line */
    margin-bottom: 1rem;     /* Spacing below the line */
    /* Optionally remove any default styling in some browsers */
    appearance: none;
    -webkit-appearance: none;
  }

  /* Map View Container - Split Layout */
  .map-view-container {
    display: flex;
    gap: 1.5rem;
    width: 100%;
    min-height: 70vh;
    margin: 1rem 0;
    position: relative;
  }

  /* Products Grid Container - Left Side */
  .map-view-container .products-grid-container {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    background: white;
    padding: 0 1.5rem;
    overflow-y: auto;
    max-height: calc(100vh - 200px);
  }
  
  .map-view-container .products-grid-container::-webkit-scrollbar {
    width: 6px;
  }
  
  .map-view-container .products-grid-container::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
  }

  .map-view-container .products-grid-container::-webkit-scrollbar-track {
    background: transparent;
  }

  .grid-title {
    margin: 0 0 1.5rem 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #232323;
  }

  .products-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background: white;
    z-index: 10;
    padding: 1rem 0;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #f0f0f0;
  }

  .products-count {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #232323;
  }

  .mobile-bottom-sheet .products-count {
    font-size: 0.95rem;
  }

  .products-loading,
  .no-products {
    text-align: center;
    padding: 3rem;
    color: #666;
    font-size: 1.1rem;
  }

  /* Products Grid - 3 columns for desktop */
  .map-view-container .products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
    max-height: none;
    padding: 1rem 0;
  }

  /* Individual Product Grid Item */
  .map-view-container .products-grid .product-grid-item {
    background: white;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
  }

  .product-grid-clickable {
    padding: 0.75rem;
    cursor: pointer;
    flex: 1 1;
    display: flex;
    flex-direction: column;
  }

  .map-view-container .products-grid .product-grid-item:hover {
    border-color: #ff6b6b;
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.2);
    transform: translateY(-2px);
  }

  .map-view-container .products-grid .product-grid-item.selected {
    border-color: #ff5e4c;
    box-shadow: 0 6px 16px rgba(255, 94, 76, 0.3);
    background: linear-gradient(135deg, rgba(255, 107, 107, 0.05) 0%, rgba(238, 90, 36, 0.05) 100%);
  }

  .map-view-container .products-grid .product-grid-image {
    width: 100%;
    height: 180px;
    overflow: hidden;
    border-radius: 8px;
    margin-bottom: 0.75rem;
    background: #f5f5f5;
  }

  .map-view-container .products-grid .product-grid-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #f9f9f9;
  }

  .map-view-container .products-grid .product-grid-info {
    flex: 1 1;
    display: flex;
    flex-direction: column;
  }

  .map-view-container .products-grid .product-grid-title {
    margin: 0 0 0.5rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: #232323;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.3;
  }

  .map-view-container .products-grid .product-grid-location {
    margin: 0.25rem 0;
    font-size: 0.8rem;
    color: #666;
    font-weight: 500;
  }

  .map-view-container .products-grid .product-grid-city {
    margin: 0.25rem 0;
    font-size: 0.75rem;
    color: #999;
  }

  .map-view-container .products-grid .product-grid-price {
    margin-top: auto;
    padding-top: 0.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ff5e4c;
  }

  /* Multiple locations styling */
  .map-view-container .products-grid .product-grid-locations {
    margin: 0.5rem 0;
  }

  .map-view-container .products-grid .product-grid-locations-count {
    margin: 0 0 0.5rem 0;
    font-size: 0.8rem;
    color: #666;
    font-weight: 500;
  }

  .map-view-container .products-grid .product-grid-locations-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .location-badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background: linear-gradient(135deg, #4CAF50 0%, #2e7d32 100%);
    color: white;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
  }

  /* Product Grid Action Bar */
  .product-grid-actions {
    display: flex;
    gap: 0.5rem;
    padding: 0.65rem;
    border-top: 1px solid #f0f0f0;
    background: #fafafa;
  }

  .grid-action-btn {
    flex: 1 1;
    padding: 0.5rem;
    border: 1px solid #e0e0e0;
    background: white;
    border-radius: 6px;
    font-size: 1rem;
    color: #666;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }

  .grid-action-btn:hover {
    border-color: #ff6b6b;
    color: #ff6b6b;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(255, 107, 107, 0.2);
  }

  .grid-action-btn.buy-btn {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    border: none;
    color: white;
  }

  .grid-action-btn.buy-btn:hover {
    transform: translateY(-1px) scale(1.02);
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
  }

  /* Map Wrapper - Right Side */
  .map-wrapper {
    flex: 0 0 48%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    height: calc(100vh - 200px);
  }

  .map-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: #f5f5f5;
    color: #666;
    font-size: 1.1rem;
  }

  .selected-shop-info {
    position: absolute;
    top: 20px;
    right: 20px;
    background: white;
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-width: 300px;
    z-index: 1000;
  }

  .selected-shop-info h3 {
    margin: 0 0 0.5rem 0;
    font-size: 1.25rem;
    color: #232323;
  }

  .selected-shop-info p {
    margin: 0 0 1rem 0;
    color: #666;
    font-size: 0.9rem;
  }

  .selected-shop-info .btn {
    width: 100%;
  }
  

/* Floating Map Button for Mobile */
.mobile-map-toggle-btn {
  display: none;
}

/* Draggable Bottom Sheet for Mobile Map View */
.mobile-bottom-sheet {
  display: none;
}

  .mobile-bottom-sheet-handle {
    width: 40px;
    height: 4px;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    border-radius: 2px;
    margin: 0 auto;
    cursor: grab;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }

  /* Container for handle with padding */
  .mobile-bottom-sheet-handle-container {
    padding: 12px 0 8px 0;
    background: white;
    border-radius: 16px 16px 0 0;
  }

  /* Expand clickable/draggable area */
  .mobile-bottom-sheet-handle::before {
    content: '';
    position: absolute;
    top: -12px;
    left: -50vw;
    right: -50vw;
    bottom: -8px;
    width: 100vw;
    margin-left: -50vw;
    left: 50%;
  }

.mobile-bottom-sheet-handle:active {
  cursor: grabbing;
}

.mobile-bottom-sheet-content {
  padding: 0 1rem 2rem 1rem;
  overflow-y: auto;
  max-height: calc(85vh - 60px);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: #ffffff;
}

  .mobile-bottom-sheet .products-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background: white;
    z-index: 10;
    padding: 0.75rem 0 1rem 0;
    margin-bottom: 0.5rem;
    border-bottom: 2px solid #ff5e4c;
    animation: fadeIn 0.3s ease;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }

  .mobile-bottom-sheet .products-header:active {
    cursor: grabbing;
  }

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

/* Responsive adjustments for smaller screens */
@media (max-width: 1400px) {
  .map-view-container .products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1200px) {
  .map-view-container .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .map-view-container {
    flex-direction: column;
    height: 100vh;
    gap: 0;
    margin: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    overflow: hidden;
  }

  /* Hide desktop products grid on mobile */
  .map-view-container .products-grid-container {
    display: none;
  }

  /* Map takes full screen on mobile */
  .map-view-container .map-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    border-radius: 0;
    box-shadow: none;
    height: 100vh;
    width: 100vw;
  }

  /* Show draggable bottom sheet on mobile */
  .mobile-bottom-sheet {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1001;
    max-height: 85vh;
    transform: translateY(calc(100% - 80px));
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
    pointer-events: auto;
  }

  .mobile-bottom-sheet.expanded {
    transform: translateY(5vh);
  }

  /* Dim map when bottom sheet is expanded */
  .mobile-bottom-sheet.expanded::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: -1;
    pointer-events: none;
  }

  .mobile-bottom-sheet .products-grid {
    padding-bottom: 2rem;
  }

  /* Adjust spacing when products header is hidden */
  .mobile-bottom-sheet-content:has(.products-grid:first-child) .products-grid {
    padding-top: 0.5rem;
  }

  /* Hide bottom sheet when product card is open */
  .mobile-bottom-sheet.hidden {
    display: none;
  }
  
  /* Prevent body scroll on mobile map view */
  body.mobile-map-view {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }

  /* Hide view toggle on mobile, keep only sort/filter */
  .search-mode-bar .view-toggle {
    display: none;
  }

  /* Hide tabs on mobile map view - handled by JS */
  .search-mode-bar .tabs:empty {
    display: none;
  }

  /* Center controls when tabs are hidden */
  .search-mode-bar:has(.tabs:empty) {
    justify-content: center;
  }

  .map-view-container .products-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  /* Update mobile header for map view */
  .search-mode-bar {
    background: white;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1002;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin: 0;
    padding: 0.75rem 1rem;
  }

  /* Adjust map wrapper to account for fixed header */
  .map-view-container .map-wrapper {
    top: 60px;
    height: calc(100vh - 60px);
  }
}

@media (max-width: 600px) {
    .listings-container {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    .search-user-pictures-container {
        height: 300px; /* Smaller height for smaller screens */
    }

    .map-view-container {
      flex-direction: column;
      min-height: 100vh;
    }

    .map-view-container .products-grid-container {
      flex: 1 1;
      max-height: none;
      padding: 1rem;
    }

    .mobile-bottom-sheet .products-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }

    .mobile-bottom-sheet .product-grid-item {
      padding: 0.4rem;
    }

    .mobile-bottom-sheet .product-grid-image {
      height: 180px;
    }

    .mobile-bottom-sheet .product-grid-title {
      font-size: 0.9rem;
      margin-bottom: 0.3rem;
    }

    .mobile-bottom-sheet .product-grid-price {
      font-size: 1rem;
    }

    .mobile-bottom-sheet .product-grid-location,
    .mobile-bottom-sheet .product-grid-city {
      font-size: 0.75rem;
    }

    .map-view-container .map-wrapper {
      top: 60px;
      height: calc(100vh - 60px);
    }

    .selected-shop-info {
      top: 10px;
      right: 10px;
      padding: 1rem;
      max-width: 250px;
    }

    .controls-section {
      flex-direction: row;
      gap: 0.75rem;
      align-items: center;
      justify-content: space-between;
      width: 100%;
    }

    .search-mode-bar {
      padding: 0.75rem 1rem;
      gap: 0.75rem;
    }

    .sort-section select {
      padding: 0.35rem 0.5rem;
      font-size: 0.85rem;
    }
}

@media (max-width: 400px) {
  .mobile-bottom-sheet .products-grid {
    grid-template-columns: 1fr;
  }

  .mobile-bottom-sheet {
    transform: translateY(calc(100% - 75px));
  }
  
  .search-mode-bar {
    padding: 0.65rem 1rem;
  }

  .search-mode-bar .tabs {
    gap: 1rem;
  }

  .tab-button {
    font-size: 0.95rem;
  }
}

/* Mobile Search Bar Optimization */
@media (max-width: 768px) {
  .initial-main {
    padding: 0 0.75rem;
    min-height: 70vh;
  }

  .section-title {
    font-size: 1.125rem;
    margin: 0.75rem 0;
  }

  .popular-products,
  .popular-brands {
    margin-bottom: 2rem;
  }

  .search-mode-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 0.75rem 0.5rem;
    gap: 0.75rem;
  }

  .search-mode-bar .tabs {
    gap: 1.25rem;
    width: 100%;
    justify-content: flex-start;
  }

  .tab-button {
    font-size: 1rem;
    padding: 0.25rem 0;
  }

  .controls-section {
    width: 100%;
    justify-content: space-between;
  }

  .view-toggle {
    flex: 1 1;
    max-width: 200px;
  }

  .sort-section {
    font-size: 0.9rem;
  }
}

/* Very small mobile */
@media (max-width: 480px) {
  .initial-main {
    padding: 0 0.5rem;
  }

  .section-title {
    font-size: 1rem;
  }

  .tab-button {
    font-size: 0.95rem;
  }

  .view-toggle {
    max-width: 150px;
  }

  .view-toggle .toggle-btn {
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
  }

  .sort-section {
    font-size: 0.85rem;
  }
}
.host-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 30px;
    margin-right: 30px;
    min-height: 100vh;
}

.photo-section {
    width: 100%;
    /* Add more styles for photo section */
}

.booking-calendar {
    position: absolute;
    right: 20px; /* Adjust as needed */
    bottom: 20px; /* Adjust as needed */
    /* Additional styles for calendar */
}

.description-section {
    margin-top: 20px;
    /* Add more styles for description section */
}

.search-date-container{
    position: relative;
    display: flex;
    justify-content: center;
    margin-right: auto;
    flex-grow: 1;
}

.search-date-container button {
    padding: 10px 5px !important;
}

.search-date-container form {
    display: flex;
}




/* CustomStyles.css */
.react-datepicker {
    font-size: 16px;
    width: auto;
    border: none; /* Remove default border */
    /* font-family: 'Open Sans', sans-serif; */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add some shadow for depth */

}

.react-datepicker-wrapper {
    padding: 10px;
}

.react-datepicker__input-container {
    width: 100%;
}

.react-datepicker__input-container input {
    width: 100%;
    border-radius: 20px; /* Rounded borders for the input */
    border: 1px solid #ccc; /* Light grey border */
    font-size: 16px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); /* Inner shadow for depth */
}

/* Adjust size of each day cell */
.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 2.5em; /* Increase width */
    line-height: 2.5em; /* Increase line height */
    margin: 0.166em;
}

/* Style for the calendar navigation */
.react-datepicker__navigation {
    width: 30px; /* Increase width */
    height: 30px; /* Increase height */
}

/* Style for the calendar header */
.react-datepicker__current-month {
    font-size: 16px;
}

.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 1.9em;
    line-height: 1.9em;
    margin: 0.166em;
}

/* Adjust the look of the selected day */
.react-datepicker__day--selected {
    border-radius: 50%; /* Circular highlight for selected day */
    background-color: #f00; /* Example: Red background for the selected day */
    color: white;
}

/* Hover styles for days */
.react-datepicker__day:hover {
    background-color: #ddd; /* Light grey background on hover */
}

/* Example media query for smaller screens */
@media (max-width: 600px) {
    .react-datepicker {
        font-size: 14px; /* Smaller font size on small screens */
    }

    .react-datepicker__navigation {
        width: 20px;
        height: 20px;
    }
}

.header-container .profile-name{
    align-items: center;
    display: flex;
    gap: 10px;
    width: 100%;
    height: auto;
    z-index: 2;
    position: relative;
    justify-content: left;
}

.header-container .profile-name h2 {
    margin: 0;                 /* Removes default margin to align text properly */
    white-space: nowrap;       /* Prevents the text from wrapping to a new line */
    overflow: hidden;          /* Prevents overflow of text outside the container */
    text-overflow: ellipsis;   /* Adds an ellipsis if the text overflows */
    margin-left: 150px;
    margin-top: 20px;
    padding: 10px;
}

.header-container .profile-name img {
    position: absolute;
    bottom: 20px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-left: 20px;
}

.header-container .header-image  {
    width: 100%;
    height: 250px;
    object-fit: cover; /* Cover ensures the image will fill the container, potentially cropping it */
    object-position: center;
    display: inline-block;
    position: relative;
}

.header-image .edit-icon {
    position: absolute;
    top: 10px; /* Adjust this value to move the icon vertically */
    right: 10px; /* Adjust this value to move the icon horizontally */
    background: rgba(255, 255, 255, 0); /* Light background for visibility */
    border: none; /* Remove border */
    cursor: pointer; /* Pointer cursor on hover */
    padding: 8px;
    transition: background 0.3s ease-in-out, transform 0.3s ease-in-out;
    display: flex; /* Ensures the icon centers in the button */
    align-items: center;
    justify-content: center;
}

.header-image .edit-icon:hover {
    transform: scale(1.2); /* Increase size by 20% */
}

.host-profile-body {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    width: 100%;
    height: auto;
    margin: 30px;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
}

.host-profile-body .metadata {
    flex: 0 0 25%; /* do not grow or shrink, and base width = 25% */
  max-width: 25%;
}

.host-profile-body .current-collaborations {
    flex: 2 1;
    display: flex;
    flex-direction: column;
}

.current-collaborations {
    margin-left: 20px;
    flex-grow: 1;
}

.separator {
    height: 1px;
    background-color: #ccc;
    margin: 2px 0;
    width: 100%;
}

.react-time-picker {
  display: inline-flex;
  position: relative;
}

.react-time-picker,
.react-time-picker *,
.react-time-picker *:before,
.react-time-picker *:after {
  box-sizing: border-box;
}

.react-time-picker--disabled {
  background-color: #f0f0f0;
  color: #6d6d6d;
}

.react-time-picker__wrapper {
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  border: thin solid gray;
}

.react-time-picker__inputGroup {
  min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);
  flex-grow: 1;
  padding: 0 2px;
  box-sizing: content-box;
}

.react-time-picker__inputGroup__divider {
  padding: 1px 0;
  white-space: pre;
}

.react-time-picker__inputGroup__divider,
.react-time-picker__inputGroup__leadingZero {
  display: inline-block;
  font: inherit;
}

.react-time-picker__inputGroup__input {
  min-width: 0.54em;
  height: 100%;
  position: relative;
  padding: 0 1px;
  border: 0;
  background: none;
  color: currentColor;
  font: inherit;
  box-sizing: content-box;
  -webkit-appearance: textfield;
  appearance: textfield;
}

.react-time-picker__inputGroup__input::-webkit-outer-spin-button,
.react-time-picker__inputGroup__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.react-time-picker__inputGroup__input:invalid {
  background: rgba(255, 0, 0, 0.1);
}

.react-time-picker__inputGroup__input--hasLeadingZero {
  margin-left: -0.54em;
  padding-left: calc(1px + 0.54em);
}

.react-time-picker__inputGroup__amPm {
  font: inherit;
  -webkit-appearance: menulist;
  appearance: menulist;
}

.react-time-picker__button {
  border: 0;
  background: transparent;
  padding: 4px 6px;
}

.react-time-picker__button:enabled {
  cursor: pointer;
}

.react-time-picker__button:enabled:hover .react-time-picker__button__icon,
.react-time-picker__button:enabled:focus .react-time-picker__button__icon {
  stroke: #0078d7;
}

.react-time-picker__button:disabled .react-time-picker__button__icon {
  stroke: #6d6d6d;
}

.react-time-picker__button svg {
  display: inherit;
}

.react-time-picker__clock {
  width: 200px;
  height: 200px;
  max-width: 100vw;
  padding: 25px;
  background-color: white;
  border: thin solid #a0a096;
  z-index: 1;
}

.react-time-picker__clock--closed {
  display: none;
}

.mapboxgl-map {
    position: absolute;
}

.detail-container {
    padding: 20px;
}

.details-overview {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    min-height: 40vh;
}

.flex-item {
    padding: 20px;
    margin: 0px 10px 10px 0px;
    border: 1px solid rgba(105, 105, 105, 0.597);
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.flex-item:nth-of-type(2) {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
}

.flex-item:nth-of-type(1) {
    flex: 3 1;
}

.flex-item .profile-image img {
    position: relative;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
}

.detail-information {
    display: grid;
    grid-template-columns: 1fr 2fr; /* Adjust width ratios as needed */
    grid-gap: 16px;
    gap: 16px;
    align-items: start;
}

.labels,
.values {
    display: flex;
    flex-direction: column;
}

.labels p,
.values > div,
.values p {
    margin: 0;
    min-height: 32px; /* Ensures each row is consistently aligned */
    display: flex;
    align-items: center;
}

.display-field {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.display-field p {
    flex: 1 1;
    margin: 0;
    padding: 4px 0;
}

.display-field .edit-icon {
    cursor: pointer;
    margin-left: 8px;
}

.editable-field {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.editable-field input {
    flex: 1 1;
    padding: 4px;
    margin-right: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.editable-field button {
    padding: 4px 8px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    background-color: #4CAF50;
    color: white;
}

.editable-field button:hover {
    background-color: #45a049;
}

.star-rating {
    font-size: 24px;
    color: #ccc;
    display: flex;
    justify-content: center;
}

.star-rating .star {
    cursor: pointer;
    transition: color 0.2s ease-in-out;
}

.star-rating .filled {
    color: gold;
}

.star-rating .half-filled {
    position: relative;
}

.star-rating .half-filled::before {
    content: '\\2605';
    position: absolute;
    left: 0;
    width: 50%;
    overflow: hidden;
    color: gold;
}

.details-location {
    min-height: 25vh;
    transform: none;
    transform: initial;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    flex: 1 1;
    overflow-y: auto;
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
}

.details-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 20px;
    align-items: flex-end;
}

.editable-field,
.display-field {
    display: flex;
    align-items: center;
}

.editable-field input {
    margin-right: 10px;
}

.day-hours {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.day-hours button {
    margin-left: 10px;
}

/* Update the opening hours dropdown positioning */
.opening-hours-dropdown {
    display: flex;
    flex-direction: column;
    width: 100%;
    position: relative; /* Add this for positioning context */
}

.opening-hours-dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    font-weight: bold;
}

/* Enhanced opening hours dropdown menu */
.opening-hours-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    max-height: 400px;
    overflow-y: auto;
    min-width: 480px; /* Ensure minimum width */
    
    /* Smooth animation */
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    pointer-events: none;
}

.opening-hours-dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Enhanced dropdown items with consistent layout */
.opening-hours-dropdown-item {
    display: grid;
    grid-template-columns: 100px 1fr auto; /* Fixed day width, flexible middle, auto toggle */
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
    grid-gap: 16px;
    gap: 16px;
    min-height: 60px;
}

.opening-hours-dropdown-item:hover {
    background-color: #f8f9fa;
}

.opening-hours-dropdown-item:last-child {
    border-bottom: none;
}

/* Fixed width day labels for perfect alignment */
.day-label {
    width: 100px;
    margin: 0;
    font-weight: 600;
    font-size: 14px;
    color: #333;
    text-align: left;
    flex-shrink: 0;
}

/* Compact time picker container */
.time-picker-container {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    min-width: 200px;
}

.time-separator {
    font-weight: 500;
    color: #666;
    font-size: 14px;
    padding: 0 4px;
}

/* Compact time picker styling */
.opening-hours-dropdown-item .react-time-picker {
    border: 2px solid #e9ecef;
    border-radius: 4px;
    padding: 6px 8px;
    background-color: #fff;
    transition: all 0.2s ease;
    width: 95px; /* Fixed width for consistency */
    font-size: 13px;
}

.opening-hours-dropdown-item .react-time-picker:hover {
    border-color: #007bff;
}

.opening-hours-dropdown-item .react-time-picker:focus-within {
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}

.opening-hours-dropdown-item .react-time-picker__inputGroup {
    font-size: 13px;
    font-weight: 500;
}

.react-time-picker__wrapper {
    border: none;
}

/* Compact day toggle button */
.day-toggle {
    padding: 6px 1px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    width: 60px; /* Fixed width */
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: center;
}

.day-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.day-toggle.active {
    background: linear-gradient(135deg, #28a745, #20c997);
    color: white;
    box-shadow: 0 1px 3px rgba(40, 167, 69, 0.3);
}

.day-toggle.inactive {
    background: linear-gradient(135deg, #dc3545, #e74c3c);
    color: white;
    box-shadow: 0 1px 3px rgba(220, 53, 69, 0.3);
}

/* Display mode styling with consistent width */
.hours-display {
    text-align: center;
    font-size: 14px;
    min-width: 200px;
}

.hours-display.open {
    color: #28a745;
    font-weight: 600;
}

.hours-display.closed {
    color: #dc3545;
    font-weight: 600;
    font-style: italic;
}

/* Enhanced action buttons */
.day-hours {
    display: flex;
    gap: 12px;
    justify-content: center;
    padding: 16px;
    margin-top: 8px;
    border-top: 2px solid #f0f0f0;
    background: linear-gradient(135deg, #f3e5f5, #f44336);
}

/* Compact edit mode header */
.edit-mode-header {
    padding: 12px 16px;
    background: linear-gradient(135deg, #f3e5f5, #f44336);
    border-bottom: 1px solid #e0e0e0;
    text-align: center;
}

.edit-mode-title {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.edit-mode-subtitle {
    margin: 3px 0 0 0;
    font-size: 11px;
    color: #666;
    font-style: italic;
}

/* Responsive improvements for smaller screens */
@media (max-width: 768px) {
    .opening-hours-dropdown-menu {
        min-width: 100%;
        left: -20px;
        right: -20px;
    }
    
    .opening-hours-dropdown-item {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 8px;
        padding: 12px;
        text-align: center;
    }
    
    .day-label {
        width: 100%;
        text-align: center;
        font-size: 15px;
        font-weight: 700;
        color: #007bff;
    }
    
    .time-picker-container {
        justify-content: space-evenly;
        min-width: auto;
    }
    
    .day-toggle {
        width: 80px;
        justify-self: center;
    }
    
    .hours-display {
        min-width: auto;
    }
    
    .day-hours {
        flex-direction: column;
        gap: 8px;
    }
    
    .save-btn, .cancel-btn {
        width: 100% !important;
        min-width: auto !important;
    }
}

/* Extra small screens */
@media (max-width: 480px) {
    .opening-hours-dropdown-menu {
        left: -30px;
        right: -30px;
    }
    
    .time-picker-container {
        flex-direction: column;
        gap: 4px;
    }
    
    .time-separator {
        display: none;
    }
    
    .opening-hours-dropdown-item .react-time-picker {
        width: 90px;
    }
}

/* Edit All Mode Styles */
.flex-item {
    position: relative;
    transition: all 0.3s ease;
}

.flex-item.edit-mode {
    background-color: #f8f9fa;
    border: 2px solid #ff5e4c;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
}

.flex-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.flex-item-header h6 {
    margin: 0;
}

.edit-all-button {
    background: none;
    border: none;
    color: #232323;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 4px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.edit-all-button:hover {
    background-color: #e3f2fd;
    color: #a93d31;
}

.edit-all-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #dee2e6;
}

/* Editable Field Styles */
.editable-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.editable-field .form-control {
    border: 2px solid #ff5e4c;
    border-radius: 4px;
    padding: 0.5rem;
    font-size: 0.9rem;
}

.editable-field .form-control:focus {
    outline: none;
    border-color: #a93d31;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.field-buttons {
    display: flex;
    gap: 0.5rem;
}

.field-buttons .save {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-size: 0.8rem;
    cursor: pointer;
}

.field-buttons .save:hover {
    background-color: #218838;
}

/* Display Field adjustments */
.display-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 1.5rem;
}

.display-field p {
    margin: 0;
    flex: 1 1;
}

.display-field .MdEdit {
    margin-left: 0.5rem;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.display-field:hover .MdEdit {
    opacity: 1;
}

/* Edit mode indicator */
.flex-item.edit-mode::before {
    content: "✏️ Edit Mode";
    position: absolute;
    top: -14px;
    right: 10px;
    background-color: #ff5e4c;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    z-index: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .edit-all-actions {
        flex-direction: column;
    }
    
    .save-all-button,
    .cancel-all-button {
        justify-content: center;
    }
    
    .flex-item.edit-mode {
        padding: 1rem;
    }
}

/* Rating and Feedback Section */
.details-feedback {
    margin-top: 32px;
    width: 100%;
}

.rating-text {
    margin-top: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #2d3436;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns items to the start of the line */
    gap: 16px; /* Spacing between cards */
}

.picture-card {
    width: calc(33.333% - 16px); /* Sets the width to one-third of the parent width minus the gap */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Adds shadow for a card-like appearance */
    border-radius: 8px; /* Rounded corners for the card */
    overflow: hidden; /* Ensures content fits within the borders */ /* Background color for the card */
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    background-size: cover;
    background-position: center;
    background: #fff;
    flex-direction: column; /* Stack the content vertically */
    height: 300px;
}

.image-background {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.title-input, .title-display {
    width: 100%; /* Input takes the full width of the card */
    padding: 8px;
    box-sizing: border-box;
}

.edit-icon {
    margin-left: 10px; /* Space between text and edit button */
    background: transparent;
    border: none;
    cursor: pointer;
}

.title-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
}

/* .picture-card div {
    width: 100%;
    height: 200px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: block;
} */

.picture-card img {
    width: 100%;  /* Fixed width */
    height: 150px; /* Fixed height */
    object-fit: cover; /* This will cover the area without distorting the aspect ratio */
    display: block;
}

.title-input {
    display: block;
    width: 100%; /* Makes the input field span the enªtire card width */
    border: none; /* Removes the default border */
    padding: 8px; /* Padding inside the input field */
    box-sizing: border-box; /* Includes padding in the width calculation */
    font-size: 16px; /* Larger font size for better readability */
}

.title-input:focus {
    outline: 2px solid rgb(0, 0, 0); /* Highlight focus with a blue outline */
}

.add-image-button {
    background-color: transparent;
    border-color: transparent;
}

.delete-icon {
    background-color: transparent;
    border-color: transparent;
}

.stand-edit {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns items to the start of the line */
    gap: 16px; /* Spacing between cards */
}

.stand-edit-card {
    width: 100%; /* One-third of the container minus some margin */
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    background-size: cover;
    background-position: center;
    flex-direction: row;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
    justify-content: space-between;
  }

  .cover-photo {
    width: calc(33.333% - 16px); /* One-third of the container minus some margin */
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
/* */
.stand-edit-info{
    width: 100%;
}

.stand-edit-card:hover {
    box-shadow: 0 6px 12px rgba(0,0,0,0.15); /* Enhanced shadow on hover */
}


.stand-edit-card:active,
.stand-edit-card.dragging {
    cursor: grabbing;
    transform: scale(1.03); /* Slightly larger scale when dragging */
    box-shadow: 0 8px 16px rgba(0,0,0,0.2); /* Deeper shadow for lifting effect */
    z-index: 1000; /* Ensure dragged element is above others */
}

.stand-edit-delete {
    width: 100%;
    padding: 10px; /* Provides internal spacing */
    background-color: #ffffff; /* Slightly off-white background for the details area */
    display: flex;
    justify-content: flex-end;
}

.stand-edit-title-input, .stand-edit-description-input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: none; /* Removes border */
    background-color: #eee; /* Light background for the input for better visibility */
    margin-top: 5px; /* Space from the top of the container */
}

.stand-edit-image {
    width: 93%;  /* Adjust the width as needed */
    height: 100%; /* Set a fixed height to crop the image */
    overflow: hidden; /* Hide anything outside this container */
    margin: 10px;
}

.stand-edit-image-background {
    width: 100%;
    height: 100%;
    background-size: cover;
    border-radius: 8px;
    background-position: center;
    background-repeat: no-repeat;
}

.stand-edit-title-input, .stand-edit-title-display {
    width: 100%; /* Input takes the full width of the card */
    padding: 8px;
    box-sizing: border-box;
}

.edit-icon {
    margin-left: 10px; /* Space between text and edit button */
    background: transparent;
    border: none;
    cursor: pointer;
}

.stand-edit-title-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
}

/* .stand-card div {
    width: 100%;
    height: 200px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: block;
} */


.stand-edit-title-input {
    display: block;
    width: 100%; /* Makes the input field span the enªtire card width */
    border: none; /* Removes the default border */
    padding: 8px; /* Padding inside the input field */
    box-sizing: border-box; /* Includes padding in the width calculation */
    font-size: 16px; /* Larger font size for better readability */
}

.stand-edit-title-input:focus {
    outline: 2px solid rgb(0, 0, 0); /* Highlight focus with a blue outline */
}

.add-stand-edit-image-button {
    background-color: transparent;
    border-color: transparent;
}

.delete-icon {
    background-color: transparent;
    border-color: transparent;
}

.stand-full-container {
    display: flex;
}

.add-stand-image-button {
    background-color: transparent;
    border: none;
}

.stand-full-container .button-container {
    display: flex;
    justify-content: flex-end;
}

/* Stand sections */
.stand-section {
    margin-bottom: 2rem;
}

.stand-section-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #333;
}

.section-separator {
    border: none;
    height: 1px;
    background-color: #e0e0e0;
    margin-bottom: 1rem;
}

.stand-empty {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 2rem;
    background-color: #f9f9f9;
    border-radius: 8px;
    margin-bottom: 1rem;
}

/* Stands container */
.stands-container {
    display: grid;
    grid-gap: 24px;
    gap: 24px;
    margin-bottom: 1rem;
}

/* Responsive grid layout */
@media (min-width: 768px) {
    .stands-container {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 767px) {
    .stands-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

.stand-card-profile-container {
    width: 100%;
}

/* Exposed stands styling */
.exposed-stands {
    background-color: #f0fff0;
    padding: 1rem;
    border-radius: 8px;
    border: 2px dashed #28a745;
}

/* Enhanced Pagination Styles */
.pagination-container {
    display: flex;
    justify-content: center;
    margin: 1.5rem 0;
}

.pagination {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pagination-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #ddd;
    background-color: white;
    color: #333;
    border-radius: 6px;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    transition: all 0.2s ease;
}

.pagination-arrow:hover:not(.disabled) {
    background-color: #f8f9fa;
    border-color: #28a745;
    color: #28a745;
}

.pagination-arrow.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    color: #999;
}

.pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #ddd;
    background-color: white;
    color: #333;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s ease;
}

.pagination-number:hover {
    background-color: #f8f9fa;
    border-color: #28a745;
    color: #28a745;
}

.pagination-number.active {
    background-color: #28a745;
    color: white;
    border-color: #28a745;
}

.pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    color: #999;
    font-weight: bold;
}

/* Button container */
.button-container {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}
.modal-body {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns items to the start of the line */
    gap: 16px; /* Spacing between cards */
  }

.model-content {
  z-index: 1050;
}

  .custom-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0, 0, 0, 0.5); */
    z-index: 1059; /* Ensure this is higher than the z-index of the main modal */
    display: flex;
    justify-content: center;
    align-items: center;
  }


  .modal-stand-container {
    width: 100%; /* One-third of the container minus some margin */
    height: 390px;
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    background-size: cover;
    background-position: center;
    flex-direction: row;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .remove-modal-stand-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    color: rgb(53, 53, 53);
    cursor: pointer;
  }

  .cover-photo {
    width: calc(33.333% - 16px); /* One-third of the container minus some margin */
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .additional-photo{
    position: relative;
    width: calc(33.333% - 16px); /* One-third of the container minus some margin */
    height: 60px;
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.add-photo-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }

  .modal-stand-info {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    margin: 8px;
    margin-top: 30px;
  }

  .descriptive-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .more-modal-stand-photos {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }

 .modal-stand-form-group {
    display: flex;
  align-items: center;
  margin-bottom: 0px;
  flex-wrap: wrap;
  }

  .modal-stand-form-group input,
.modal-stand-form-group textarea {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}


.modal-stand-form-group label {
    flex: 0 0 150px;
    margin-bottom: 0;
  }

  .modal-stand-form-control {
    flex: 1 1;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  min-width: 50px; /* Minimum width to prevent too much shrinking */
  }

  .more-modal-stand-photos button {
    padding: 10px;
    border: 1px solid #ccc;
    background: #f0f0f0;
    cursor: pointer;
  }

  .tag {
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }

  .tag-input {
    flex: 1 1;
    min-width: 50px;
    padding: 4px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
  }

  .tags-container {
    display: flex;
    flex-wrap: nowrap;
    flex: 1 1;
    align-items: center;
  }

  .tag button {
    background: none;
    border: none;
    margin-left: 4px;
    cursor: pointer;
  }

  .remove-icon {
    position: absolute;
    top: 5px;
    right: 5px;
    color: rgb(126, 126, 126);
    cursor: pointer;
  }

  .error-message {
    color: red;
    font-size: 0.8em;
  }

  .cover-photo {
    width: 33.333%;
    height: 300px;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  .button-modal-stand-modal {
    display: flex;
    justify-content: space-between;
    margin: 8px;
    align-items: center;
    width: 100%;
  }

  .button-modal-stand-modal button{
    font-weight: lighter;
  }

  .button-modal-stand-modal .add{
    padding: 0px;
    background-color: #000000;
  }

  /* .modal-stand-container .custom-dropdown-button {
    background-color: #ffffff;
    color: white;
    border: 1px solid #ffffff;
    padding: 0px;
    margin: 0px;
    display: flex;
    border-radius: 10px;
  }

  .modal-stand-container .custom-dropdown-button button {
    background-color: #100808;
    border: 1px solid #797979;
    margin: 0px;
    padding: 0px;
    font-size: 15px;
    font-weight: lighter;
  }

  .modal-stand-container .custom-dropdown-button:focus {
    background-color: #797979;
    border-color: #797979;
  }

  .modal-stand-container .custom-dropdown-button:focus button{
    background-color: #464646;
    border-color: #464646;
  }

  .modal-stand-container .custom-dropdown-button:active button,
  .modal-stand-container .custom-dropdown-button:focus,
  .modal-stand-container .custom-dropdown-button.show,
  .modal-stand-container .custom-dropdown-button.show > .dropdown-toggle {
  background-color: #000000;
  border-color: #000000;
} */

.modal-stand-container .custom-dropdown-item {
    color: #797979;
  }

  .modal-stand-container .custom-dropdown-item:hover,
  .modal-stand-container .custom-dropdown-item:focus {
    background-color: #e9ecef;
    color: #797979;
  }

.modal-body {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns items to the start of the line */
    gap: 16px; /* Spacing between cards */
  }

.model-content {
  z-index: 1050;
}

  .custom-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0, 0, 0, 0.5); */
    z-index: 1059; /* Ensure this is higher than the z-index of the main modal */
    display: flex;
    justify-content: center;
    align-items: center;
  }


  .remove-product-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    color: rgb(53, 53, 53);
    cursor: pointer;
  }

  .modal-content .cover-photo {
    width: calc(33.333% - 16px); /* One-third of the container minus some margin */
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .additional-photo{
    position: relative;
    width: calc(33.333% - 16px); /* One-third of the container minus some margin */
    height: 60px;
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .photo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #ffffff;
  }

.add-photo-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }

  .product-card .product-info {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    margin: 8px;
    background: #ffffff;
  }

  .descriptive-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .more-product-photos {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }

 .product-form-group {
    display: flex;
  align-items: center;
  margin-bottom: 0px;
  flex-wrap: wrap;
  }

  .product-form-group input,
.product-form-group textarea {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}


.product-form-group label {
    flex: 0 0 150px;
    margin-bottom: 0;
  }

  .product-form-control {
    flex: 1 1;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  min-width: 50px; /* Minimum width to prevent too much shrinking */
  }

  .more-product-photos button {
    padding: 10px;
    border: 1px solid #ccc;
    background: #f0f0f0;
    cursor: pointer;
  }

  .tag {
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }

  .tag-input {
    flex: 1 1;
    min-width: 50px;
    padding: 4px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
  }

  .tags-container {
    display: flex;
    flex-wrap: nowrap;
    flex: 1 1;
    align-items: center;
    justify-content: flex-end;

  }

  .tag button {
    background: none;
    border: none;
    margin-left: 4px;
    cursor: pointer;
  }

  .remove-icon {
    position: absolute;
    top: 5px;
    right: 5px;
    color: rgb(126, 126, 126);
    cursor: pointer;
  }

  .error-message {
    color: red;
    font-size: 0.8em;
  }

  .modal-content .cover-photo {
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  .button-product-modal {
    display: flex;
    justify-content: space-between;
    margin: 8px;
    align-items: center;
  }

  /* .product-container .custom-dropdown-button {
    background-color: #ffffff;
    color: white;
    border: 1px solid #ffffff;
    border-radius: 4px;
    padding: 0px;
    margin: 0px;
    display: flex;
    border-radius: 10px
  }

  .product-container .custom-dropdown-button button {
    background-color: #100808;
    border: 1px solid #797979;
    margin: 0px;
    padding: 0px;
    font-size: 15px;
    font-weight: lighter;
  }

  .product-container .custom-dropdown-button:hover,
  .product-container .custom-dropdown-button:focus {
    background-color: #797979;
    border-color: #797979;
  }

  .product-container .custom-dropdown-button:hover button,
  .product-container .custom-dropdown-button:focus button{
    background-color: #464646;
    border-color: #464646;
  }

  .product-container .custom-dropdown-button:active button,
  .product-container .custom-dropdown-button:focus,
  .product-container .custom-dropdown-button.show,
  .product-container .custom-dropdown-button.show > .dropdown-toggle {
  background-color: #000000;
  border-color: #000000;
} */

.product-container .custom-dropdown-item {
    color: #797979;
  }

  .product-container .custom-dropdown-item:hover,
  .product-container .custom-dropdown-item:focus {
    background-color: #e9ecef;
    color: #797979;
  }

  .button-product-modal button {
    font-weight: lighter;
  }

  .button-product-modal .add {
    padding: 0px;
    background-color: #000000;
  }

  .button-product-modal .add:hover {
    background-color: #797979;
  }

  .button-product-modal .save {
    background-color: #000000;
  }

  .button-product-modal .save:hover {
    background-color: #797979;
  }


  /* UploadProductsModal.css */

/* .custom-dropdown-button {
  background: #000;
  color: #fff;
  border: none;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
} */
/* .custom-dropdown-button .caret {
  margin-left: 4px;
  font-size: 0.8em;
} */

.custom-dropdown-menu {
  background: #fff;
  border-radius: 4px;
  min-width: 120px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  padding: 4px 6px;
  max-height: 160px;
}

.custom-dropdown-item {
  cursor: pointer;
}
.custom-dropdown-item:hover {
  background: #f0f0f0;
}

.upload-dropdown {
  position: relative;    /* or whatever you need */
  background: transparent;
  display:flex;
  flex-direction: row-reverse;
  width: 100%;
  margin: 0px;
  padding: 0px;
}

/* Error Message Styles */
.error-message-container {
  margin-bottom: 20px;
  border-radius: 8px;
  border-left: 4px solid;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  animation: slideInDown 0.3s ease-out;
}

.error-message-container.active_contracts {
  border-left-color: #ff6b35;
  background: linear-gradient(90deg, rgba(255, 107, 53, 0.05) 0%, rgba(255, 107, 53, 0.02) 100%);
}

.error-message-container.ongoing_proposals {
  border-left-color: #4a90e2;
  background: linear-gradient(90deg, rgba(74, 144, 226, 0.05) 0%, rgba(74, 144, 226, 0.02) 100%);
}

.error-message-container.server_error {
  border-left-color: #e74c3c;
  background: linear-gradient(90deg, rgba(231, 76, 60, 0.05) 0%, rgba(231, 76, 60, 0.02) 100%);
}

.error-message-container.validation {
  border-left-color: #f39c12;
  background: linear-gradient(90deg, rgba(243, 156, 18, 0.05) 0%, rgba(243, 156, 18, 0.02) 100%);
}

.error-message-container.permission {
  border-left-color: #e67e22;
  background: linear-gradient(90deg, rgba(230, 126, 34, 0.05) 0%, rgba(230, 126, 34, 0.02) 100%);
}

.error-message-container.not_found {
  border-left-color: #95a5a6;
  background: linear-gradient(90deg, rgba(149, 165, 166, 0.05) 0%, rgba(149, 165, 166, 0.02) 100%);
}

.error-message-container.general {
  border-left-color: #f39c12;
  background: linear-gradient(90deg, rgba(243, 156, 18, 0.05) 0%, rgba(243, 156, 18, 0.02) 100%);
}

.error-message-content {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  gap: 12px;
}

.error-icon {
  font-size: 20px;
  flex-shrink: 0;
}

.error-text {
  flex: 1 1;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
  font-weight: 500;
}

.error-close-btn {
  background: none;
  border: none;
  font-size: 18px;
  color: #999;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.error-close-btn:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #666;
}

/* Animation for error message appearance */
@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .error-message-content {
    padding: 10px 12px;
    gap: 8px;
  }
  
  .error-text {
    font-size: 13px;
  }
  
  .error-icon {
    font-size: 18px;
  }
}

/* Optional: Fade out animation when closing */
.error-message-container.fade-out {
  animation: slideOutUp 0.3s ease-in forwards;
}

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

/* Size Input Container */
.size-input-container {
  position: relative;
  width: 100%;
}

.tags-input-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  background: white;
  min-height: 45px;
  transition: border-color 0.2s ease;
}

.tags-input-wrapper:focus-within {
  border-color: #ff5e4c;
  border-color: var(--accent-orange, #ff5e4c);
  box-shadow: 0 0 0 3px rgba(255, 94, 76, 0.1);
}

.size-input {
  flex: 1 1;
  min-width: 150px;
  border: none;
  outline: none;
  padding: 6px;
  font-size: 14px;
  font-family: inherit;
  background: transparent;
}

.size-input::placeholder {
  color: #999;
}

/* Size Tags */
.size-tag {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 2px 4px rgba(255, 51, 100, 0.2);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.size-tag:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(255, 51, 100, 0.3);
}

.size-tag button {
  background: rgba(255, 255, 255, 0.3);
  border: none;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: white;
  padding: 0;
  transition: background 0.2s ease;
  line-height: 1;
}

.size-tag button:hover {
  background: rgba(255, 255, 255, 0.5);
}

/* Size Suggestions Dropdown */
.size-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 2px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
  margin-top: -2px;
}

.size-suggestion-item {
  padding: 10px 12px;
  cursor: pointer;
  transition: background 0.2s ease;
  font-size: 14px;
  color: #333;
}

.size-suggestion-item:hover {
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.1) 0%, rgba(255, 94, 76, 0.1) 100%);
  color: #ff3364;
  color: var(--accent-red, #ff3364);
}

.size-suggestion-item:last-child {
  border-radius: 0 0 6px 6px;
}

/* Form Helper Text */
.form-text {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #666;
  font-style: italic;
}

/* Scrollbar for suggestions */
.size-suggestions::-webkit-scrollbar {
  width: 6px;
}

.size-suggestions::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.size-suggestions::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 3px;
}

.size-suggestions::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .size-input {
    min-width: 100px;
  }
  
  .tags-input-wrapper {
    padding: 6px;
  }
}

/* Update the upload-product-container */
.upload-product-container {
  width: 100%;
  min-height: 390px; /* Changed from fixed height */
  margin: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  overflow: visible; /* Changed from hidden */
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: flex-start; /* Changed from stretch */
  position: relative;
  background-size: cover;
  background-position: center;
  flex-direction: row;
  transition: transform 0.6s ease, box-shadow 0.2s ease;
}

/* Add modal-container styles */
.modal-container {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 24px;
  padding: 16px;
  background: #f9f9f9;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  position: relative;
  min-height: 300px;
}

/* Update cover-photo to work in the new layout */
.modal-content .cover-photo {
  width: 300px;
  min-width: 200px;
  height: 350px;
  margin: 0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
  overflow: hidden;
  background: #c2c2c2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  position: relative;
  flex-shrink: 0;
}

/* Add scrollable info sections */
.create-product-info,
.modal-stand-info {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 8px;
  max-height: 550px;
  
  /* Slim scrollbar */
  scrollbar-width: thin;
  scrollbar-color: rgba(155, 155, 155, 0.3) transparent;
}

.create-product-info::-webkit-scrollbar,
.modal-stand-info::-webkit-scrollbar {
  width: 6px;
}

.create-product-info::-webkit-scrollbar-track,
.modal-stand-info::-webkit-scrollbar-track {
  background: transparent;
}

.create-product-info::-webkit-scrollbar-thumb,
.modal-stand-info::-webkit-scrollbar-thumb {
  background: rgba(155, 155, 155, 0.3);
  border-radius: 3px;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

.create-product-info::-webkit-scrollbar-thumb:hover,
.modal-stand-info::-webkit-scrollbar-thumb:hover {
  background: rgba(155, 155, 155, 0.5);
}

/* Update descriptive-info */
.descriptive-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-right: 4px;
}

/* Update form groups */
.product-form-group,
.modal-stand-form-group {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px;
}

.product-form-group label,
.modal-stand-form-group label {
  flex: 0 0 150px;
  margin-bottom: 4px;
  padding-top: 8px;
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

.product-form-control,
.modal-stand-form-control {
  flex: 1 1;
  padding: 8px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  min-width: 200px;
  transition: border-color 0.2s ease;
}

.product-form-control:focus,
.modal-stand-form-control:focus {
  outline: none;
  border-color: #ff5e4c;
  border-color: var(--accent-orange, #ff5e4c);
  box-shadow: 0 0 0 3px rgba(255, 94, 76, 0.1);
}

/* More product photos section */
.more-product-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  padding: 12px;
  background: #f5f5f5;
  border-radius: 8px;
}

/* Responsive */
@media (max-width: 968px) {
  .modal-container {
    flex-direction: column;
  }
  
  .modal-content .cover-photo {
    width: 100%;
    min-width: 100%;
    height: 200px;
  }
  
  .create-product-info,
  .modal-stand-info {
    max-height: 400px;
  }
  
  .product-form-group label,
  .modal-stand-form-group label {
    flex: 0 0 100%;
    padding-top: 0;
  }
}

@media (max-width: 576px) {
  .modal-container {
    padding: 12px;
  }
  
  .create-product-info,
  .modal-stand-info {
    max-height: 350px;
    padding-right: 4px;
  }
  
  .product-form-control,
  .modal-stand-form-control {
    min-width: 100%;
  }
}

/* Main Container - Side by Side Layout */
.modal-container-steps {
  width: 100%;
  height: 400px;
  display: flex;
  gap: 20px;
  padding: 16px;
  background: #f9f9f9;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: visible; /* Allow dropdowns to overflow */
  min-height: 400px; /* Fixed minimum height */
  max-height: 400px; /* Fixed maximum height */
  min-width: 700px;
}

/* Left Sidebar - Vertical Steps */
.steps-sidebar {
  width: 160px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  padding: 12px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.step-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.step-item.active {
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.1) 0%, rgba(255, 94, 76, 0.1) 100%);
}

.step-circle {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 50%;
  background: #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.step-item.active .step-circle {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  box-shadow: 0 3px 10px rgba(255, 51, 100, 0.3);
}

.step-item.completed .step-circle {
  background: #4caf50;
}

.step-number {
  font-size: 14px;
  font-weight: 600;
  color: #666;
}

.step-item.active .step-number,
.step-item.completed .step-number {
  color: white;
}

.step-info {
  flex: 1 1;
}

.step-title-small {
  font-size: 11px;
  font-weight: 600;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.step-item.active .step-title-small {
  color: #ff3364;
}

.step-desc {
  font-size: 13px;
  font-weight: 500;
  color: #333;
  margin-top: 2px;
}

.step-connector {
  width: 2px;
  height: 24px;
  background: #e0e0e0;
  margin: 4px 0 4px 27px;
}

.step-item.completed + .step-connector {
  background: #4caf50;
}

/* Right Content Area */
.steps-content-area {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 8px;
  padding: 16px;
  overflow: visible; /* Changed from hidden to visible */
  max-height: 100%; /* Constrain to parent height */
}

/* Update step-content-compact to allow overflow for dropdowns */
.step-content-compact {
  flex: 1 1;
  overflow-y: auto;
  overflow-x: visible; /* Changed from hidden to visible */
  padding-right: 8px;
  max-height: 300px; /* Fixed height to prevent growth */
  position: relative;
  
  /* Slim scrollbar */
  scrollbar-width: thin;
  scrollbar-color: rgba(155, 155, 155, 0.3) transparent;
}

.step-content-compact::-webkit-scrollbar {
  width: 5px;
}

.step-content-compact::-webkit-scrollbar-track {
  background: transparent;
}

.step-content-compact::-webkit-scrollbar-thumb {
  background: rgba(155, 155, 155, 0.3);
  border-radius: 3px;
}

/* Compact Form Fields */
.form-fields-compact {
  display: flex;
  flex-direction: column;
  gap: 8px; /* Reduced from 10px */
  position: relative;
  overflow: visible; /* Ensure no clipping */
  min-height: 0; /* Prevent flexbox from expanding */
}

.form-row-compact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative; /* Add position relative for dropdown positioning */
  z-index: 1; /* Add z-index */
  margin-bottom: 0; /* Remove any bottom margin */
  flex-shrink: 0; /* Prevent shrinking */
}

/* Fix: Make dropdown render outside normal flow */
.tags-compact {
  display: flex;
  flex-direction: row;
  position: static; /* Changed from relative */
  justify-content: space-between;
  align-items: flex-start;
}

.tags-compact .dropdown {
  position: static; /* Changed from relative */
  background-color: transparent;
  color: inherit;
  border-radius: 0;
  padding: 0;
  margin: 0;
  width: auto;
}

/* Make dropdown menu fixed positioned relative to viewport, not parent */
.tags-compact .dropdown-menu,
.tags-compact .custom-dropdown-menu,
.dropdown-menu.show {
  margin: 0;
  z-index: 2000;
  max-height: 200px;
  overflow-y: auto;
  background: white;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  width: auto;
  min-width: 150px;
}

.form-row-compact label {
  font-size: 12px;
  font-weight: 600;
  color: #333;
}

.form-row-compact input,
.form-row-compact select {
  padding: 6px 10px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  transition: border-color 0.2s ease;
}

.form-row-compact input:focus,
.form-row-compact select:focus {
  outline: none;
  border-color: #ff5e4c;
}

/* Compact Tags */
.tag-compact {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
}

.tag-compact button {
  background: rgba(255, 255, 255, 0.3);
  border: none;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  font-size: 12px;
  padding: 0;
  line-height: 1;
}

/* Size Input Compact */
.size-input-compact {
  position: relative;
}

.tags-input-wrapper-compact {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  min-height: 36px;
  align-items: center;
}

.tags-input-wrapper-compact:focus-within {
  border-color: #ff5e4c;
}

.size-input-field {
  flex: 1 1;
  min-width: 100px;
  border: none;
  outline: none;
  font-size: 13px;
  padding: 4px;
}

.size-suggestions-compact {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 2px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 6px 6px;
  max-height: 150px;
  overflow-y: auto;
  z-index: 100;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.size-suggestion-item {
  padding: 6px 10px;
  cursor: pointer;
  font-size: 12px;
  transition: background 0.2s ease;
}

.size-suggestion-item:hover {
  background: rgba(255, 94, 76, 0.1);
  color: #ff3364;
}

/* Info Note */
.info-note {
  background: #e3f2fd;
  border-left: 3px solid #2196f3;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 12px;
  color: #666;
  margin-top: 8px;
}

/* Photos Compact Layout - Step 3 */
.photos-compact-layout {
  display: flex;
  gap: 16px;
}

.modal-content .cover-photo-compact {
  flex-shrink: 0;
  width: 33.333%;
}

.additional-photos-compact {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.photos-grid-compact {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: -webkit-max-content;
  grid-auto-columns: max-content;
  grid-gap: 6px;
  gap: 6px;
}

.photo-item-compact {
  position: relative;
  width: 100px;
  aspect-ratio: 1;
  background: #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.remove-icon-small {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 18px;
  height: 18px;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 10px;
}

.remove-icon-small:hover {
  background: rgba(255, 51, 100, 0.9);
}

/* Navigation Buttons Compact */
.step-nav-compact {
  display: flex;
  gap: 8px;
  padding-top: 12px;
  margin-top: auto; /* Push to bottom */
  border-top: 2px solid #f0f0f0;
  flex-shrink: 0;
}

.nav-btn-compact {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.nav-btn-compact.prev {
  background: #f5f5f5;
  color: #333;
}

.nav-btn-compact.prev:hover {
  background: #e0e0e0;
}

.nav-btn-compact.next,
.nav-btn-compact.submit {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
}

.nav-btn-compact.next:hover,
.nav-btn-compact.submit:hover {
  background: linear-gradient(135deg, #ff5e4c 0%, #ff7e70 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.3);
}

/* Responsive */
@media (max-width: 968px) {
  .modal-container-steps {
    flex-direction: column;
    height: auto;
  }
  
  .steps-sidebar {
    width: 100%;
    flex-direction: row;
    justify-content: space-around;
  }
  
  .step-connector {
    width: 24px;
    height: 2px;
    margin: 15px 4px 0 4px;
  }
}

/* Button to toggle existing products */
.button-modal-stand-modal {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 16px 0;
  padding: 12px 0;
  border-top: 2px solid #e0e0e0;
}

.edit-products-toggle {
  font-size: 15px;
  font-weight: 600;
  color: #ff3364;
  text-decoration: none;
  padding: 10px 24px;
  border-radius: 8px;
  transition: all 0.3s ease;
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.05) 0%, rgba(255, 94, 76, 0.05) 100%);
}

.edit-products-toggle:hover {
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.1) 0%, rgba(255, 94, 76, 0.1) 100%);
  color: #ff5e4c;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.2);
}

.save-products-btn {
  background: linear-gradient(135deg, #4caf50 0%, #66bb6a 100%);
  color: white;
  border: none;
  font-size: 15px;
  font-weight: 600;
  border-radius: 8px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

.save-products-btn:hover {
  background: linear-gradient(135deg, #66bb6a 0%, #81c784 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(76, 175, 80, 0.4);
}

/* Existing products modal-container styling (keep existing styles) */
.modal-container {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 24px;
  padding: 16px;
  background: #f9f9f9;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  position: relative;
  min-height: 300px;
}

/* Modal stand info (existing products form) */
.modal-stand-info {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 8px;
  max-height: 550px;
  
  scrollbar-width: thin;
  scrollbar-color: rgba(155, 155, 155, 0.3) transparent;
}

.modal-stand-info::-webkit-scrollbar {
  width: 6px;
}

.modal-stand-info::-webkit-scrollbar-track {
  background: transparent;
}

.modal-stand-info::-webkit-scrollbar-thumb {
  background: rgba(155, 155, 155, 0.3);
  border-radius: 3px;
}

.modal-stand-info::-webkit-scrollbar-thumb:hover {
  background: rgba(155, 155, 155, 0.5);
}

/* Modal stand form groups */
.modal-stand-form-group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px;
}

.modal-stand-form-group label {
  flex: 0 0 150px;
  margin-bottom: 4px;
  padding-top: 8px;
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

.modal-stand-form-control {
  flex: 1 1;
  padding: 8px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  min-width: 200px;
  transition: border-color 0.2s ease;
}

.modal-stand-form-control:focus {
  outline: none;
  border-color: #ff5e4c;
  box-shadow: 0 0 0 3px rgba(255, 94, 76, 0.1);
}

/* Animation for existing products expansion */
@keyframes slideDown {
  from {
    opacity: 0;
    max-height: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    max-height: 1000px;
    transform: translateY(0);
  }
}

.modal-container {
  animation: slideDown 0.3s ease-out;
}

/* Edit Product Container - Two-Pane Layout */
.edit-product-container {
  width: 100%;
  display: grid;
  grid-template-columns: 320px 1fr;
  grid-gap: 24px;
  gap: 24px;
  margin-bottom: 32px;
  position: relative;
  background: white;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  min-height: 480px; /* Adjusted for horizontal photo layout */
}

/* Horizontal photo scroll buttons */
.preview-additional-photos button:hover:not(:disabled) {
  background: #f8f8f8 !important;
  border-color: #ff5e4c !important;
  transform: scale(1.1);
}

.preview-additional-photos button:disabled {
  cursor: not-allowed !important;
}

.product-preview-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Match the compact form styling */
.edit-product-container .form-row-compact label {
  font-size: 12px;
  font-weight: 600;
  color: #333;
}

.edit-product-container .form-row-compact input,
.edit-product-container .form-row-compact select,
.edit-product-container .form-row-compact textarea {
  padding: 6px 10px;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  transition: border-color 0.2s ease;
}

.edit-product-container .form-row-compact input:focus,
.edit-product-container .form-row-compact select:focus,
.edit-product-container .form-row-compact textarea:focus {
  outline: none;
  border-color: #ff5e4c;
}

.preview-cover-image {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.preview-cover-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
}

.cover-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 60%, rgba(0,0,0,0.7));
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}

.preview-cover-image:hover .cover-overlay {
  opacity: 1;
}

.overlay-btn {
  background: white;
  color: #333;
  padding: 8px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.overlay-btn:hover {
  background: #f0f0f0;
  transform: translateY(-2px);
}

.add-cover-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  color: #999;
  font-size: 14px;
  font-weight: 500;
}

/* Thumbnail Strip */
.preview-thumb-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 8px;
  gap: 8px;
}

.preview-thumb {
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f5;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
}

.preview-thumb:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.preview-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
}

.thumb-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  cursor: pointer;
}

.preview-thumb:hover .thumb-remove {
  display: flex;
}

.thumb-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #f5f5f5;
  transition: background 0.2s ease;
}

.thumb-placeholder:hover {
  background: #e0e0e0;
}

/* Quick Actions */
.preview-quick-actions {
  display: flex;
  gap: 8px;
}

.quick-action-btn {
  flex: 1 1;
  padding: 8px 12px;
  background: #f5f5f5;
  border: none;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #666;
}

.quick-action-btn:hover {
  background: #e0e0e0;
  color: #333;
}

.unsaved-badge {
  padding: 8px 12px;
  background: linear-gradient(135deg, rgba(255, 165, 0, 0.1) 0%, rgba(255, 140, 0, 0.1) 100%);
  border-left: 3px solid #ff8c00;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #ff8c00;
}

/* Right Panel - Tabbed Editor */
.product-editor-panel {
  display: flex;
  flex-direction: column;
}

/* Tab Navigation */
.editor-tabs {
  display: flex;
  gap: 4px;
  padding: 6px;
  background: #f5f5f5;
  border-radius: 10px;
  margin-bottom: 20px;
}

.tab-btn {
  flex: 1 1;
  padding: 10px 20px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
}

.tab-btn.active {
  background: white;
  color: #ff3364;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.tab-btn:hover:not(.active) {
  color: #333;
}

/* Tab Content */
.editor-tab-content {
  flex: 1 1;
  overflow-y: auto;
  padding-right: 8px;
  margin-bottom: 20px;
  
  scrollbar-width: thin;
  scrollbar-color: rgba(155, 155, 155, 0.3) transparent;
}

.editor-tab-content::-webkit-scrollbar {
  width: 6px;
}

.editor-tab-content::-webkit-scrollbar-thumb {
  background: rgba(155, 155, 155, 0.3);
  border-radius: 3px;
}

.tab-pane {
  display: flex;
  flex-direction: column;
  gap: 20px;
  animation: fadeIn 0.2s ease-in;
}

/* Form Groups */
.edit-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.edit-form-group label {
  font-size: 13px;
  font-weight: 600;
  color: #333;
}

.edit-form-group input,
.edit-form-group textarea,
.edit-form-group select {
  padding: 10px 14px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.2s ease;
}

.edit-form-group input:focus,
.edit-form-group textarea:focus,
.edit-form-group select:focus {
  outline: none;
  border-color: #ff5e4c;
  box-shadow: 0 0 0 3px rgba(255, 94, 76, 0.1);
}

.edit-form-group textarea {
  resize: vertical;
  min-height: 80px;
}

.form-hint {
  font-size: 12px;
  color: #666;
  font-style: italic;
  display: block;
  margin-top: 4px;
}

/* Tag Chips */
.tag-chips-container {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  color: white;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 500;
}

.tag-chip button {
  background: rgba(255, 255, 255, 0.3);
  border: none;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  font-size: 12px;
  padding: 0;
  line-height: 1;
}

.inline-dropdown {
  display: inline-block;
}

.inline-dropdown .custom-dropdown-button {
  font-size: 12px;
  padding: 6px 12px;
  background: #f5f5f5;
  border-radius: 16px;
  color: #666;
  font-weight: 600;
}

/* Photos Gallery Grid */
.photos-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.gallery-photo-item {
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f5;
  position: relative;
}

.gallery-photo-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fafafa;
}

.photo-actions {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.gallery-photo-item:hover .photo-actions {
  opacity: 1;
}

.photo-action-btn {
  padding: 6px 16px;
  background: white;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.photo-action-btn.delete {
  background: #ff3364;
  color: white;
}

.gallery-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  color: #999;
  font-size: 12px;
  font-weight: 500;
}

.dropzone-hint {
  padding: 12px;
  background: #f0f7ff;
  border-left: 3px solid #2196f3;
  border-radius: 6px;
  font-size: 12px;
  color: #666;
}

/* Empty State */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
  color: #999;
}

.empty-icon {
  font-size: 48px;
  margin-bottom: 12px;
}

.empty-state p {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  margin: 0 0 4px 0;
}

.empty-state small {
  font-size: 12px;
  color: #999;
}

/* Sticky Action Bar */
.editor-action-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  border-top: 2px solid #f0f0f0;
  margin-top: auto;
}

.action-bar-left {
  display: flex;
  align-items: center;
}

.save-status {
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px;
}

.save-status.saved {
  color: #4caf50;
  background: rgba(76, 175, 80, 0.1);
}

.save-status.unsaved {
  color: #ff8c00;
  background: rgba(255, 140, 0, 0.1);
}

.action-bar-right {
  display: flex;
  gap: 8px;
}

.action-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}

.action-btn.secondary {
  background: #f5f5f5;
  color: #666;
  width: 100%;
}

.action-btn.secondary:hover {
  background: #e0e0e0;
  color: #333;
}

.action-btn.primary {
  background: linear-gradient(135deg, #4caf50 0%, #66bb6a 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
  width: 100%;
}

.action-btn.primary:hover {
  background: linear-gradient(135deg, #66bb6a 0%, #81c784 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(76, 175, 80, 0.4);
}

/* Responsive */
@media (max-width: 968px) {
  .edit-product-container {
    grid-template-columns: 1fr;
  }
  
  .product-preview-panel {
    position: relative;
    top: 0;
  }
  
  .preview-cover-image {
    height: 250px;
  }
}

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

/* Additional Photos Section */
.preview-additional-photos {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.section-label-small {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.additional-photos-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 8px;
  gap: 8px;
}

.additional-photo-slot {
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f5;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px dashed #e0e0e0;
}

.additional-photo-slot:hover {
  border-color: #ff5e4c;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.additional-photo-slot img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff
}

.photo-remove-icon {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  background: rgba(255, 51, 100, 0.9);
  color: white;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.additional-photo-slot:hover .photo-remove-icon {
  display: flex;
}

.photo-remove-icon:hover {
  background: #ff3364;
  transform: scale(1.1);
}

.additional-photo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #fafafa;
  transition: all 0.2s ease;
}

.additional-photo-placeholder:hover {
  background: #f0f0f0;
}

.additional-photo-slot:has(.additional-photo-placeholder) {
  border-style: dashed;
}

.additional-photo-slot:has(img) {
  border-style: solid;
  border-color: #e0e0e0;
}

/* Update tabs to only show 2 */
.editor-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Changed from flex to grid with 2 columns */
  grid-gap: 4px;
  gap: 4px;
  padding: 6px;
  background: #f5f5f5;
  border-radius: 10px;
  margin-bottom: 20px;
}

/* Remove thumbnail strip styles (no longer needed) */
.preview-thumb-strip {
  display: none;
}

/* Responsive - Stack photos 3-2 on smaller screens */
@media (max-width: 968px) {
  .additional-photos-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 576px) {
  .additional-photos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.confirmation-buttons {
    display: flex;
    flex-direction: row;
    width: 50%
}

.custom-backdrop .modal-body {
    padding: 10px;
}

.confirmation-buttons .save {
    background-color: #000000;
    padding: 0px;
    font-weight: lighter;
  }

  .confirmation-buttons .save:hover {
    background-color: #797979;
  }

  .confirmation-buttons .cancel {
    background-color: #797979;
    padding: 0px;
    font-weight: lighter;
  }

  .unsaved-changes {
    padding: 5px;
  }

  .confirmation-buttons .cancel:hover {
    background-color: #000000;
  }

.comments-section-container {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.comments-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 24px;
    color: #333;
}

.feedback-submitted-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: linear-gradient(135deg, #52c41a 0%, #95de64 100%);
    color: white;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(82, 196, 26, 0.2);
}

.feedback-submitted-notice .check-icon {
    font-size: 24px;
}

.feedback-submitted-notice p {
    margin: 0;
    font-weight: 500;
    font-size: 15px;
}

.comments-loading {
    text-align: center;
    padding: 40px;
    color: #666;
    font-size: 16px;
}

.no-comments-message {
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border-radius: 12px;
    color: #666;
}

.no-comments-message p {
    font-size: 16px;
    margin: 0;
}

.comments-cards-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.comment-card {
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%);
    border: 1px solid #e0e0e0;
    border-radius: 16px;
    padding: 20px;
    gap: 20px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.comment-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.comment-card-left {
    flex-shrink: 0;
}

.comment-profile-picture {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #ddd;
    background: #f0f0f0;
}

.comment-profile-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.comment-card-content {
    flex: 1 1;
    min-width: 0;
}

.comment-card-header {
    margin-bottom: 8px;
}

.comment-business-name {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.comment-text {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin: 0;
    word-wrap: break-word;
}

.comment-card-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    flex-shrink: 0;
}

.comment-rating {
    display: flex;
    gap: 4px;
}

.comment-star {
    color: #f59e0b;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
}

.comment-view-btn {
    background: transparent;
    border: none;
    color: #666;
    cursor: pointer;
    font-size: 20px;
    padding: 8px;
    transition: all 0.2s ease;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
}

.comment-view-btn:hover {
    background: #f0f0f0;
    color: #333;
}

.comment-view-btn:active {
    transform: scale(0.95);
}

/* Responsive Design */
@media (max-width: 768px) {
    .comments-section-container {
        padding: 16px;
    }

    .comment-card {
        padding: 16px;
        gap: 12px;
    }

    .comment-profile-picture {
        width: 50px;
        height: 50px;
    }

    .comment-business-name {
        font-size: 14px;
    }

    .comment-text {
        font-size: 13px;
    }

    .comment-star {
        font-size: 14px;
    }

    .comment-view-btn {
        font-size: 18px;
        width: 32px;
        height: 32px;
    }
}

@media (max-width: 480px) {
    .comment-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .comment-card-right {
        flex-direction: row;
        width: 100%;
        justify-content: space-between;
        align-items: center;
    }
}

/* ImageCropModal.css */
.image-crop-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.image-crop-modal {
  background: white;
  border-radius: 16px;
  width: 90vw;
  height: 90vh;
  max-width: 800px;
  max-height: 600px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

.image-crop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  background: #f8f9fa;
}

.image-crop-header h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
}

.image-crop-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  padding: 0.25rem;
  border-radius: 4px;
  transition: all 0.2s ease;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.image-crop-close:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #333;
}

.image-crop-container {
  flex: 1 1;
  position: relative;
  overflow: hidden;
  background: #2a2a2a;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

.image-crop-image {
  position: absolute;
  max-width: none;
  max-height: none;
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  transition: opacity 0.2s ease;
}

.image-crop-image.grab {
  cursor: grab;
}

.image-crop-image.grabbing {
  cursor: grabbing;
}

/* Fixed crop frame overlay (LinkedIn-style) */
.image-crop-frame {
  position: absolute;
  border: 3px solid rgba(255, 255, 255, 0.9);
  box-shadow: 
    0 0 0 9999px rgba(0, 0, 0, 0.6),
    inset 0 0 0 1px rgba(255, 255, 255, 0.3);
  pointer-events: none;
  z-index: 10;
}

.image-crop-frame.circle {
  border-radius: 50%;
}

/* Dark overlay dimmer (covers everything outside crop frame) */
.crop-overlay-dimmer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 9;
}

/* Grid overlay for rule of thirds alignment */
.crop-grid-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 11;
}

.grid-line {
  position: absolute;
  background: rgba(255, 255, 255, 0.4);
  pointer-events: none;
}

.grid-line-h {
  width: 100%;
  height: 1px;
  left: 0;
}

.grid-line-v {
  height: 100%;
  width: 1px;
  top: 0;
}

.image-crop-actions {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid #e0e0e0;
  background: #f8f9fa;
}

/* .btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.875rem;
}

.btn-secondary {
  background: #6c757d;
  color: white;
}

.btn-secondary:hover {
  background: #5a6268;
}

.btn-primary {
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  color: white;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #e54545, #e8894a);
  transform: translateY(-1px);
}

.btn-primary:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
} */

/* Mobile responsiveness */
@media (max-width: 768px) {
  .image-crop-modal {
    width: 95vw;
    height: 95vh;
    max-width: none;
    max-height: none;
  }
  
  .image-crop-header {
    padding: 1rem;
  }
  
  .image-crop-actions {
    padding: 1rem;
    flex-direction: column;
  }
  
  /* .btn {
    width: 100%;
  } */
  
  .resize-handle {
    width: 16px;
    height: 16px;
  }
  
  .resize-handle.top-left { top: -8px; left: -8px; }
  .resize-handle.top-right { top: -8px; right: -8px; }
  .resize-handle.bottom-left { bottom: -8px; left: -8px; }
  .resize-handle.bottom-right { bottom: -8px; right: -8px; }
  .resize-handle.top { top: -8px; }
  .resize-handle.bottom { bottom: -8px; }
  .resize-handle.left { left: -8px; }
  .resize-handle.right { right: -8px; }
}

/* Animation for smooth transitions */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.image-crop-modal {
  animation: fadeIn 0.3s ease;
}

/* Grid overlay for better alignment */
.crop-grid-overlay {
  position: absolute;
  pointer-events: none;
  z-index: 10;
}

.grid-line {
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

.grid-line-h {
  left: 0;
  right: 0;
  height: 1px;
}

.grid-line-v {
  top: 0;
  bottom: 0;
  width: 1px;
}

/* Zoom and info controls */
.image-crop-controls {
  padding: 1rem 1.5rem;
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.zoom-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.zoom-controls label {
  font-size: 0.9rem;
  font-weight: 500;
  color: #333;
  min-width: 80px;
}

.zoom-slider-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1;
}

.zoom-btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: 1px solid #d0d0d0;
  background: white;
  font-size: 1.2rem;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.zoom-btn:hover:not(:disabled) {
  background: #007bff;
  color: white;
  border-color: #007bff;
}

.zoom-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.zoom-slider {
  flex: 1 1;
  height: 6px;
  border-radius: 3px;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  background: #e0e0e0;
}

.zoom-slider::-webkit-slider-track {
  background: #e0e0e0;
  height: 6px;
  border-radius: 3px;
}

.zoom-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #007bff;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.zoom-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.zoom-slider::-moz-range-track {
  background: #e0e0e0;
  height: 6px;
  border-radius: 3px;
}

.zoom-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #007bff;
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  -moz-transition: all 0.2s;
  transition: all 0.2s;
}

.zoom-slider::-moz-range-thumb:hover {
  transform: scale(1.2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.image-info {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.info-text {
  font-size: 0.85rem;
  color: #666;
  font-family: 'Courier New', monospace;
}

.keyboard-shortcuts {
  text-align: center;
}

.shortcut-hint {
  font-size: 0.8rem;
  color: #999;
  font-style: italic;
}
.host-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 30px;
    margin-right: 30px;
    min-height: 100vh;
}

.photo-section {
    width: 100%;
    /* Add more styles for photo section */
}

.booking-calendar {
    position: absolute;
    right: 20px; /* Adjust as needed */
    bottom: 20px; /* Adjust as needed */
    /* Additional styles for calendar */
}

.description-section {
    margin-top: 20px;
    /* Add more styles for description section */
}

.search-date-container{
    position: relative;
    display: flex;
    justify-content: center;
    margin-right: auto;
    flex-grow: 1;
}

.search-date-container button {
    padding: 10px 5px !important;
}

.search-date-container form {
    display: flex;
}




/* CustomStyles.css */
.react-datepicker {
    font-size: 16px;
    width: auto;
    border: none; /* Remove default border */
    /* font-family: 'Open Sans', sans-serif; */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add some shadow for depth */

}

.react-datepicker-wrapper {
    padding: 10px;
}

.react-datepicker__input-container {
    width: 100%;
}

.react-datepicker__input-container input {
    width: 100%;
    border-radius: 20px; /* Rounded borders for the input */
    border: 1px solid #ccc; /* Light grey border */
    font-size: 16px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); /* Inner shadow for depth */
}

/* Adjust size of each day cell */
.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 2.5em; /* Increase width */
    line-height: 2.5em; /* Increase line height */
    margin: 0.166em;
}

/* Style for the calendar navigation */
.react-datepicker__navigation {
    width: 30px; /* Increase width */
    height: 30px; /* Increase height */
}

/* Style for the calendar header */
.react-datepicker__current-month {
    font-size: 16px;
}

.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 1.9em;
    line-height: 1.9em;
    margin: 0.166em;
}

/* Adjust the look of the selected day */
.react-datepicker__day--selected {
    border-radius: 50%; /* Circular highlight for selected day */
    background-color: #f00; /* Example: Red background for the selected day */
    color: white;
}

/* Hover styles for days */
.react-datepicker__day:hover {
    background-color: #ddd; /* Light grey background on hover */
}

/* Example media query for smaller screens */
@media (max-width: 600px) {
    .react-datepicker {
        font-size: 14px; /* Smaller font size on small screens */
    }

    .react-datepicker__navigation {
        width: 20px;
        height: 20px;
    }
}

.header-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 50px;
    flex-direction: column;
    position: relative;
    align-items: center;
}

.header-container .profile-name{
    align-items: center;
    display: flex;
    gap: 10px;
    width: 100%;
    height: auto;
    z-index: 2;
    position: relative;
    justify-content: left;
}

.header-container .profile-name h2 {
    margin: 0;                 /* Removes default margin to align text properly */
    white-space: nowrap;       /* Prevents the text from wrapping to a new line */
    overflow: hidden;          /* Prevents overflow of text outside the container */
    text-overflow: ellipsis;   /* Adds an ellipsis if the text overflows */
    margin-left: 150px;
    margin-top: 20px;
    padding: 10px;
}

.header-container .profile-name img {
    position: absolute;
    bottom: 20px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-left: 20px;
}

.header-container .header-image  {
    width: 100%;
    height: 250px;
    object-fit: cover; /* Cover ensures the image will fill the container, potentially cropping it */
    object-position: center;
    display: inline-block;
    position: relative;
}

.header-container .header-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Cover ensures the image will fill the container, potentially cropping it */
    object-position: center;
    display: block;
    position: relative;
    z-index: -1;
}

.header-image .edit-icon {
    position: absolute;
    top: 10px; /* Adjust this value to move the icon vertically */
    right: 10px; /* Adjust this value to move the icon horizontally */
    background: rgba(255, 255, 255, 0); /* Light background for visibility */
    border: none; /* Remove border */
    cursor: pointer; /* Pointer cursor on hover */
    padding: 8px;
    transition: background 0.3s ease-in-out, transform 0.3s ease-in-out;
    display: flex; /* Ensures the icon centers in the button */
    align-items: center;
    justify-content: center;
}

.header-image .edit-icon:hover {
    transform: scale(1.2); /* Increase size by 20% */
}

/* .host-profile-body {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    margin: 30px;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
} */

.host-profile-body .metadata {
    flex: 0 0 25%; /* do not grow or shrink, and base width = 25% */
  max-width: 25%;
}

.host-profile-body .current-collaborations {
    flex: 2 1;
    display: flex;
    flex-direction: column;
}

.current-collaborations {
    margin-left: 20px;
    flex-grow: 1;
}

.separator {
    height: 1px;
    background-color: #ccc;
    margin: 2px 0;
    width: 100%;
}

/* Profile info sections styling */
.profile-info {
    padding: 5px;
    border: 1px solid rgba(0, 0, 0, 0.311);
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
}

.profile-info h6 {
    font-weight: bold;
    margin-bottom: 8px;
}

.text-default {
    color: #333;
    line-height: 1.4;
    margin: 8px 0;
}

/* Preference tags styling */
.preference-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0;
}

.preference-tag {
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 4px 12px;
    font-size: 12px;
    color: #666;
    display: inline-block;
}

/* Host profile body layout */
.host-profile-body {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    width: 100%;
    height: auto;
    overflow: visible;
    margin-top: 10px;
    gap: 20px;
}

/* Container profile styling */
.container-profile {
    min-height: 1000px;
}
.stand-no-edit-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Stands Section */
.stands-section {
    width: 100%;
}

.stands-header {
    margin-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 8px;
}

.stands-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.stands-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Exactly 3 columns */
    grid-gap: 24px;
    gap: 24px;
    margin-bottom: 24px;
    transition: all 0.3s ease; /* Smooth transition for grid changes */
}

/* Available Stands Section */
.available-stands-section {
    width: 100%;
}

.available-stands-header {
    margin-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 8px;
}

.available-stands-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.available-stands-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Exactly 3 columns */
    grid-gap: 24px;
    gap: 24px;
    margin-bottom: 24px;
    transition: all 0.3s ease; /* Smooth transition for grid changes */
}

/* Pagination Styles */
.pagination-container {
    display: flex;
    justify-content: center;
    margin: 24px 0;
}

.pagination {
    display: flex;
    align-items: center;
    gap: 12px; /* Increased gap for better spacing */
}

.pagination-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none; /* Remove border */
    background-color: transparent; /* Transparent background */
    color: #999; /* Light grey for arrows */
    cursor: pointer;
    border-radius: 50%; /* Make it circular */
    font-size: 18px;
    font-weight: bold;
    transition: all 0.3s ease; /* Smooth transition */
}

.pagination-arrow:hover:not(.disabled) {
    background-color: #f5f5f5;
    color: #333;
    transform: translateX(2px); /* Subtle movement on hover */
}

.pagination-arrow.disabled {
    color: #ddd;
    cursor: not-allowed;
}

.pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border: none; /* No border */
    background-color: transparent; /* No background */
    color: #999; /* Light grey for inactive numbers */
    cursor: pointer;
    border-radius: 50%; /* Make it circular */
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease; /* Smooth transition */
}

.pagination-number:hover {
    background-color: #f5f5f5;
    color: #666;
    transform: scale(1.1); /* Slight scale on hover */
}

.pagination-number.active {
    background-color: transparent; /* No background even when active */
    color: #000; /* Black for selected number */
    font-weight: 600; /* Bold for active number */
    transform: scale(1.15); /* Slightly larger when active */
}

.pagination-number.active:hover {
    background-color: #f0f0f0;
    color: #000;
}

/* Pagination dots */
.pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    color: #999;
    font-size: 14px;
    font-weight: bold;
    -webkit-user-select: none;
            user-select: none;
}

/* Smooth page transitions */
.stand-card {
    transition: all 0.3s ease;
    opacity: 1;
}

.stand-card.page-transition {
    opacity: 0;
    transform: translateX(20px);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .stands-grid,
    .available-stands-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on tablets */
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .stands-grid,
    .available-stands-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
        gap: 16px;
    }
    
    .pagination {
        gap: 8px;
    }
    
    .pagination-arrow,
    .pagination-number {
        width: 32px;
        height: 32px;
        font-size: 12px;
        min-width: 32px;
    }

    .pagination-dots {
        min-width: 32px;
        height: 32px;
    }
}

@media (max-width: 480px) {
    .stands-grid,
    .available-stands-grid {
        grid-template-columns: 1fr; /* Single column on very small screens */
        gap: 12px;
    }
    
    .pagination {
        gap: 6px;
    }
    
    .pagination-arrow,
    .pagination-number {
        width: 28px;
        height: 28px;
        font-size: 11px;
        min-width: 28px;
    }

    .pagination-dots {
        min-width: 28px;
        height: 28px;
        font-size: 12px;
    }
}

/* Ensure stand cards take full width within their grid cell */
.stands-grid .stand-card,
.available-stands-grid .stand-card {
    width: 100%;
}

/* Animation for smooth page transitions */
@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.stands-grid .stand-card,
.available-stands-grid .stand-card {
    animation: slideInRight 0.4s ease-out;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns items to the start of the line */
    gap: 16px; /* Spacing between cards */
}

.picture-card {
    width: calc(33.333% - 16px); /* Sets the width to one-third of the parent width minus the gap */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Adds shadow for a card-like appearance */
    border-radius: 8px; /* Rounded corners for the card */
    overflow: hidden; /* Ensures content fits within the borders */ /* Background color for the card */
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    background-size: cover;
    background-position: center;
    background: #fff;
    flex-direction: column; /* Stack the content vertically */
    height: 300px;
}

.image-background {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.title-input, .title-display {
    width: 100%; /* Input takes the full width of the card */
    padding: 8px;
    box-sizing: border-box;
}

.edit-icon {
    margin-left: 10px; /* Space between text and edit button */
    background: transparent;
    border: none;
    cursor: pointer;
}

.title-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
}

/* .picture-card div {
    width: 100%;
    height: 200px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: block;
} */

.picture-card img {
    width: 100%;  /* Fixed width */
    height: 150px; /* Fixed height */
    object-fit: cover; /* This will cover the area without distorting the aspect ratio */
    display: block;
}

.title-input {
    display: block;
    width: 100%; /* Makes the input field span the enªtire card width */
    border: none; /* Removes the default border */
    padding: 8px; /* Padding inside the input field */
    box-sizing: border-box; /* Includes padding in the width calculation */
    font-size: 16px; /* Larger font size for better readability */
}

.title-input:focus {
    outline: 2px solid rgb(0, 0, 0); /* Highlight focus with a blue outline */
}

.add-image-button {
    background-color: transparent;
    border-color: transparent;
}

.delete-icon {
    background-color: transparent;
    border-color: transparent;
}

.notfound-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f44336 0%, #e57373 100%);
  padding: 20px;
  font-family: 'Inter', 'Arial', sans-serif;
}

.notfound-content {
  background: white;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
  padding: 60px 40px;
  text-align: center;
  max-width: 600px;
  width: 100%;
  animation: fadeInUp 0.8s ease-out;
}

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

.notfound-animation {
  margin-bottom: 40px;
}

.icomerge-logo {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
}

.notfound-container .logo-circle {
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, #f44336 0%, #e57373 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  animation: logoFloat 3s ease-in-out infinite;
  box-shadow: 0 10px 30px rgba(244, 67, 54, 0.3);
}

@keyframes logoFloat {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

.notfound-container .logo-image {
  width: 60px;
  height: 60px;
  object-fit: contain;
  animation: logoRotate 8s linear infinite;
  margin-bottom: 0;
  margin-bottom: initial;
}

@keyframes logoRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.notfound-container .logo-svg {
  animation: logoGlow 2s ease-in-out infinite alternate;
}

.notfound-container .logo-svg rect:nth-child(1) {
  animation: partPulse 3s ease-in-out infinite;
  animation-delay: 0s;
}

.notfound-container .logo-svg rect:nth-child(2) {
  animation: partPulse 3s ease-in-out infinite;
  animation-delay: 0.15s;
}

.notfound-container .logo-svg rect:nth-child(3) {
  animation: partPulse 3s ease-in-out infinite;
  animation-delay: 0.3s;
}

.notfound-container .logo-svg rect:nth-child(4) {
  animation: partPulse 3s ease-in-out infinite;
  animation-delay: 0.45s;
}

@keyframes logoGlow {
  0% {
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.5));
  }
  100% {
    filter: drop-shadow(0 0 15px rgba(255,255,255,0.8));
  }
}

@keyframes partPulse {
  0%, 100% {
    opacity: 0.8;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

.notfound-container .logo-waves {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.notfound-container .wave {
  position: absolute;
  border: 2px solid #e57373;
  border-radius: 50%;
  opacity: 0;
  animation: waveAnimation 2s linear infinite;
}

.notfound-container .wave-1 {
  width: 120px;
  height: 120px;
  margin: -60px 0 0 -60px;
  animation-delay: 0s;
}

.notfound-container .wave-2 {
  width: 160px;
  height: 160px;
  margin: -80px 0 0 -80px;
  animation-delay: 0.5s;
}

.notfound-container .wave-3 {
  width: 200px;
  height: 200px;
  margin: -100px 0 0 -100px;
  animation-delay: 1s;
}

@keyframes waveAnimation {
  0% {
    opacity: 1;
    transform: scale(0.5);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}

.notfound-text {
  margin-bottom: 40px;
}

.error-code {
  font-size: 120px;
  font-weight: 900;
  color: #e57373;
  margin: 0;
  line-height: 1;
  text-shadow: 0 4px 8px rgba(102, 126, 234, 0.2);
}

.error-title {
  font-size: 32px;
  font-weight: 700;
  color: #333;
  margin: 20px 0 16px 0;
}

.error-message {
  font-size: 18px;
  color: #666;
  line-height: 1.6;
  max-width: 480px;
  margin: 0 auto;
}

.notfound-suggestions {
  background: #f8f9ff;
  border-radius: 12px;
  padding: 30px;
  margin-bottom: 40px;
  border-left: 4px solid #e57373;
}

.suggestions-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0 0 20px 0;
}

.suggestions-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}

.suggestions-list li {
  padding: 8px 0;
  color: #555;
  font-size: 16px;
  position: relative;
  padding-left: 24px;
}

.suggestions-list li:before {
  content: "•";
  color: #e57373;
  font-weight: bold;
  position: absolute;
  left: 0;
  font-size: 20px;
}

.notfound-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.notfound-footer {
  border-top: 1px solid #e1e5e9;
  padding-top: 30px;
}

.footer-text {
  color: #666;
  font-size: 14px;
  margin: 0;
}

.support-link {
  color: #e57373;
  text-decoration: none;
  font-weight: 600;
  margin-left: 4px;
}

.support-link:hover {
  text-decoration: underline;
}

/* Responsive Design */
@media (max-width: 768px) {
  .notfound-content {
    padding: 40px 24px;
    margin: 20px;
  }
  
  .error-code {
    font-size: 80px;
  }
  
  .error-title {
    font-size: 24px;
  }
  
  .error-message {
    font-size: 16px;
  }
  
  .notfound-actions {
    flex-direction: column;
    align-items: center;
  }
  
  .btn-primary,
  .btn-secondary,
  .btn-accent {
    width: 100%;
    max-width: 280px;
  }
  
  .notfound-container .logo-circle {
    width: 80px;
    height: 80px;
  }
  
  .notfound-container .logo-image {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 480px) {
  .notfound-container {
    padding: 10px;
  }
  
  .notfound-content {
    padding: 30px 20px;
  }
  
  .error-code {
    font-size: 60px;
  }
  
  .error-title {
    font-size: 20px;
  }
  
  .suggestions-list li {
    font-size: 14px;
  }
}

/* Dark mode support */
/* @media (prefers-color-scheme: dark) {
  .notfound-content {
    background: #1a1a1a;
    color: #fff;
  }
  
  .error-title {
    color: #fff;
  }
  
  .error-message {
    color: #ccc;
  }
  
  .notfound-suggestions {
    background: #2a2a2a;
    border-left-color: #e57373;
  }
  
  .suggestions-title {
    color: #fff;
  }
  
  .suggestions-list li {
    color: #ccc;
  }
  
  .btn-secondary {
    background: #333;
    color: #ccc;
    border-color: #444;
  }
  
  .btn-secondary:hover {
    background: #444;
    border-color: #555;
  }
  
  .footer-text {
    color: #ccc;
  }
  
  .notfound-footer {
    border-top-color: #333;
  }
}  */
:root {
  --grad-1-start: #ff3364; /* raspberry */
  --grad-1-end:   #ff5e4c; /* coral */

  --grad-2-start: #ff4f69; /* warm pink */
  --grad-2-end:   #ff7a45; /* coral-orange */

  --grad-3-start: #ff6b55; /* coral-orange */
  --grad-3-end:   #ff9a3d; /* orange */

  --grad-4-start: #ff823f; /* orange */
  --grad-4-end:   #ffc145; /* amber */
}

.container-profile {
    min-height: 1000px;
}

.tenant-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 30px;
    margin-right: 30px;
}

.profile-name {
    position: relative;
    display: 'inline-block';
}

.brand-header-info .input-name {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.profile-info {
    padding: 5px;
    border: 1px solid rgba(0, 0, 0, 0.311);
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
}

.profile-info h6 {
    font-weight: bold;
}

.owner-panel {
    padding: 5px;
}

.description-input {
    font-size: 1em; /* Adjust as needed */
    /* font-family: inherit; */
    border: none; /* Remove the border */
    border-bottom: 1px solid #000; /* Add a bottom border to make it look neat */
    outline: none; /* Remove the default outline */
    background: none; /* Remove the background */
    width: 100%; /* Make it take the full width */
    padding: 0; /* Remove any default padding */
    margin: 0; /* Remove any default margin */
    margin-top: 20px;
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}


.profile-name .edit-input-name {
    position: relative;
    display: flex;
}

.photo-section {
    width: 100%;
    /* Add more styles for photo section */
}

.booking-calendar {
    position: absolute;
    right: 20px; /* Adjust as needed */
    bottom: 20px; /* Adjust as needed */
    /* Additional styles for calendar */
}

.description-section {
    margin-top: 20px;
    /* Add more styles for description section */
}

.search-date-container{
    position: relative;
    display: flex;
    justify-content: center;
    margin-right: auto;
    flex-grow: 1;
}

.search-date-container button {
    padding: 10px 5px !important;
}

.search-date-container form {
    display: flex;
}




/* CustomStyles.css */
.react-datepicker {
    font-size: 16px;
    width: auto;
    border: none; /* Remove default border */
    /* font-family: 'Open Sans', sans-serif; */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add some shadow for depth */

}

.react-datepicker-wrapper {
    padding: 10px;
}

.react-datepicker__input-container {
    width: 100%;
}

.react-datepicker__input-container input {
    width: 100%;
    border-radius: 20px; /* Rounded borders for the input */
    border: 1px solid #ccc; /* Light grey border */
    font-size: 16px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); /* Inner shadow for depth */
}

/* Adjust size of each day cell */
.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 2.5em; /* Increase width */
    line-height: 2.5em; /* Increase line height */
    margin: 0.166em;
}

/* Style for the calendar navigation */
.react-datepicker__navigation {
    width: 30px; /* Increase width */
    height: 30px; /* Increase height */
}

/* Style for the calendar header */
.react-datepicker__current-month {
    font-size: 16px;
}

.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 1.9em;
    line-height: 1.9em;
    margin: 0.166em;
}

/* Adjust the look of the selected day */
.react-datepicker__day--selected {
    border-radius: 50%; /* Circular highlight for selected day */
    background-color: #f00; /* Example: Red background for the selected day */
    color: white;
}

/* Hover styles for days */
.react-datepicker__day:hover {
    background-color: #ddd; /* Light grey background on hover */
}

/* Example media query for smaller screens */
@media (max-width: 600px) {
    .react-datepicker {
        font-size: 14px; /* Smaller font size on small screens */
    }

    .react-datepicker__navigation {
        width: 20px;
        height: 20px;
    }
}

.header-container .profile-name{
    align-items: center;
    display: flex;
    gap: 10px;
    width: 100%;
    height: auto;
    z-index: 2;
    position: relative;
    justify-content: left;
}

.header-container .profile-name h2 {
    margin: 0;                 /* Removes default margin to align text properly */
    white-space: nowrap;       /* Prevents the text from wrapping to a new line */
    overflow: hidden;          /* Prevents overflow of text outside the container */
    text-overflow: ellipsis;   /* Adds an ellipsis if the text overflows */
    margin-left: 150px;
    margin-top: 20px;
    padding: 10px;
}

.header-container .profile-name img {
    position: absolute;
    bottom: 20px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-left: 20px;
}

.header-container .header-image  {
    width: 100%;
    height: 250px;
    object-fit: cover; /* Cover ensures the image will fill the container, potentially cropping it */
    object-position: center;
    display: inline-block;
    position: relative;
}

.header-image .edit-icon {
    position: absolute;
    background-color: white;
    top: 10px; /* Adjust this value to move the icon vertically */
    right: 10px; /* Adjust this value to move the icon horizontally */
    border: none; /* Remove border */
    cursor: pointer; /* Pointer cursor on hover */
    padding: 8px; /* Adjust padding as needed */
    border-radius: 50%; /* Makes the background a circle */
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); /* Optional: Add a slight shadow for better visibility */
    transition: background 0.3s ease-in-out, transform 0.3s ease-in-out; /* Smooth transitions */
    display: flex; /* Ensures the icon centers in the button */
    align-items: center;
    justify-content: center;
}

.profile-info .edit-icon {
    background-color: white;
    border: none; /* Remove border */
    cursor: pointer; /* Pointer cursor on hover */
    border-radius: 50%; /* Makes the background a circle */
    transition: background 0.3s ease-in-out, transform 0.3s ease-in-out; /* Smooth transitions */
    display: flex; /* Ensures the icon centers in the button */
    align-items: center;
    justify-content: center;
}

.profile-info .edit-icon:hover {
    background-color: rgba(255, 255, 255, 0.8); /* Slightly transparent on hover */
    transform: scale(1.2); /* Slightly enlarges on hover */
}

.brand-header-actions .edit-icon {
    transition: background 0.3s ease-in-out, transform 0.3s ease-in-out; /* Smooth transitions */
    display: flex; /* Ensures the icon centers in the button */
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.brand-header-actions .edit-icon:hover {
    transform: scale(1.2); /* Slightly enlarges on hover */
}

.header-image .edit-icon:hover {
    background-color: rgba(255, 255, 255, 0.8); /* Slightly transparent on hover */
    transform: scale(1.2); /* Slightly enlarges on hover */
}

.tenant-profile-body {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    margin: 30px;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
}

.tenant-profile-body .metadata {
  flex: 0 0 25%; /* do not grow or shrink, and base width = 25% */
  max-width: 25%;
}

.tenant-profile-body .current-collaborations {
    flex: 2 1;
    display: flex;
    flex-direction: column;
}

.current-collaborations {
    margin-left: 20px;
}

.metadata .profile-info {
    border-radius: 24px; /* Apply rounding only to the left corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
    padding: 36px 26px;
    border: 4px solid #232323;
    border: 4px solid var(--Color-Palette-Darker-black, #232323);
}

.metadata .owner-panel {
    border-radius: 24px; /* Apply rounding only to the left corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
    padding: 36px 26px;
    border: 4px solid #232323;
    border: 4px solid var(--Color-Palette-Darker-black, #232323);
}

.separator {
    height: 1px;
    background-color: #ccc;
    margin: 2px 0;
    width: 100%;
}


/***** Brand Header Bar *****/
.brand-header-bar {
    position: absolute;
    left: 50%;
  transform: translateX(-50%);
  bottom: -15%;         /* Negative offset: half the bar’s height if you want half on the image, half below */
  z-index: 2;            /* Ensure it appears above the image */
  width: 50%;            /* Or some width to match your design */
  border-radius: 40px;   /* Pill shape if you want a half circle on top/bottom */
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
    max-width: 800px;  /* Limit the bar width or set to 100% */
  padding: 0.5rem 1rem;    /* Spacing between sections */
  }
  
  /* Left side: brand logo + brand info */
  .brand-header-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 50%;
  }
  
  .brand-header-logo {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #ddd;
  }
  
  .brand-header-info {
    display: flex;
    flex-direction: row;
    line-height: 1.2;
    width: 100%;
    justify-content: space-around;
  }
  
  .brand-header-name {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;        /* Prevent text from wrapping */
    overflow: hidden;           /* Hide overflow */
    text-overflow: ellipsis;    /* Show ... if it overflows */
    max-width: 200px;           /* Limit width if you want ellipsis */
  }
  
  .brand-header-domain {
    font-size: 0.9rem;
    color: #999;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
  }
  
  /* Middle: action buttons (Saved list, Collaborations) */
  .brand-header-actions {
    display: flex;
    gap: 0.75rem;
  }
  
  .brand-header-actions button {
    border-radius: 20px;
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
  }

  .brand-header-collab {
    background-color: #ff5b5b;
    color: #fff;
    border: None;
  }

  .brand-header-saved {
    color: #ff5b5b;
    background-color: #fff;
    border: 2px solid #ff5b5b;
  }
  
  .brand-header-collab:hover {
    background-color: #ff3d3d;
  }

  .brand-header-saved:hover {
    color: #fff;
    background-color: #ff3d3d;
    border: None;
    border: 2px solid #ff3d3d;
  }
  
  /* Right side: edit icon */
  .brand-header-edit {
    display: flex;
    align-items: center;
    cursor: pointer;
  }
  
  .brand-header-edit svg:hover {
    transform: scale(1.1);
  }
  
  /***** End Brand Header Bar *****/
/* Container for the entire profile body */
  
  /* Header inside profile info (e.g. description header) */
  .profile-info-header {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  
  /* Shared text style for description textarea and paragraph */
  .text-default {
    font-size: 1rem;
    color: black;
  }
  
  /* Editable textarea styling */
  .description-input {
    border: none;
    border-bottom: 1px solid #000;
    outline: none;
    background: none;
    width: 100%;
    padding: 0;
    margin-top: 20px;
    box-sizing: border-box;
  }
  
  /* Owner panel section */
  .owner-panel {
    padding: 5px;
    border: 1px solid rgba(0, 0, 0, 0.311);
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
  
  /* Container for owner panel buttons */
  .owner-panel-buttons {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
  }
  
  /* Button container for proper spacing */
  .owner-panel-button-container {
    display: flex;
    gap: 4px;
    align-items: center;
    width: 100%;
  }
  
  /* Common button styles for owner panel buttons */
  .owner-panel-button {
    border-width: 1px;
    border-style: solid;
    padding: 5px 10px;
    margin: 4px;
    border-radius: 15px;
    width: 100%;
    cursor: pointer;
    box-sizing: border-box;
    display: inline-block;
    transition: background-color 0.3s, color 0.3s;
  }
  
  /* Collaborations button (inactive state) */
  .owner-panel-button-collaborations {
    background-color: white;
    color: black;
    border-color: black;
  }
  
  /* Collaborations button active state */
  .owner-panel-button-collaborations-profile.active {
    background-color: black;
    color: white;
  }
  
  /* Product Interests button */
  .owner-panel-button-interests {
    background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-1-end) 100%);
    color: white;
    border-color: transparent;
  }

  .owner-panel-button-purchases {
    background: linear-gradient(135deg, #ff6b55 0%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-3-start) 0%, var(--grad-3-end) 100%);
    color: white;
    border-color: transparent;
  }

  .owner-panel-button-purchases:hover {
    opacity: 0.9;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 51, 100, 0.4);
  }
  
  .owner-panel-button-interests:hover {
    opacity: 0.9;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 51, 100, 0.4);
  }
  
  .owner-panel-button-interests.active {
    background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
    background: linear-gradient(135deg, var(--grad-1-start) 0%, var(--grad-1-end) 100%);
  }

  .owner-panel-button-purchases.active {
    background: linear-gradient(135deg, #ff6b55 0%, #ff9a3d 100%);
    background: linear-gradient(135deg, var(--grad-3-start) 0%, var(--grad-3-end) 100%);
  }
  
  /* Disabled buttons (Saved and Stats) */
  .owner-panel-button-disabled {
    background-color: white;
    color: lightgray;
    border-color: lightgray;
    min-width: 120px;
  }
  
.product {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns items to the start of the line */
    gap: 16px; /* Spacing between cards */
}

.products-container {
    display: grid;
    grid-gap: 24px;
    gap: 24px;
    margin-bottom: 1rem;
}

/* Responsive grid layout */
@media (min-width: 768px) {
    .products-container {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 767px) {
    .products-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Product sections */
.product-section {
    margin-bottom: 2rem;
}

.product-section-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #333;
}

.section-separator {
    border: none;
    height: 1px;
    background-color: #e0e0e0;
    margin-bottom: 1rem;
}

.product-empty {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 2rem;
    background-color: #f9f9f9;
    border-radius: 8px;
    margin-bottom: 1rem;
}

/* Exposed products styling */
.exposed-products {
    background-color: #ffccc7;
    padding: 1rem;
    border-radius: 8px;
    border: 2px dashed #ff5e4c;
    border: 2px dashed var(--accent-orange, #ff5e4c);
}

/* Enhanced Pagination Styles */
.pagination-container {
    display: flex;
    justify-content: center;
    margin: 1.5rem 0;
}

.pagination {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pagination-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #ddd;
    background-color: white;
    color: #333;
    border-radius: 6px;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    transition: all 0.2s ease;
}

.pagination-arrow:hover:not(.disabled) {
    background-color: #f8f9fa;
    border-color: #ff5e4c;
    border-color: var(--accent-orange, #ff5e4c);
    color: #007bff;
}

.pagination-arrow.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    color: #999;
}

.pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #ddd;
    background-color: white;
    color: #333;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s ease;
}

.pagination-number:hover {
    background-color: #f8f9fa;
    border-color: #ff5e4c;
    border-color: var(--accent-orange, #ff5e4c);
    color: #007bff;
}

.pagination-number.active {
    background-color: #ff5e4c;
    background-color: var(--accent-orange, #ff5e4c);
    color: white;
    border-color: #ff5e4c;
    border-color: var(--accent-orange, #ff5e4c);
}

.pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    color: #999;
    font-weight: bold;
}

/* Button container */
.button-container {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

/* .product-card-body {
    width: 100%;
    height: 100%;
} */

.product-card:hover {
    box-shadow: 0 6px 12px rgba(0,0,0,0.15); /* Enhanced shadow on hover */
}


.product-card:active,
.product-card.dragging {
    cursor: grabbing;
    transform: scale(1.03); /* Slightly larger scale when dragging */
    box-shadow: 0 8px 16px rgba(0,0,0,0.2); /* Deeper shadow for lifting effect */
    z-index: 1000; /* Ensure dragged element is above others */
}

.product-details {
    width: 100%; /* Ensures details span the entire width */
    height: 170px;
    padding: 10px; /* Provides internal spacing */
    background-color: #ffffff; /* Slightly off-white background for the details area */
}

.product-title-input, .product-description-input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: none; /* Removes border */
    background-color: #eee; /* Light background for the input for better visibility */
    margin-top: 5px; /* Space from the top of the container */
}

.product-image-background {
    width: 100%;
    height: 100%;
    background-size: cover;
    border-radius: 8px;
    background-position: center;
    background-repeat: no-repeat;
}

.product-title-input, .product-title-display {
    width: 100%; /* Input takes the full width of the card */
    padding: 8px;
    box-sizing: border-box;
}

.edit-icon {
    margin-left: 10px; /* Space between text and edit button */
    background: transparent;
    border: none;
    cursor: pointer;
}

.product-title-display {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
}

/* .product-card div {
    width: 100%;
    height: 200px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: block;
} */



.product-title-input {
    display: block;
    width: 100%; /* Makes the input field span the enªtire card width */
    border: none; /* Removes the default border */
    padding: 8px; /* Padding inside the input field */
    box-sizing: border-box; /* Includes padding in the width calculation */
    font-size: 16px; /* Larger font size for better readability */
}

.product-title-input:focus {
    outline: 2px solid rgb(0, 0, 0); /* Highlight focus with a blue outline */
}

.add-product-image-button {
    background-color: transparent;
    border-color: transparent;
}

.delete-icon {
    background-color: transparent;
    border-color: transparent;
}

.shopify-sync-container {
  background: linear-gradient(135deg, #95bf47 0%, #7aa832 100%);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 6px rgba(149, 191, 71, 0.2);
}

.shopify-sync-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.shopify-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: white;
}

.shopify-icon {
  font-size: 2.5rem;
  color: white;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.shopify-info h4 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
}

.shop-domain {
  margin: 0.25rem 0 0 0;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.9);
  font-family: 'Courier New', monospace;
}

.last-synced {
  margin: 0.5rem 0 0 0;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.sync-button {
  background: white;
  color: #7aa832;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.sync-button:hover:not(:disabled) {
  background: #f8f9fa;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.sync-button:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.sync-button .spinning {
  animation: spin 1s linear infinite;
}

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

/* Error/Success Messages */
.sync-error, .sync-success {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
}

.sync-error {
  background: rgba(220, 38, 38, 0.15);
  border: 1px solid rgba(220, 38, 38, 0.3);
  color: #991b1b;
}

.sync-success {
  background: rgba(16, 185, 129, 0.15);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #065f46;
}

/* Products Section */
.shopify-products-section {
  background: white;
  border-radius: 8px;
  padding: 1.5rem;
  margin-top: 1rem;
}

.products-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.products-header h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #232323;
}

.existing-count {
  font-size: 0.85rem;
  color: #666;
  font-weight: 400;
}

.bulk-actions {
  display: flex;
  gap: 0.5rem;
}

.select-all-btn, .deselect-all-btn {
  background: transparent;
  border: 1px solid #e0e0e0;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s;
  color: #666;
}

.select-all-btn:hover {
  background: #95bf47;
  border-color: #95bf47;
  color: white;
}

.deselect-all-btn:hover {
  background: #f5f5f5;
  border-color: #d0d0d0;
}

/* Products Grid */
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  margin: 1rem 0;
  max-height: 400px;
  overflow-y: auto;
  padding: 0.5rem;
}
/* 
.product-card {
  background: #f9fafb;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 0.75rem;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
}

.product-card:hover {
  border-color: #95bf47;
  box-shadow: 0 2px 8px rgba(149, 191, 71, 0.2);
}

.product-card.selected {
  border-color: #95bf47;
  background: linear-gradient(135deg, rgba(149, 191, 71, 0.1) 0%, rgba(122, 168, 50, 0.1) 100%);
} */

.product-checkbox {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
}

.product-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #95bf47;
}

/* .product-image {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 0.75rem;
}

.product-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.product-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: #232323;
  margin: 0;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.product-price {
  font-size: 0.95rem;
  font-weight: 700;
  color: #7aa832;
  margin: 0;
} */

.product-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.5rem;
}

.product-variants {
  font-size: 0.75rem;
  color: #666;
}

.product-stock {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.product-stock.in {
  background: #d1fae5;
  color: #065f46;
}

.product-stock.low {
  background: #fef3c7;
  color: #92400e;
}

.product-stock.out {
  background: #fee2e2;
  color: #991b1b;
}

/* Import Actions */
.import-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e7eb;
}

.cancel-import-btn, .import-selected-btn {
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
}

.cancel-import-btn {
  background: transparent;
  color: #666;
  border: 1px solid #e0e0e0;
}

.cancel-import-btn:hover {
  background: #f5f5f5;
}

.import-selected-btn {
  background: linear-gradient(135deg, #95bf47 0%, #7aa832 100%);
  color: white;
  box-shadow: 0 2px 4px rgba(149, 191, 71, 0.3);
}

.import-selected-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(149, 191, 71, 0.4);
}

.import-selected-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

/* Responsive */
@media (max-width: 768px) {
  .shopify-sync-header {
    flex-direction: column;
    align-items: stretch;
  }

  .sync-button {
    justify-content: center;
  }

  .products-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .product-image {
    height: 120px;
  }
}




.detail-container {
    padding: 20px;
}

.details-overview {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    min-height: 40vh;
}

/* Enhanced flex-item with smooth size transitions */
.flex-item {
    border-radius: 24px;
    padding: 20px;
    margin: 0px 10px 10px 0px;
    border: None;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
    position: relative;
    
    /* Smooth transitions for size and appearance changes */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                padding 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                margin 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                border 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                min-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    
    /* Optimize for smooth animations */
    will-change: padding, margin, box-shadow, border, background-color, min-height;
}

.flex-item:nth-of-type(2) {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
}

.flex-item:nth-of-type(1) {
    flex: 3 1;
}

.flex-item .profile-image {
    display: flex;
    justify-content: center;
    height: auto;
    border: none;
    box-shadow: none;
}

.flex-item .profile-image img {
    position: relative;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
}

/* Smooth detail information transitions */
.detail-information {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-left: 10px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.detail-information .values {
    font-weight: bold;
    width: 50%;
}

.detail-information .labels {
    width: 50%;
}

.labels,
.values {
    display: flex;
    flex-direction: column;
}

.labels p,
.values > div,
.values p {
    margin: 0;
    min-height: 32px;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

/* Ensure proper alignment in edit mode */
.flex-item.edit-mode .labels p {
    min-height: 60px; /* Match the height of editable fields */
    align-items: flex-start;
    padding-top: 8px; /* Align with input field padding */
}

.flex-item.edit-mode .values > div {
    min-height: 60px; /* Consistent height for edit mode */
    margin-bottom: 8px;
}

.display-field {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    min-height: 32px;
    transition: all 0.3s ease;
}

.display-field p {
    flex: 1 1;
    margin: 0;
    padding: 4px 0;
}

.display-field .edit-icon {
    cursor: pointer;
    margin-left: 8px;
}

.editable-field {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    min-height: 60px; /* Consistent height with buttons */
    transition: all 0.3s ease;
}

.editable-field input {
    flex: 1 1;
    padding: 4px;
    margin-right: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.editable-field button {
    padding: 4px 8px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    background-color: #4CAF50;
    color: white;
    transition: all 0.2s ease;
}

.editable-field button:hover {
    background-color: #45a049;
}

.star-rating {
    font-size: 24px;
    color: #ccc;
    display: flex;
    justify-content: center;
}

.star-rating .star {
    cursor: pointer;
    transition: color 0.2s ease-in-out;
}

.star-rating .filled {
    color: gold;
}

.star-rating .half-filled {
    position: relative;
}

.star-rating .half-filled::before {
    content: '\\2605';
    position: absolute;
    left: 0;
    width: 50%;
    overflow: hidden;
    color: gold;
}

.tenant-profile-body .details-location {
    min-height: 25vh;
    transform: none;
    transform: initial;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    flex: 1 1;
    overflow-y: auto;
    border-radius: 24px;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25) inset;
    width: 75%;
}

.details-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 20px;
    align-items: flex-end;
}

.editable-field,
.display-field {
    display: flex;
    align-items: center;
}

.editable-field input {
    margin-right: 10px;
}

.exhibition-container-header {
    display: flex;
    flex-direction: row;
    width: 100%;
    padding: 10px;
    min-height: 40vh;
}

.exhibition-container-text {
    padding: 10px;
    margin: 0px 10px 0px 0px;
    width: 25%;
}

.exhibition-container {
    display: flex;
    width: 100%;
    flex-direction: column;
    margin-top: 20px;
}

.exhibition-container-header {
    display: flex;
    flex-direction: row;
    width: 100%;
    padding: 10px;
    min-height: 40vh;
    box-sizing: border-box;
}

/* Left side: shops list */
.exhibition-container-text {
    width: 30%;
    padding: 10px;
    margin-right: 10px;
    position: relative;
}

/* Title & black separator */
.exhibition-title {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    font-weight: bold;
    color: #ff5b5b;
}

.black-separator {
    width: 100%;
    height: 2px;
    background-color: #000;
    margin-bottom: 1rem;
}

/* Up/down arrow for scrolling shops */
.scroll-arrow {
    cursor: pointer;
    text-align: center;
    margin: 0.5rem 0;
    font-size: 18px;
    color: #555;
}

.scroll-arrow:hover {
    color: #000;
}

/* The container of each shop item */
.container-text {
    margin-bottom: 1rem;
}

/* The Manage Visibility button */
.manage-visibility-button {
    background-color: #ff5b5b;
    color: #fff;
    border: none;
    border-radius: 20px;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: 1rem;
    width: 100%;
}

.manage-visibility-button:hover {
    background-color: #ff3d3d;
}

/* Additional styling if needed for the map */
.details-location > div {
    width: 100%;
    height: 100%;
}

/* Enhanced Edit All Mode Styles with smooth transitions */
.flex-item.edit-mode {
    background-color: #f8f9fa;
    border: 2px solid #ff5e4c !important;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 8px 25px rgba(255, 94, 76, 0.2), 
                0 4px 12px rgba(255, 94, 76, 0.15);
    
    /* Increase margin slightly for visual breathing room */
    margin: 0px 15px 15px 0px;
}

/* Smooth flex-item-header transitions */
.flex-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Enhanced in edit mode */
.flex-item.edit-mode .flex-item-header {
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 94, 76, 0.2);
}

.flex-item-header h4 {
    margin: 0;
    transition: all 0.3s ease;
}

.edit-all-button {
    background: none;
    border: none;
    color: #232323;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 4px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.edit-all-button:hover {
    background-color: #e3f2fd;
    color: #a93d31;
    transform: scale(1.05);
}

/* Smooth edit-all-actions appearance */
.edit-all-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #dee2e6;
    
    /* Smooth slide-in animation */
    opacity: 0;
    transform: translateY(10px);
    animation: slideInUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes slideInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Enhanced Editable Field Styles for proper alignment */
.editable-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-height: 60px;
    justify-content: flex-start;
    transition: all 0.3s ease;
}

/* Enhanced in edit mode */
.flex-item.edit-mode .editable-field {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 6px;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
}

.editable-field .form-control {
    border: 2px solid #ff5e4c;
    border-radius: 4px;
    padding: 0.5rem;
    font-size: 0.9rem;
    width: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.editable-field .form-control:focus {
    outline: none;
    border-color: #a93d31;
    box-shadow: 0 0 0 0.2rem rgba(255, 94, 76, 0.25);
    transform: scale(1.01);
}

.field-buttons {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.field-buttons .save,
.field-buttons .cancel {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 4px;
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-weight: 500;
}

.field-buttons .save {
    background-color: #28a745;
    color: white;
}

.field-buttons .save:hover {
    background-color: #218838;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
}

.field-buttons .cancel {
    background-color: #6c757d;
    color: white;
}

.field-buttons .cancel:hover {
    background-color: #545b62;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(108, 117, 125, 0.3);
}

/* Display Field adjustments */
.display-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 32px;
}

.display-field p {
    margin: 0;
    flex: 1 1;
}

.display-field .MdEdit {
    margin-left: 0.5rem;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.display-field:hover .MdEdit {
    opacity: 1;
}

/* Enhanced edit mode indicator with smooth animation */
.flex-item.edit-mode::before {
    content: "✏️ Edit Mode";
    position: absolute;
    top: -14px;
    right: 10px;
    background-color: #ff5e4c;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    z-index: 1;
    
    /* Smooth appearance animation */
    opacity: 0;
    transform: scale(0.8) translateY(-5px);
    animation: badgeAppear 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}

@keyframes badgeAppear {
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .edit-all-actions {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .edit-all-actions button {
        justify-content: center;
        width: 100%;
    }
    
    .flex-item.edit-mode {
        padding: 1rem;
        margin: 0px 5px 10px 0px;
    }
    
    .detail-information {
        flex-direction: column;
        align-items: flex-start;
        margin-left: 0;
    }
    
    .detail-information .values,
    .detail-information .labels {
        width: 100%;
    }
    
    .flex-item.edit-mode .labels p {
        min-height: auto;
        padding-top: 0;
    }
}

/* Accessibility: Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    .flex-item,
    .edit-all-button,
    .field-buttons .save,
    .field-buttons .cancel,
    .editable-field .form-control,
    .edit-all-actions {
        transition: none;
        animation: none;
    }
    
    .flex-item.edit-mode::before {
        animation: none;
        opacity: 1;
        transform: none;
    }
}
  
.comments-section-container {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.comments-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 24px;
    color: #333;
}

.feedback-submitted-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: linear-gradient(135deg, #52c41a 0%, #95de64 100%);
    color: white;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(82, 196, 26, 0.2);
}

.feedback-submitted-notice .check-icon {
    font-size: 24px;
}

.feedback-submitted-notice p {
    margin: 0;
    font-weight: 500;
    font-size: 15px;
}

.comments-loading {
    text-align: center;
    padding: 40px;
    color: #666;
    font-size: 16px;
}

.no-comments-message {
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border-radius: 12px;
    color: #666;
}

.no-comments-message p {
    font-size: 16px;
    margin: 0;
}

.comments-cards-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.comment-card {
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%);
    border: 1px solid #e0e0e0;
    border-radius: 16px;
    padding: 20px;
    gap: 20px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.comment-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.comment-card-left {
    flex-shrink: 0;
}

.comment-profile-picture {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #ddd;
    background: #f0f0f0;
}

.comment-profile-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.comment-card-content {
    flex: 1 1;
    min-width: 0;
}

.comment-card-header {
    margin-bottom: 8px;
}

.comment-business-name {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.comment-text {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin: 0;
    word-wrap: break-word;
}

.comment-card-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    flex-shrink: 0;
}

.comment-rating {
    display: flex;
    gap: 4px;
}

.comment-star {
    color: #f59e0b;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
}

.comment-view-btn {
    background: transparent;
    border: none;
    color: #666;
    cursor: pointer;
    font-size: 20px;
    padding: 8px;
    transition: all 0.2s ease;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
}

.comment-view-btn:hover {
    background: #f0f0f0;
    color: #333;
}

.comment-view-btn:active {
    transform: scale(0.95);
}

/* Responsive Design */
@media (max-width: 768px) {
    .comments-section-container {
        padding: 16px;
    }

    .comment-card {
        padding: 16px;
        gap: 12px;
    }

    .comment-profile-picture {
        width: 50px;
        height: 50px;
    }

    .comment-business-name {
        font-size: 14px;
    }

    .comment-text {
        font-size: 13px;
    }

    .comment-star {
        font-size: 14px;
    }

    .comment-view-btn {
        font-size: 18px;
        width: 32px;
        height: 32px;
    }
}

@media (max-width: 480px) {
    .comment-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .comment-card-right {
        flex-direction: row;
        width: 100%;
        justify-content: space-between;
        align-items: center;
    }
}

.tenant-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 30px;
    margin-right: 30px;
}

.profile-name {
    position: relative;
    display: 'inline-block';
}

/* .profile-name .input-name {
    margin-left: 150px;
    max-width: 200px;
    margin-top: 9px;
} */

.profile-info {
    padding: 5px;
}

.owner-panel {
    padding: 5px;
}


.username-input {
    /* font-family: inherit; */
    border: none; /* Remove the border */
    border-bottom: 2px solid #000; /* Add a bottom border to make it look neat */
    outline: none; /* Remove the default outline */
    background: none; /* Remove the background */
    width: 100%; /* Make it take the full width */
    padding: 0; /* Remove any default padding */
    margin: 0; /* Remove any default margin */
}

.description-input {
    font-size: 1em; /* Adjust as needed */
    /* font-family: inherit; */
    border: none; /* Remove the border */
    border-bottom: 1px solid #000; /* Add a bottom border to make it look neat */
    outline: none; /* Remove the default outline */
    background: none; /* Remove the background */
    width: 100%; /* Make it take the full width */
    padding: 0; /* Remove any default padding */
    margin: 0; /* Remove any default margin */
    margin-top: 20px;
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}


.profile-name .edit-input-name {
    position: relative;
    display: flex;
}

.photo-section {
    width: 100%;
    /* Add more styles for photo section */
}

.booking-calendar {
    position: absolute;
    right: 20px; /* Adjust as needed */
    bottom: 20px; /* Adjust as needed */
    /* Additional styles for calendar */
}

.description-section {
    margin-top: 20px;
    /* Add more styles for description section */
}

.search-date-container{
    position: relative;
    display: flex;
    justify-content: center;
    margin-right: auto;
    flex-grow: 1;
}

.search-date-container button {
    padding: 10px 5px !important;
}

.search-date-container form {
    display: flex;
}




/* CustomStyles.css */
.react-datepicker {
    font-size: 16px;
    width: auto;
    border: none; /* Remove default border */
    /* font-family: 'Open Sans', sans-serif; */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add some shadow for depth */

}

.react-datepicker-wrapper {
    padding: 10px;
}

.react-datepicker__input-container {
    width: 100%;
}

.react-datepicker__input-container input {
    width: 100%;
    border-radius: 20px; /* Rounded borders for the input */
    border: 1px solid #ccc; /* Light grey border */
    font-size: 16px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); /* Inner shadow for depth */
}

/* Adjust size of each day cell */
.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 2.5em; /* Increase width */
    line-height: 2.5em; /* Increase line height */
    margin: 0.166em;
}

/* Style for the calendar navigation */
.react-datepicker__navigation {
    width: 30px; /* Increase width */
    height: 30px; /* Increase height */
}

/* Style for the calendar header */
.react-datepicker__current-month {
    font-size: 16px;
}

.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {
    width: 1.9em;
    line-height: 1.9em;
    margin: 0.166em;
}

/* Adjust the look of the selected day */
.react-datepicker__day--selected {
    border-radius: 50%; /* Circular highlight for selected day */
    background-color: #f00; /* Example: Red background for the selected day */
    color: white;
}

/* Hover styles for days */
.react-datepicker__day:hover {
    background-color: #ddd; /* Light grey background on hover */
}

/* Example media query for smaller screens */
@media (max-width: 600px) {
    .react-datepicker {
        font-size: 14px; /* Smaller font size on small screens */
    }

    .react-datepicker__navigation {
        width: 20px;
        height: 20px;
    }
}

.header-container .profile-name{
    align-items: center;
    display: flex;
    gap: 10px;
    width: 100%;
    height: auto;
    z-index: 2;
    position: relative;
    justify-content: left;
}

.header-container .profile-name h2 {
    margin: 0;                 /* Removes default margin to align text properly */
    white-space: nowrap;       /* Prevents the text from wrapping to a new line */
    overflow: hidden;          /* Prevents overflow of text outside the container */
    text-overflow: ellipsis;   /* Adds an ellipsis if the text overflows */
    margin-left: 150px;
    margin-top: 20px;
    padding: 10px;
}

.header-container .profile-name img {
    position: absolute;
    bottom: 20px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-left: 20px;
}

.header-container .header-image  {
    width: 100%;
    height: 250px;
    object-fit: cover; /* Cover ensures the image will fill the container, potentially cropping it */
    object-position: center;
    display: inline-block;
    position: relative;
}

.header-image .edit-icon {
    position: absolute;
    background-color: white;
    top: 10px; /* Adjust this value to move the icon vertically */
    right: 10px; /* Adjust this value to move the icon horizontally */
    border: none; /* Remove border */
    cursor: pointer; /* Pointer cursor on hover */
    padding: 8px; /* Adjust padding as needed */
    border-radius: 50%; /* Makes the background a circle */
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); /* Optional: Add a slight shadow for better visibility */
    transition: background 0.3s ease-in-out, transform 0.3s ease-in-out; /* Smooth transitions */
    display: flex; /* Ensures the icon centers in the button */
    align-items: center;
    justify-content: center;
}

.header-image .edit-icon:hover {
    background-color: rgba(255, 255, 255, 0.8); /* Slightly transparent on hover */
    transform: scale(1.2); /* Slightly enlarges on hover */
}

.tenant-profile-body {
    display: flex;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: auto;
    overflow: visible;
    margin: 30px;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
    min-height: 80vh;
}

.tenant-profile-body .metadata {
    flex: 0 0 25%; /* do not grow or shrink, and base width = 25% */
  max-width: 25%;
}

.tenant-profile-body .current-collaborations {
    flex: 2 1;
}

.current-collaborations {
    margin-left: 20px;
}

.separator {
    height: 1px;
    background-color: #ccc;
    margin: 2px 0;
    width: 100%;
}

.product-no-edit-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Products Section */
.products-section {
    width: 100%;
    box-shadow: none;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Exactly 3 columns */
    grid-gap: 24px;
    gap: 24px;
    margin-bottom: 24px;
    transition: all 0.3s ease; /* Smooth transition for grid changes */
}

/* Exposed Products Section */
.exposed-products-section {
    width: 100%;
}

.exposed-products-header {
    margin-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 8px;
}

.exposed-products-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.exposed-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Exactly 3 columns */
    grid-gap: 24px;
    gap: 24px;
    margin-bottom: 24px;
    transition: all 0.3s ease; /* Smooth transition for grid changes */
}

/* Pagination Styles */
.pagination-container {
    display: flex;
    justify-content: center;
    margin: 24px 0;
}

.pagination {
    display: flex;
    align-items: center;
    gap: 12px; /* Increased gap for better spacing */
}

.pagination-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none; /* Remove border */
    background-color: transparent; /* Transparent background */
    color: #999; /* Light grey for arrows */
    cursor: pointer;
    border-radius: 50%; /* Make it circular */
    font-size: 18px;
    font-weight: bold;
    transition: all 0.3s ease; /* Smooth transition */
}

.pagination-arrow:hover:not(.disabled) {
    background-color: #f5f5f5;
    color: #333;
    transform: translateX(2px); /* Subtle movement on hover */
}

.pagination-arrow.disabled {
    color: #ddd;
    cursor: not-allowed;
}

.pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border: none; /* No border */
    background-color: transparent; /* No background */
    color: #999; /* Light grey for inactive numbers */
    cursor: pointer;
    border-radius: 50%; /* Make it circular */
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease; /* Smooth transition */
}

.pagination-number:hover {
    background-color: #f5f5f5;
    color: #666;
    transform: scale(1.1); /* Slight scale on hover */
}

.pagination-number.active {
    background-color: transparent; /* No background even when active */
    color: #000; /* Black for selected number */
    font-weight: 600; /* Bold for active number */
    transform: scale(1.15); /* Slightly larger when active */
}

.pagination-number.active:hover {
    background-color: #f0f0f0;
    color: #000;
}

/* Pagination dots */
.pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    color: #999;
    font-size: 14px;
    font-weight: bold;
    -webkit-user-select: none;
            user-select: none;
}

/* Smooth page transitions */
.product-card {
    transition: all 0.3s ease;
    opacity: 1;
}

.product-card.page-transition {
    opacity: 0;
    transform: translateX(20px);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .products-grid,
    .exposed-products-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on tablets */
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .products-grid,
    .exposed-products-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
        gap: 16px;
    }
    
    .pagination {
        gap: 8px;
    }
    
    .pagination-arrow,
    .pagination-number {
        width: 32px;
        height: 32px;
        font-size: 12px;
        min-width: 32px;
    }

    .pagination-dots {
        min-width: 32px;
        height: 32px;
    }
}

@media (max-width: 480px) {
    .products-grid,
    .exposed-products-grid {
        grid-template-columns: 1fr; /* Single column on very small screens */
        gap: 12px;
    }
    
    .pagination {
        gap: 6px;
    }
    
    .pagination-arrow,
    .pagination-number {
        width: 28px;
        height: 28px;
        font-size: 11px;
        min-width: 28px;
    }

    .pagination-dots {
        min-width: 28px;
        height: 28px;
        font-size: 12px;
    }
}

/* Ensure product cards take full width within their grid cell */
.products-grid .product-card,
.exposed-products-grid .product-card {
    width: 100%;
}

/* Animation for smooth page transitions */
@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.products-grid .product-card,
.exposed-products-grid .product-card {
    animation: slideInRight 0.4s ease-out;
}

.role-modal-footer{
    flex-wrap: nowrap;
}
/* Outer container fills the viewport exactly */


/* Main select-role container uses vertical space with reduced padding */
.select-role {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 10% 50px 10%;
    background-color: #fff;
    height: 100vh;       /* Make it full viewport height */
    overflow-y: auto;    /* Enable vertical scrolling when needed */
}

/* Header takes up about 15% of the viewport height */
.select-role-header {
    margin: 0;
    height: 15vh;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.select-role-header-text {
    margin-top: 10px;
    font-size: 15px;
    text-align: center;
}

/* Body fills remaining space; reduce padding to fit */
.select-role-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 10px 0px;
    border-radius: 8px;
    flex-grow: 1;
    overflow: hidden; /* hide overflow so no scrolling appears */
}

/* ROLE OPTIONS LAYOUT */
.role-options {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 10px;
    flex-wrap: wrap;
}

/* Each card has a fixed height so that content fits */
.role-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px;
    margin: 10px;
    max-width: 650px;
    border-radius: 24px;
    cursor: pointer;
    transition: border 0.3s ease;
    flex: 1 1;
    box-sizing: border-box;
    border: 3px solid transparent; /* reserve border space */
    align-items: center;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.25);
}

/* Highlighted card: change border and title color */
.role-container.selected {
    border-color: #FF5E4D;
}

.role-container.selected h5 {
    color: #FF5E4D;
}

/* Smaller images */
.role-image {
    max-width: 200px;
    height: auto;
    margin-bottom: 10px;
}

/* Role text */
.role-text {
    flex: 1 1;
    text-align: left;
    font-size: 16px;
    margin-bottom: 10px;
}

.role-text h5 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

/* Buttons inside card */
.role-buttons {
    display: flex;
    justify-content: space-between;
    gap: 5px;
    margin-top: 10px;
}

.btn-know-more,
.btn-choose {
    padding: 8px 16px;
    border-radius: 25px;
    border: none;
    cursor: pointer;
    font-weight: bold;
}

/* Default Know More button */
.btn-know-more {
    background-color: #eeeeee;
    color: #333;
}

.btn-know-more:hover {
    background-color: #ddd;
}

/* Default Choose button */
.btn-choose {
    background-color: #000;
    color: #fff;
}

.btn-choose:hover {
    background-color: #333;
}

/* When card is selected, “Chosen” button is gray */
.role-container.selected .btn.btn-tertiary {
    background-color: #eeeeee;
    color: #aeaeaeae;
}

/* Next step button */
.next-button {
    background-color: #000;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    width: 20%;
    font-weight: bold;
    text-align: center;
    transition: background-color 0.3s ease;
}

.next-button:disabled {
    background-color: #999;
    cursor: not-allowed;
}

.next-button:hover:enabled {
    background-color: #333;
}

/* Media query for smaller screens */
/* Media query adjustments for smaller screens */
@media (max-width: 768px) {
    .select-role {
        padding: 10px 5%;
    }

    .select-role-header {
        padding: 0 10px;
        height: auto;
    }

    .select-role-header-text {
        font-size: 14px;
        margin-top: 5px;
    }

    .role-options {
        flex-direction: column;
        gap: 15px;
    }

    .role-container {
        width: 100%;
        padding: 15px;
        flex-direction: column;
        align-items: center;
    }

    .role-text {
        font-size: 14px;
        text-align: center;
    }

    .role-text h5 {
        font-size: 16px;
    }

    .role-text p {
        font-size: 14px;
    }

    .role-container img {
        width: 80%;
        height: auto;
    }

    .button-container {
        justify-content: center;
        margin-top: 15px;
    }

    .next-button {
        width: 100%;
        padding: 10px;
    }
}

@media (max-width: 480px) {
    .select-role {
        padding: 10px;
    }

    .select-role-header-text {
        font-size: 13px;
    }

    .role-text h5 {
        font-size: 15px;
    }

    .role-text p {
        font-size: 13px;
    }

    .next-button {
        padding: 8px;
        font-size: 14px;
    }
}


.role-container.disabled {
  opacity: 0.5;
  pointer-events: auto;     /* keep events so our onClick still fires */
}

.role-container.disabled .role-buttons .btn-tertiary {
  cursor: not-allowed;
}
/* formStyles.css */
.form-container {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px;
  gap: 20px;
  width: 100%;
}

.form-control {
  background-color: #F6F6F6;
  padding: 10px;
  height: 45px;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
}

.form-control.is-invalid {
  background-image: none !important;
  /* Adjust padding if needed so your icon doesn't get pushed away */
  padding-right: 2.5rem; 
}

.form-control:focus {
  box-shadow: 0 0 0 0.25rem hsl(6, 100%, 85%);
  border-color: #FF5E4D;
}

.input-wrapper {
  position: relative;
  width: 100%;
}

.input-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #000000;
}

.error-icon {
  color: #dc3545;
  /* Optionally, add a higher z-index if needed */
  z-index: 2;
}

.input-line {
  width: 100%;
  height: 2px;
  background-color: rgb(234, 234, 234);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: height 0.3s ease-in-out;
}

.invalid-feedback {
  display: block; /* ensure the element is visible */
color: red;
font-size: 12px;
margin-top: 5px;
}

.PhoneInputInput {
  border: none !important;       /* Removes border color */
  background-color: #F6F6F6;     /* Sets background to grey */
  border-radius: 5px;            /* Maintains rounded edges */
  box-shadow: none;              /* Removes default shadow */
}
.PhoneInputInput:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #FF5E4D;
  outline: 0;
  box-shadow: 0 0 0 0.25rem hsl(6, 100%, 85%);
}
/* cardStyles.css */
.card-style {
  background-color: #fff;
  margin: var(--spacing-sm);
  padding: var(--spacing-md);
  border-radius: var(--border-radius-xl);
  width: 100%;
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.25);
}

@media (min-width: 576px) {
  .card-style {
    margin: var(--spacing-md);
    padding: var(--spacing-lg);
  }
}

@media (min-width: 768px) {
  .card-style {
    margin: var(--spacing-lg);
    padding: var(--spacing-xl);
  }
}

/* .card-style:hover {
  box-shadow: var(--box-shadow-lg);
} */

/* Responsive Card Grid */
.cards-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: var(--spacing-md);
  gap: var(--spacing-md);
  padding: var(--spacing-md);
}

@media (min-width: 576px) {
  .cards-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .cards-container {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

@media (min-width: 992px) {
  .cards-container {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--spacing-lg);
  }
}
  
/* Add this CSS to your stylesheet */
.owner-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 10% 50px 10%;
    width: 100%;
    min-height: 100vh; /* Ensure it takes full height */
}

.owner-profile-header {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.owner-profile-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    padding: 20px;
    border-radius: 24px;
}

.owner-profile-form-group label {
    font-weight: bold;
    margin-bottom: 5px;
}
  /* Example: if you want the icon slightly above the middle, tweak 'top' or 'transform' */
  
/* Add this CSS to your stylesheet */
.billing-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 10% 50px 10%;
    width: 100%;
    min-height: 100vh; /* Ensure it takes full height */
}

.billing-details-body .form-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.billing-details-form-group label {
    font-weight: bold;
    margin-bottom: 5px;
}

.billing-details .button-container {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}


.owner-profile-body .form-group {
    display: flex;
    flex-direction: row;
}

.owner-profile-body .form-group label {
    margin-bottom: 0rem;
}

.billing-details-body .form-group input {
    width: 0%;
}
  
  .sm-intro {
    margin-bottom: 20px;
  }
  
  .sm-intro h1 {
    font-size: 2em;
  }
  
  .sm-intro-text {
    font-size: 1em;
    margin-top: 10px;
  }
  
  .button-container {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
  }
  
  .error-message {
    color: red;
    margin: 10px 0;
  }
  
/* Color Palette - Match iCoMerge Design */
:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --accent-orange: #ff5e4c;
  --light-gray: #ececec;
  --success-green: #4CAF50;
  --skip-gray: #6c757d;
  --text-gray: #666666;
}

.stripe-onboarding-success-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #ff5e4c 0%, #ff3366 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.success-container {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 24px;
  padding: 60px 40px;
  max-width: 650px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(255, 94, 76, 0.3);
  animation: slideUp 0.6s ease-out;
}

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

/* Status Icon */
.success-icon-wrapper {
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
}

.success-checkmark,
.skip-checkmark {
  animation: scaleIn 0.5s ease-out 0.2s both;
}

@keyframes scaleIn {
  from {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.success-checkmark svg {
  filter: drop-shadow(0 4px 12px rgba(76, 175, 80, 0.3));
}

.skip-checkmark svg {
  filter: drop-shadow(0 4px 12px rgba(108, 117, 125, 0.3));
}

/* Success Title */
.success-title {
  font-size: 32px;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
  animation: fadeIn 0.6s ease-out 0.3s both;
}

.success-title.skipped {
  color: #6c757d;
  color: var(--skip-gray);
}

.success-message {
  font-size: 18px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 40px 0;
  line-height: 1.6;
  animation: fadeIn 0.6s ease-out 0.4s both;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Information Box */
.info-box {
  background: #fff3e0;
  border: 2px solid #ffb74d;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: left;
  animation: fadeIn 0.6s ease-out 0.5s both;
}

.info-box h3 {
  font-size: 18px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
}

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

.info-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 15px;
  color: #232323;
  color: var(--primary-dark);
}

.info-icon {
  font-size: 24px;
  flex-shrink: 0;
}

/* Countdown Section */
.countdown-section {
  margin-bottom: 24px;
  animation: fadeIn 0.6s ease-out 0.6s both;
}

.countdown-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  background: linear-gradient(135deg, var(--accent-red) 0%, var(--accent-orange) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  box-shadow: 0 8px 20px rgba(255, 51, 100, 0.3);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    box-shadow: 0 8px 20px rgba(255, 51, 100, 0.3);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 8px 30px rgba(255, 51, 100, 0.5);
    transform: scale(1.05);
  }
  100% {
    box-shadow: 0 8px 20px rgba(255, 51, 100, 0.3);
    transform: scale(1);
  }
}

.countdown-number {
  color: #ffffff;
  color: var(--primary-white);
  font-size: 32px;
  font-weight: 700;
}

.countdown-text {
  font-size: 15px;
  color: #666666;
  color: var(--text-gray);
  margin: 0;
}

/* Progress Bar */
.progress-bar-wrapper {
  width: 100%;
  margin-bottom: 24px;
  animation: fadeIn 0.6s ease-out 0.7s both;
}

.progress-bar {
  width: 100%;
  height: 6px;
  background: #e9ecef;
  border-radius: 3px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #ff3364, #ff5e4c);
  background: linear-gradient(90deg, var(--accent-red), var(--accent-orange));
  border-radius: 3px;
  transition: width 1s ease-in-out;
}

/* Footer */
.success-footer {
  padding-top: 24px;
  border-top: 1px solid #ececec;
  border-top: 1px solid var(--light-gray);
  animation: fadeIn 0.6s ease-out 0.8s both;
}

.footer-text {
  font-size: 14px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 8px 0;
}

.brand-name {
  font-weight: 700;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red), var(--accent-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Responsive Design - Optimized for Laptop */
@media (min-width: 1024px) {
  .success-container {
    max-width: 750px;
    padding: 70px 50px;
  }
  
  .countdown-circle {
    width: 90px;
    height: 90px;
  }
  
  .countdown-number {
    font-size: 36px;
  }
}

@media (max-width: 768px) {
  .success-container {
    padding: 40px 24px;
  }
  
  .success-title {
    font-size: 28px;
  }
  
  .success-message {
    font-size: 16px;
  }
  
  .info-box {
    padding: 20px;
  }
  
  .countdown-circle {
    width: 70px;
    height: 70px;
  }
  
  .countdown-number {
    font-size: 28px;
  }
}

@media (max-width: 480px) {
  .stripe-onboarding-success-page {
    padding: 20px 16px;
  }
  
  .success-container {
    padding: 32px 20px;
    border-radius: 16px;
  }
  
  .success-title {
    font-size: 24px;
  }
  
  .success-message {
    font-size: 15px;
    margin-bottom: 32px;
  }
  
  .success-checkmark svg,
  .skip-checkmark svg {
    width: 64px;
    height: 64px;
  }
  
  .info-box h3 {
    font-size: 16px;
  }
  
  .info-list li {
    font-size: 14px;
  }
  
  .info-icon {
    font-size: 20px;
  }
  
  .countdown-circle {
    width: 60px;
    height: 60px;
  }
  
  .countdown-number {
    font-size: 24px;
  }
}

/* Print Styles */
@media print {
  .stripe-onboarding-success-page {
    background: white;
  }
  
  .success-container {
    box-shadow: none;
    border: 1px solid #ddd;
  }
  
  .countdown-section,
  .progress-bar-wrapper,
  .success-footer {
    display: none;
  }
}
/* Add this CSS to your stylesheet */
.create-property {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 10% 50px 10%;
    width: 100%;
    min-height: 100vh; /* Ensure it takes full height */
}

.create-property-header {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.create-property-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    padding: 20px;
    border-radius: 24px;
}

.create-property-body .form-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.create-property-form-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.create-property-form-group label {
    font-weight: bold;
    margin-bottom: 5px;
}

.create-property .button-container {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

.stand-upload {
  display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 10% 50px 10%;
    width: 100%;
    min-height: 100vh; /* Ensure it takes full height */
}

.stand-upload-body {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.stand-upload-header {
  display: flex;
    justify-content: center;
    flex-direction: column;
}


  .custom-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 70%;
    height: 100%;
    /* background: rgba(0, 0, 0, 0.5); */
    z-index: 1059; /* Ensure this is higher than the z-index of the main modal */
    display: flex;
    justify-content: center;
    align-items: center;
  }


  .stand-container {
    width: 70%; /* One-third of the container minus some margin */
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    background-size: cover;
    background-position: center;
    flex-direction: row;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .remove-stand-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    color: rgb(53, 53, 53);
    cursor: pointer;
  }

  .cover-photo {
    width: calc(33.333% - 16px); /* One-third of the container minus some margin */
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .additional-photo{
    position: relative;
    width: calc(33.333% - 16px); /* One-third of the container minus some margin */
    height: 60px;
    margin: 8px; /* Space between cards */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
    cursor: grab;
  }

  .photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

.add-photo-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }

  .stand-info {
    display: flex;
    flex: 1 1;
    flex-direction: column;
    margin: 8px;
    margin-top: 30px;
  }

  .descriptive-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .more-stand-photos {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }

 .stand-form-group {
    display: flex;
  align-items: center;
  margin-bottom: 0px;
  flex-wrap: wrap;
  }

  .stand-form-group:nth-of-type(2) {
    margin-bottom: 10px;
  }

  .stand-form-group input,
.stand-form-group textarea {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}


.stand-form-group label {
    flex: 0 0 150px;
    margin-bottom: 0;
  }

  .stand-form-control {
    flex: 1 1;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  min-width: 50px; /* Minimum width to prevent too much shrinking */
  }

  .more-stand-photos button {
    padding: 10px;
    border: 1px solid #ccc;
    background: #f0f0f0;
    cursor: pointer;
  }

  .standtag {
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }

  .standtag-input {
    flex: 1 1;
    min-width: 50px;
    padding: 4px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
  }

  .standtags-container {
    display: flex;
    flex-wrap: nowrap;
    flex: 1 1;
    align-items: center;
  }

  .standtag button {
    background: none;
    border: none;
    margin-left: 4px;
    cursor: pointer;
  }

  .remove-icon {
    position: absolute;
    top: 5px;
    right: 5px;
    color: rgb(126, 126, 126);
    cursor: pointer;
  }

  .error-message {
    color: red;
    font-size: 0.8em;
  }

  .cover-photo {
    width: 33.333%;
    height: 300px;
    background: #c2c2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  .button-stand-modal {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 8px;
  }
/* 
  .stand-upload .custom-dropdown-button {
    background-color: #ffffff;
    color: white;
    border-radius: 4px;
    border:1px solid #ffffff !important;
    width: 100px;
    display: flex;
    align-items: left;
  }

  .stand-upload .custom-dropdown-button.dropdown {
    background-color: #ffffff;
    color: white;
    border-radius: 4px;
    padding: 0;
    margin: 0;
  }

  .stand-upload .custom-dropdown-button button {
    background-color: #797979;
    border: 1px solid #797979;
    padding: 0;
    font-size: small;
    font-weight: lighter;
  }

  .stand-upload .custom-dropdown-button:hover,
  .stand-upload .custom-dropdown-button:focus {
    background-color: #ffffff;
    border-color: #ffffff;
  }

  .stand-upload .custom-dropdown-button:hover button,
  .stand-upload .custom-dropdown-button:focus button{
    background-color: #464646;
    border-color: #464646;
  }

  .stand-upload .custom-dropdown-button:active button {
    background-color: #000000;
    border-color: #000000;
  }

  .stand-upload .custom-dropdown-button:focus,
.stand-upload .custom-dropdown-button.show,
.stand-upload .custom-dropdown-button.show > .dropdown-toggle {

} */

/* .custom-dropdown-item {
  background-color: #ffffff;
    color: #000000;
} */

.stand-upload .dropdown-item {
      color: black;
    }

  .stand-upload .custom-dropdown-item:hover,
  .stand-upload .custom-dropdown-item:focus {
    background-color: #e9ecef;
    color: #797979;
  }
  .stand-upload .dropdown-menu.show {
    overflow-y: auto;
    height: 150px;
    overflow-x: hidden; /* Prevent horizontal scrolling */
  width: auto; /* Adjust the width based on the content */
  min-width: 100px; /* Set a minimum width if necessary */
  }

  .stand-container-form {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }

  .stand-container-form .stand-container {
    width: 100%;
  }

  .add-stand-button.error-border {
    border: 2px solid red;
  }
  
  .stand-upload .button-container {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

/* Add to CreateStands.css */
.btn-register-add {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ff5e4c;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  min-width: 140px;
}

.btn-register-add:hover {
  background-color: #ff7e70;
}

.btn-register-add.error-border {
  border: 2px solid #dc3545;
}

.button-product-modal {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.shopify-import-modal .modal-content {
  border-radius: 12px;
}

.shopify-import-modal .modal-header {
  background: linear-gradient(135deg, #96bf48 0%, #7ba534 100%);
  color: white;
  border-radius: 12px 12px 0 0;
}

.shopify-import-modal .modal-header .btn-close {
  filter: brightness(0) invert(1);
}

.shopify-step {
  padding: 1rem 0;
}

.products-list {
  max-height: 400px;
  overflow-y: auto;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 0.5rem;
}

.product-card {
  transition: all 0.2s ease;
  border: 2px solid transparent;
}

.product-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.product-card.selected {
  border-color: #96bf48;
  background-color: #f8fff0;
}

.product-thumbnail {
  border: 1px solid #e0e0e0;
}

/* Loading spinner styling */
.shopify-step .spinner-border {
  width: 3rem;
  height: 3rem;
}

/* Scrollbar styling for products list */
.products-list::-webkit-scrollbar {
  width: 8px;
}

.products-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.products-list::-webkit-scrollbar-thumb {
  background: #96bf48;
  border-radius: 4px;
}

.products-list::-webkit-scrollbar-thumb:hover {
  background: #7ba534;
}

.shopify-step .input-group-text {
  margin-bottom: 10px;
}
/* Add this CSS to your stylesheet */
.create-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    width: 100%;
    min-height: 100vh; /* Ensure it takes full height */
}

.create-brand-header {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.create-brand-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    padding: 20px;
    border-radius: 8px;
}

.create-brand-form-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.create-brand-form-group label {
    font-weight: bold;
    margin-bottom: 5px;
}

.create-brand .button-container {
    display: flex;
    justify-content: space-between;
}

/* CreateProduct.css */

.create-product-upload {
    display: flex;
      flex-direction: column;
      align-items: center;
      padding: 20px;
      width: 100%;
      min-height: 100vh; /* Ensure it takes full height */
  }

  .create-product-upload-body {
      width: 100%;
      display: flex;
      justify-content: center;
  }

  .create-product-upload-header {
    display: flex;
      justify-content: center;
      flex-direction: column;
  }


    .custom-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      width: 70%;
      height: 100%;
      /* background: rgba(0, 0, 0, 0.5); */
      z-index: 1059; /* Ensure this is higher than the z-index of the main modal */
      display: flex;
      justify-content: center;
      align-items: center;
    }


    .create-product-container {
      width: 100%;
      margin: 8px; /* Space between cards */
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      border-radius: 8px;
      overflow: hidden;
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: stretch;
      position: relative;
      background-size: cover;
      background-position: center;
      flex-direction: row;
      transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
      cursor: grab;
    }

    .remove-create-product-icon {
      position: absolute;
      top: 10px;
      right: 10px;
      color: rgb(53, 53, 53);
      cursor: pointer;
    }

    .cover-photo {
      width: calc(33.333% - 16px); /* One-third of the container minus some margin */
      margin: 8px; /* Space between cards */
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      border-radius: 8px;
      overflow: hidden;
      background: #c2c2c2;
      display: flex;
      justify-content: center;
      align-items: center;
      background-size: cover;
      background-position: center;
      transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
      cursor: grab;
    }

    .create-product-additional-photo{
      position: relative;
      width: calc(20% - 16px); /* One-third of the container minus some margin */
      height: 60px;
      margin: 8px; /* Space between cards */
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      border-radius: 8px;
      overflow: hidden;
      background: #c2c2c2;
      display: flex;
      justify-content: center;
      align-items: center;
      background-size: cover;
      background-position: center;
      transition: transform 0.6s ease, box-shadow 0.2s ease; /* Smooth transitions for movement and shadow */
      cursor: grab;
    }

    .photo {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

  .add-photo-label {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      cursor: pointer;
    }

    .create-product-info {
      display: flex;
      flex: 1 1;
      flex-direction: column;
      margin: 8px;
      margin-top: 30px;
    }

    .descriptive-info {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .more-create-product-photos {
      flex-grow: 1;
      display: flex;
      justify-content: left;
      align-items: center;
    }

   .create-product-form-group {
      display: flex;
    align-items: center;
    margin-bottom: 0px;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-wrap: nowrap;
    }

    .create-product-form-group:nth-of-type(2) {
      margin-bottom: 10px;
    }

    .create-product-form-group input,
  .create-product-form-group textarea {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
  }


  .create-product-form-group label {
      flex: 0 0 150px;
      margin-bottom: 0;
    }

    .create-product-form-control {
      flex: 1 1;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    min-width: 50px; /* Minimum width to prevent too much shrinking */
    }

    .more-create-product-photos button {
      padding: 10px;
      border: 1px solid #ccc;
      background: #f0f0f0;
      cursor: pointer;
    }

    .producttag {
      background-color: #ffffff;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      border-radius: 8px;
      padding: 4px 8px;
      display: flex;
      align-items: center;
      white-space: nowrap;
    }

    .producttag-input {
      flex: 1 1;
      min-width: 50px;
      padding: 4px 8px;
      border: 1px solid #ccc;
      border-radius: 4px;
    }

    .producttags-container {
      display: flex;
      flex-wrap: nowrap;
      flex: 1 1;
      align-items: center;
    }

    .producttag button {
      background: none;
      border: none;
      margin-left: 4px;
      cursor: pointer;
    }

    .remove-icon {
      position: absolute;
      top: 5px;
      right: 5px;
      color: rgb(126, 126, 126);
      cursor: pointer;
    }

    .error-message {
      color: red;
      font-size: 0.8em;
    }

    .cover-photo {
      width: 33.333%;
      height: 300px;
      background: #c2c2c2;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
    }

    .button-create-product-modal {
      width: 100%;
      display: flex;
      justify-content: space-between;
      margin: 8px;
    }

    /* .create-product-upload .custom-dropdown-button {
      background-color: #ffffff;
      color: white;
      border-radius: 4px;
      border:1px solid #ffffff !important;
      width: 100px;
    }

    .create-product-upload .custom-dropdown-button.dropdown {
      background-color: #ffffff;
      color: white;
      border-radius: 4px;
      padding: 0;
      margin: 0;
    }

    .create-product-upload .custom-dropdown-button button {
      background-color: #797979;
      border: 1px solid #797979;
      padding: 0;
    font-size: small;
    font-weight: lighter;

    } */

    /* .create-product-upload .custom-dropdown-button:hover,
    .create-product-upload .custom-dropdown-button:focus {
      background-color: #ffffff;
      border-color: #ffffff;
    }

    .create-product-upload .custom-dropdown-button:hover button,
    .create-product-upload .custom-dropdown-button:focus button{
      background-color: #464646;
      border-color: #464646;
    }

    .create-product-upload .custom-dropdown-button:focus,
    .create-product-upload .custom-dropdown-button.show,
    .create-product-upload .custom-dropdown-button.show > .dropdown-toggle {

    } */

    .create-product-upload .custom-dropdown-item:hover,
    .create-product-upload .custom-dropdown-item:focus {
      background-color: #e9ecef;
      color: #797979;
    }

    .create-product-upload .dropdown-menu.show {
      overflow-y: auto;
      height: 150px;
      overflow-x: hidden; /* Prevent horizontal scrolling */
    width: auto; /* Adjust the width based on the content */
    min-width: 100px; /* Set a minimum width if necessary */
    }

    .create-product-upload .dropdown-item {
      color: black;
    }

    .create-product-container-form {
      display: flex;
      justify-content: center;
      flex-direction: column;
      width: 100%;
    }

    .create-product-container-form .create-product-container {
      width: 100%;
    }

    .custom-dropdown-button .caret {
  margin-left: 4px;
  font-size: 0.8em;
}

.welcome-screen-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 70vh;
  padding: 2rem 0;
}

.welcome-screen-content {
  text-align: center;
  max-width: 600px;
  padding: 3rem 2rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.welcome-icon {
  margin-bottom: 2rem;
}

.success-checkmark {
  display: inline-block;
  animation: checkmark-bounce 0.6s ease-in-out;
}

@keyframes checkmark-bounce {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.welcome-text h1 {
  color: #FF5E4D;
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.welcome-text h2 {
  color: #333;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

.welcome-description {
  color: #666;
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 2.5rem;
  text-align: left;
}

.welcome-description p {
  margin-bottom: 1rem;
}

.welcome-description ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.welcome-description li {
  padding: 0.5rem 0;
  padding-left: 1.5rem;
  position: relative;
}

.welcome-description li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #4CAF50;
  font-weight: bold;
  font-size: 1.2rem;
}

.welcome-action {
  margin-bottom: 2rem;
}

.welcome-btn {
  background-color: #FF5E4D;
  border: none;
  border-radius: 8px;
  font-size: 1.2rem;
  transition: all 0.3s ease;
  min-width: 250px;
}

.welcome-btn:hover {
  background-color: #e54d3c;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 94, 77, 0.3);
}

.welcome-btn:active {
  transform: translateY(0);
}

.welcome-footer {
  color: #888;
  font-size: 0.9rem;
  font-style: italic;
}

/* Responsive Design */
@media (max-width: 768px) {
  .welcome-screen-content {
    padding: 2rem 1rem;
    margin: 1rem;
  }
  
  .welcome-text h1 {
    font-size: 2rem;
  }
  
  .welcome-text h2 {
    font-size: 1.5rem;
  }
  
  .welcome-description {
    font-size: 1rem;
  }
  
  .welcome-btn {
    min-width: 200px;
    font-size: 1.1rem;
  }
} 
/* Color Palette Variables */
:root {
    --primary-dark: #232323;
    --primary-white: #ffffff;
    --accent-red: #ff3364;
    --light-gray: #ececec;
    --accent-red-alt: #ff3366;
    --accent-orange: #ff5e4c;
    --accent-light-orange: #ff7e70;
}

.countdown-landing {
    min-height: 100vh;
    background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
    background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
    color: #232323;
    color: var(--primary-dark);
    overflow-x: hidden;
    position: relative;
}

/* ✅ Animated Background */
.animated-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

.floating-shape {
    position: absolute;
    border-radius: 50%;
    opacity: 0.1;
    animation: float 20s ease-in-out infinite;
}

.shape-1 {
    width: 300px;
    height: 300px;
    background: linear-gradient(45deg, #ff3364, #ff5e4c);
    background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
    top: -150px;
    right: -150px;
    animation-delay: 0s;
}

.shape-2 {
    width: 200px;
    height: 200px;
    background: linear-gradient(45deg, #ff3366, #ff7e70);
    background: linear-gradient(45deg, var(--accent-red-alt), var(--accent-light-orange));
    bottom: -100px;
    left: -100px;
    animation-delay: -5s;
    animation-duration: 25s;
}

.shape-3 {
    width: 150px;
    height: 150px;
    background: linear-gradient(45deg, #ff5e4c, #ff7e70);
    background: linear-gradient(45deg, var(--accent-orange), var(--accent-light-orange));
    top: 20%;
    left: 10%;
    animation-delay: -10s;
    animation-duration: 30s;
}

.shape-4 {
    width: 100px;
    height: 100px;
    background: linear-gradient(45deg, #ff3364, #ff3366);
    background: linear-gradient(45deg, var(--accent-red), var(--accent-red-alt));
    top: 60%;
    right: 20%;
    animation-delay: -15s;
    animation-duration: 18s;
}

.shape-5 {
    width: 250px;
    height: 250px;
    background: linear-gradient(45deg, #ff7e70, #ff5e4c);
    background: linear-gradient(45deg, var(--accent-light-orange), var(--accent-orange));
    top: 40%;
    left: 70%;
    animation-delay: -8s;
    animation-duration: 22s;
}

.shape-6 {
    width: 120px;
    height: 120px;
    background: linear-gradient(45deg, #ff3366, #ff7e70);
    background: linear-gradient(45deg, var(--accent-red-alt), var(--accent-light-orange));
    bottom: 30%;
    right: 10%;
    animation-delay: -12s;
    animation-duration: 28s;
}

@keyframes float {
    0%, 100% { 
        transform: translateY(0px) translateX(0px) rotate(0deg);
    }
    25% { 
        transform: translateY(-30px) translateX(20px) rotate(90deg);
    }
    50% { 
        transform: translateY(-60px) translateX(-10px) rotate(180deg);
    }
    75% { 
        transform: translateY(-20px) translateX(-30px) rotate(270deg);
    }
}

.countdown-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    position: relative;
    z-index: 1;
}

/* Hero Section */
.countdown-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    text-align: center;
    padding: 2rem 0;
}

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

.launch-badge {
    background: linear-gradient(45deg, #ff3364, #ff5e4c);
    background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
    color: #ffffff;
    color: var(--primary-white);
    padding: 0.5rem 1.5rem;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 2rem;
    display: inline-block;
    box-shadow: 0 4px 15px rgba(255, 51, 100, 0.3);
}

.countdown-title {
    font-size: 5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.1;
    background: linear-gradient(45deg, #ff3364, #ff5e4c);
    background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -2px;
}

.countdown-subtitle {
    font-size: 1.5rem;
    margin-bottom: 3rem;
    color: #232323;
    color: var(--primary-dark);
    opacity: 0.8;
    line-height: 1.4;
    font-weight: 400;
}

/* Countdown Timer */
.countdown-timer {
    margin: 4rem 0;
}

.countdown-grid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.countdown-item {
    background: #ffffff;
    background: var(--primary-white);
    border-radius: 20px;
    padding: 2rem 1.5rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 2px solid #ececec;
    border: 2px solid var(--light-gray);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-width: 120px;
}

.countdown-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.countdown-landing .countdown-number {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    color: #ff3364;
    color: var(--accent-red);
    margin-bottom: 0.5rem;
    line-height: 1;
}

.countdown-landing .countdown-label {
    font-size: 0.9rem;
    color: #232323;
    color: var(--primary-dark);
    opacity: 0.7;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.countdown-landing .countdown-separator {
    font-size: 3rem;
    font-weight: 700;
    color: #ff3364;
    color: var(--accent-red);
    margin: 0 0.5rem;
}

/* Launched State */
.countdown-launched {
    text-align: center;
    padding: 3rem;
    background: #ffffff;
    background: var(--primary-white);
    border-radius: 25px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border: 2px solid #ececec;
    border: 2px solid var(--light-gray);
}

.launched-title {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #ff3364;
    color: var(--accent-red);
}

.launched-subtitle {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    color: #232323;
    color: var(--primary-dark);
    opacity: 0.8;
}

/* Buttons */
.countdown-landing .btn {
    border: none;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
    text-align: center;
    font-size: 1rem;
}

.countdown-landing .btn-primary {
    background: linear-gradient(45deg, #ff3364, #ff5e4c);
    background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
    color: #ffffff;
    color: var(--primary-white);
    box-shadow: 0 4px 15px rgba(255, 51, 100, 0.4);
}

.countdown-landing .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 51, 100, 0.6);
}

.countdown-landing .btn-notify {
    background: transparent;
    color: #ff3364;
    color: var(--accent-red);
    border: 2px solid #ff3364;
    border: 2px solid var(--accent-red);
    margin-top: 2rem;
}

.countdown-landing .btn-notify:hover {
    background: #ff3364;
    background: var(--accent-red);
    color: #ffffff;
    color: var(--primary-white);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 51, 100, 0.4);
}

.countdown-landing .btn-primary:disabled {
    opacity: 0.6;
    transform: none;
    cursor: not-allowed;
}

.countdown-landing .btn-large {
    font-size: 1.1rem;
}

/* Waitlist Section */
.waitlist-section {
    margin-top: 6rem;
    padding-top: 4rem;
}

.waitlist-card {
    background: #ffffff;
    background: var(--primary-white);
    border-radius: 25px;
    padding: 3rem;
    text-align: center;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border: 2px solid #ececec;
    border: 2px solid var(--light-gray);
    margin-bottom: 4rem;
}

.waitlist-title {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 600;
    color: #232323;
    color: var(--primary-dark);
}

.waitlist-description {
    font-size: 1.1rem;
    margin-bottom: 2.5rem;
    color: #232323;
    color: var(--primary-dark);
    opacity: 0.8;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

/* Form Styles */
.waitlist-form {
    max-width: 500px;
    margin: 0 auto;
}

.waitlist-section .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.waitlist-input {
    padding: 1rem 1.5rem;
    border: 2px solid #ececec;
    border: 2px solid var(--light-gray);
    border-radius: 50px;
    background: #ffffff;
    background: var(--primary-white);
    color: #232323;
    color: var(--primary-dark);
    font-size: 1rem;
    transition: all 0.3s ease;
}

.waitlist-input::placeholder {
    color: #232323;
    color: var(--primary-dark);
    opacity: 0.5;
}

.waitlist-input:focus {
    outline: none;
    border-color: #ff3364;
    border-color: var(--accent-red);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255, 51, 100, 0.2);
}

/* Success/Error Messages */
.waitlist-success {
    background: linear-gradient(45deg, #10b981, #34d399);
    color: #ffffff;
    color: var(--primary-white);
    border-radius: 15px;
    padding: 1.5rem;
    margin-top: 1.5rem;
}

.waitlist-success h3 {
    margin-bottom: 0.5rem;
}

.waitlist-error {
    background: linear-gradient(45deg, #ff3364, #ff5e4c);
    background: linear-gradient(45deg, var(--accent-red), var(--accent-orange));
    color: #ffffff;
    color: var(--primary-white);
    border-radius: 15px;
    padding: 1rem;
    margin-top: 1.5rem;
}

/* Features Preview */
.features-preview {
    text-align: center;
}

.features-title {
    font-size: 2rem;
    margin-bottom: 2.5rem;
    font-weight: 600;
    color: #232323;
    color: var(--primary-dark);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 2rem;
    gap: 2rem;
}

.feature-item {
    background: #ffffff;
    background: var(--primary-white);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 2px solid #ececec;
    border: 2px solid var(--light-gray);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.feature-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.feature-item h4 {
    font-size: 1.3rem;
    margin-bottom: 1rem;
    font-weight: 600;
    color: #232323;
    color: var(--primary-dark);
}

.feature-item p {
    color: #232323;
    color: var(--primary-dark);
    opacity: 0.8;
    line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 768px) {
    .waitlist-section .countdown-title {
        font-size: 3.5rem;
    }
    
    .countdown-grid {
        gap: 0.5rem;
    }
    
    .countdown-item {
        padding: 1.5rem 1rem;
        min-width: 80px;
    }
    
.countdown-landing .countdown-number {
        font-size: 2rem;
    }
    
.countdown-landing .countdown-separator {
        font-size: 2rem;
        margin: 0 0.25rem;
    }
    
.countdown-landing .form-row {
        grid-template-columns: 1fr;
    }
    
    .waitlist-card {
        padding: 2rem 1.5rem;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }

    .floating-shape {
        opacity: 0.05;
    }
}

@media (max-width: 480px) {
    .countdown-container {
        padding: 1rem;
    }
    
    .countdown-landing .countdown-title {
        font-size: 2.5rem;
    }
    
    .countdown-landing .countdown-number {
        font-size: 1.5rem;
    }
    
    .countdown-item {
        padding: 1rem 0.5rem;
        min-width: 70px;
    }

    .countdown-landing .countdown-separator {
        font-size: 1.5rem;
    }
}

/* Cookie Configuration Modal */
.cookie-config-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  padding: 20px;
}

.cookie-config-modal {
  background: linear-gradient(135deg, rgba(35, 35, 35, 0.95) 0%, rgba(35, 35, 35, 0.9) 100%);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-radius: 25px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  max-width: 600px;
  width: 100%;
  max-height: 80vh;
  overflow: hidden;
  color: white;
  position: relative;
}

/* Enhanced gradient border */
.cookie-config-modal::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 2px;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  opacity: 0.6;
}

.cookie-config-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 24px;
}

.cookie-config-header h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.close-btn {
  background: none;
  border: none;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.close-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: rotate(90deg);
}

.cookie-config-content {
  padding: 0 28px;
  max-height: 50vh;
  overflow-y: auto;
}

.cookie-config-description {
  margin: 0 0 24px 0;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
}

.cookie-categories {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.cookie-category {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  padding: 20px;
  transition: all 0.3s ease;
}

.cookie-category:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 51, 100, 0.3);
  transform: translateY(-2px);
}

.category-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.category-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.category-info h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
}

.required-badge {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.category-description {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.8);
}

/* Toggle Switch */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 32px;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
  border-radius: 32px;
}

.toggle-slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 4px;
  bottom: 4px;
  background: white;
  transition: all 0.3s ease;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

input:checked + .toggle-slider {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  border-color: #ff3364;
  border-color: var(--accent-red, #ff3364);
}

input:checked + .toggle-slider:before {
  transform: translateX(28px);
}

input:disabled + .toggle-slider {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Footer */
.cookie-config-footer {
  display: flex;
  gap: 12px;
  padding: 24px 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  justify-content: center;
  flex-wrap: wrap;
}

.cookie-config-footer button {
  padding: 12px 24px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  min-width: 140px;
}

.btn-accept-all {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  color: white;
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.4);
}

.btn-accept-all:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.6);
}

.btn-save-settings {
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.btn-save-settings:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
}

.btn-reject-all {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  border: 2px solid rgba(255, 255, 255, 0.2);
}

.btn-reject-all:hover {
  color: white;
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .cookie-config-modal {
    margin: 10px;
    max-height: 90vh;
  }
  
  .cookie-config-header,
  .cookie-config-content,
  .cookie-config-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .cookie-config-footer {
    flex-direction: column;
  }
  
  .cookie-config-footer button {
    min-width: auto;
    width: 100%;
  }
  
  .category-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  
  .toggle-switch {
    align-self: flex-end;
  }
}

/* Scrollbar styling */
.cookie-config-content::-webkit-scrollbar {
  width: 6px;
}

.cookie-config-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
}

.cookie-config-content::-webkit-scrollbar-thumb {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  border-radius: 3px;
}

/* Cookie Preferences Page */
.cookie-preferences-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray, #ececec) 0%, var(--primary-white, #ffffff) 100%);
  padding: 2rem 0;
  color: #232323;
  color: var(--primary-dark, #232323);
}

.cookie-preferences-page .container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 2rem;
}

.cookie-preferences-page h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -1px;
}

.cookie-preferences-page > .container > p {
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 3rem;
  color: #232323;
  color: var(--primary-dark, #232323);
  opacity: 0.8;
  line-height: 1.6;
}

/* Current Settings Section */
.current-settings {
  background: #ffffff;
  background: var(--primary-white, #ffffff);
  border-radius: 25px;
  padding: 2.5rem;
  margin-bottom: 3rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray, #ececec);
  position: relative;
  overflow: hidden;
}

.current-settings::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 2px;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  opacity: 0.3;
}

.current-settings h2 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #232323;
  color: var(--primary-dark, #232323);
  text-align: center;
}

/* Settings Grid */
.settings-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.setting-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #ececec;
  border: 1px solid var(--light-gray, #ececec);
  border-radius: 15px;
  transition: all 0.3s ease;
}

.setting-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.1);
  border-color: #ff3364;
  border-color: var(--accent-red, #ff3364);
}

.setting-item span:first-child {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark, #232323);
  font-size: 1.1rem;
}

/* Status Indicators */
.status {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status.enabled {
  background: linear-gradient(45deg, #10b981, #34d399);
  color: white;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

.status.disabled {
  background: linear-gradient(45deg, #ef4444, #f87171);
  color: white;
  box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
}

/* Actions Section */
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

.cookie-preferences-page .btn {
  padding: 1rem 2rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
}

.cookie-preferences-page .btn-primary {
  background: linear-gradient(45deg, #ff3364, #ff5e4c);
  background: linear-gradient(45deg, var(--accent-red, #ff3364), var(--accent-orange, #ff5e4c));
  color: white;
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.4);
}

.cookie-preferences-page .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.6);
}

.cookie-preferences-page .btn-secondary {
  background: transparent;
  color: #ff3364;
  color: var(--accent-red, #ff3364);
  border: 2px solid #ff3364;
  border: 2px solid var(--accent-red, #ff3364);
}

.cookie-preferences-page .btn-secondary:hover {
  background: #ff3364;
  background: var(--accent-red, #ff3364);
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.4);
}

/* Info Section */
.cookie-info {
  background: #ffffff;
  background: var(--primary-white, #ffffff);
  border-radius: 20px;
  padding: 2rem;
  margin-top: 3rem;
  border: 1px solid #ececec;
  border: 1px solid var(--light-gray, #ececec);
}

.cookie-info h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #232323;
  color: var(--primary-dark, #232323);
}

.cookie-info p {
  color: #232323;
  color: var(--primary-dark, #232323);
  opacity: 0.8;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.cookie-info a {
  color: #ff3364;
  color: var(--accent-red, #ff3364);
  text-decoration: none;
  font-weight: 600;
}

.cookie-info a:hover {
  text-decoration: underline;
}

/* Responsive Design */
@media (max-width: 768px) {
  .cookie-preferences-page .container {
    padding: 0 1rem;
  }
  
  .cookie-preferences-page h1 {
    font-size: 2.5rem;
  }
  
  .current-settings {
    padding: 2rem 1.5rem;
  }
  
  .setting-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1rem;
  }
  
  .actions {
    flex-direction: column;
  }
  
  .cookie-preferences-page .btn {
    width: 100%;
    min-width: auto;
  }
}

@media (max-width: 480px) {
  .cookie-preferences-page h1 {
    font-size: 2rem;
  }
  
  .current-settings h2 {
    font-size: 1.5rem;
  }
  
  .setting-item span:first-child {
    font-size: 1rem;
  }
}

/* Loading State */
.cookie-preferences-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}

.cookie-preferences-loading .spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #ececec;
  border: 4px solid var(--light-gray, #ececec);
  border-top: 4px solid #ff3364;
  border-top: 4px solid var(--accent-red, #ff3364);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Success Message */
.cookie-preferences-success {
  background: linear-gradient(45deg, #10b981, #34d399);
  color: white;
  padding: 1rem 1.5rem;
  border-radius: 15px;
  margin-bottom: 2rem;
  text-align: center;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

/* Landing Page Styles - Fully Namespaced */
/* Using Icomerge Brand Colors */

.landing-page {
  width: 100%;
  overflow-x: hidden;
  background: #ffffff;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Container - Namespaced */
.landing-page .landing-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Hero Section */
.landing-page .landing-hero-section {
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4rem 0;
  position: relative;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 50%, #fff5f3 100%);
  overflow: hidden;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.landing-page .landing-hero-content {
  flex: 1 1;
  max-width: 600px;
  z-index: 2;
  -webkit-margin-start: clamp(17rem, 6vw, 5rem);
          margin-inline-start: clamp(17rem, 6vw, 5rem);
}

.landing-page .landing-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: linear-gradient(135deg, #ff5e4c, #ff7b6d);
  color: white;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 2rem;
  box-shadow: 0 4px 12px rgba(255, 94, 76, 0.3);
}

.landing-page .landing-hero-badge svg {
  font-size: 1.2rem;
}

.landing-page .landing-hero-title {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  color: #232323;
}

.landing-page .landing-highlight-gradient {
  background: linear-gradient(135deg, #ff3364, #ff7e70);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.landing-page .landing-hero-subtitle {
  font-size: 1.3rem;
  color: #666;
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

.landing-page .landing-hero-cta-group {
  display: flex;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.landing-page .landing-cta-primary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2.5rem;
  background: linear-gradient(135deg, #ff5e4c, #ff7b6d);
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(255, 94, 76, 0.3);
}

.landing-page .landing-cta-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(255, 94, 76, 0.4);
}

.landing-page .landing-cta-secondary {
  padding: 1rem 2.5rem;
  background: white;
  color: #ff5e4c;
  border: 2px solid #ff5e4c;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.landing-page .landing-cta-secondary:hover {
  background: #ff5e4c;
  color: white;
}

.landing-page .landing-hero-stats {
  display: flex;
  gap: 3rem;
  padding-top: 2rem;
  border-top: 2px solid #e0e0e0;
}

.landing-page .landing-stat-item {
  text-align: left;
}

.landing-page .landing-stat-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: #ff3364;
  margin-bottom: 0.25rem;
}

.landing-page .landing-stat-label {
  font-size: 0.9rem;
  color: #666;
  font-weight: 500;
}

/* Hero Visual */
.landing-page .landing-hero-visual {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 500px;
}

.landing-page .landing-visual-circle {
  position: absolute;
  border-radius: 50%;
  animation: landingFloat 8s ease-in-out infinite;
}

.landing-page .landing-circle-1 {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, rgba(255, 94, 76, 0.1), rgba(255, 51, 100, 0.05));
  animation-delay: 0s;
}

.landing-page .landing-circle-2 {
  width: 320px;
  height: 320px;
  background: linear-gradient(135deg, rgba(255, 51, 100, 0.15), rgba(255, 126, 112, 0.1));
  animation-delay: 1.5s;
}

.landing-page .landing-circle-3 {
  width: 240px;
  height: 240px;
  background: linear-gradient(135deg, rgba(255, 126, 112, 0.2), rgba(255, 94, 76, 0.15));
  animation-delay: 3s;
}

.landing-page .landing-visual-icons {
  position: relative;
  z-index: 2;
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.landing-page .landing-visual-icon {
  position: absolute;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  color: white;
  font-size: 2rem;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  animation: landingIconFloat 6s ease-in-out infinite;
}

.landing-page .landing-icon-host {
  background: linear-gradient(135deg, #ff5e4c, #ff7b6d);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  animation-delay: 0s;
}

.landing-page .landing-icon-tenant {
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
  bottom: 0;
  left: 0;
  animation-delay: 2s;
}

.landing-page .landing-icon-customer {
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
  bottom: 0;
  right: 0;
  animation-delay: 4s;
}

@keyframes landingFloat {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.05);
  }
}

@keyframes landingIconFloat {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* Section Common Styles */
.landing-page section {
  padding: 6rem 0;
}

.landing-page .landing-section-header {
  text-align: center;
  margin-bottom: 4rem;
}

.landing-page .landing-section-tag {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #fff5f3, #ffe8e5);
  color: #ff5e4c;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 1rem;
  border: 1px solid rgba(255, 94, 76, 0.2);
}

.landing-page .landing-section-title {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: #232323;
}

.landing-page .landing-highlight-text {
  color: #ff3364;
  position: relative;
}

.landing-page .landing-section-description {
  font-size: 1.2rem;
  color: #666;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Roles Section */
.landing-page .landing-roles-section {
  background: white;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.landing-page .landing-roles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  grid-gap: 2.5rem;
  gap: 2.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.landing-page .landing-role-card {
  background: white;
  padding: 3rem 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  border: 2px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.landing-page .landing-role-card:hover {
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
}

.landing-page .landing-role-icon {
  width: 100px;
  height: 100px;
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  margin-bottom: 2rem;
}

.landing-page .landing-role-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #232323;
}

.landing-page .landing-role-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 2rem;
  flex: 1 1;
}

.landing-page .landing-role-button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 2rem;
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.landing-page .landing-role-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* How It Works Section */
.landing-page .landing-how-it-works-section {
  background: #f8f9fa;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.landing-page .landing-steps-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.landing-page .landing-step-card {
  background: white;
  padding: 2.5rem;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  border: 2px solid #f0f0f0;
  transition: all 0.3s ease;
  flex: 1 1;
  min-width: 280px;
  max-width: 320px;
}

.landing-page .landing-step-card:hover {
  border-color: #ff5e4c;
  transform: translateY(-5px);
}

.landing-page .landing-step-number {
  font-size: 3rem;
  font-weight: 800;
  color: #ff3364;
  opacity: 0.2;
  margin-bottom: 1rem;
}

.landing-page .landing-step-content h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #232323;
}

.landing-page .landing-step-content p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

.landing-page .landing-step-arrow {
  font-size: 2rem;
  color: #ff5e4c;
  flex-shrink: 0;
}

/* Benefits Section */
.landing-page .landing-benefits-section {
  background: white;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.landing-page .landing-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  grid-gap: 2.5rem;
  gap: 2.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.landing-page .landing-benefit-card {
  text-align: center;
  padding: 2rem;
}

.landing-page .landing-benefit-icon-wrapper {
  margin-bottom: 1.5rem;
}

.landing-page .landing-benefit-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #ff5e4c, #ff7e70);
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: white;
  box-shadow: 0 8px 20px rgba(255, 94, 76, 0.3);
}

.landing-page .landing-benefit-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #232323;
}

.landing-page .landing-benefit-card p {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
}

/* Final CTA Section */
.landing-page .landing-final-cta-section {
  background: linear-gradient(135deg, #232323 0%, #2d2d2d 100%);
  padding: 6rem 2rem;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.landing-page .landing-cta-container {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.landing-page .landing-cta-content h2 {
  font-size: 3rem;
  font-weight: 800;
  color: white;
  margin-bottom: 1rem;
}

.landing-page .landing-cta-content p {
  font-size: 1.2rem;
  color: #ccc;
  margin-bottom: 3rem;
}

.landing-page .landing-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}

.landing-page .landing-cta-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.landing-page .landing-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4);
}

.landing-page .landing-cta-btn-host {
  background: linear-gradient(135deg, #ff5e4c, #ff7b6d);
}

.landing-page .landing-cta-btn-tenant {
  background: linear-gradient(135deg, #ff3364, #ff5c7c);
}

.landing-page .landing-cta-btn-customer {
  background: linear-gradient(135deg, #ff7e70, #ffab9d);
}

.landing-page .landing-cta-trust-indicators {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.landing-page .landing-trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white;
  font-size: 1rem;
}

.landing-page .landing-trust-item svg {
  color: #10b981;
  font-size: 1.2rem;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .landing-page .landing-hero-section {
    flex-direction: column;
    text-align: center;
    padding: 3rem 1.5rem;
  }

  .landing-page .landing-hero-content {
    max-width: 100%;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
  }

  .landing-page .landing-hero-title {
    font-size: 3rem;
  }

  .landing-page .landing-hero-cta-group {
    justify-content: center;
  }

  .landing-page .landing-hero-stats {
    justify-content: center;
  }

  .landing-page .landing-hero-visual {
    min-height: 400px;
  }

  .landing-page .landing-section-title {
    font-size: 2.5rem;
  }

  .landing-page .landing-step-arrow {
    display: none;
  }
}

@media (max-width: 768px) {
  .landing-page {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .landing-page .landing-container {
    padding: 0 0.5rem;
  }

  .landing-page section {
    padding: 4rem 0;
  }

  .landing-page .landing-hero-title {
    font-size: 2.5rem;
  }

  .landing-page .landing-hero-subtitle {
    font-size: 1.1rem;
  }

  .landing-page .landing-hero-stats {
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
  }

  .landing-page .landing-stat-item {
    text-align: center;
  }

  .landing-page .landing-cta-primary,
  .landing-page .landing-cta-secondary {
    width: 100%;
    justify-content: center;
  }

  .landing-page .landing-section-title {
    font-size: 2rem;
  }

  .landing-page .landing-section-description {
    font-size: 1rem;
  }

  .landing-page .landing-roles-grid,
  .landing-page .landing-steps-container,
  .landing-page .landing-benefits-grid {
    grid-template-columns: 1fr;
  }

  .landing-page .landing-cta-content h2 {
    font-size: 2rem;
  }

  .landing-page .landing-cta-content p {
    font-size: 1rem;
  }

  .landing-page .landing-cta-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .landing-page .landing-cta-btn {
    width: 100%;
    justify-content: center;
  }

  .landing-page .landing-cta-trust-indicators {
    flex-direction: column;
    gap: 1rem;
  }
}

@media (max-width: 480px) {
  .landing-page {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .landing-page .landing-hero-title {
    font-size: 2rem;
  }

  .landing-page .landing-hero-badge {
    font-size: 0.8rem;
    padding: 0.4rem 1rem;
  }

  .landing-page .landing-section-tag {
    font-size: 0.8rem;
  }

  .landing-page .landing-section-title {
    font-size: 1.75rem;
  }

  .landing-page .landing-cta-primary,
  .landing-page .landing-cta-secondary {
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
  }

  .landing-page .landing-cta-btn {
    padding: 1rem 2rem;
    font-size: 1rem;
  }
}

/* Browse Products Section */
.landing-browse-section {
  padding: 6rem 0;
  background: linear-gradient(135deg, #fff9f0 0%, #ffffff 100%);
  position: relative;
  overflow: hidden;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.landing-browse-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.landing-browse-section .landing-container {
  position: relative;
  z-index: 1;
}

.landing-browse-cta {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 3rem;
  flex-wrap: wrap;
}

.landing-browse-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}

.landing-browse-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.landing-browse-btn:hover::before {
  width: 300px;
  height: 300px;
}

.landing-browse-btn-primary {
  background: linear-gradient(135deg, #FFB000 0%, #FFC247 100%);
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.landing-browse-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 176, 0, 0.4);
  background: linear-gradient(135deg, #FFC247 0%, #FFD166 100%);
}

.landing-browse-btn-secondary {
  background: white;
  color: #18B4A7;
  border: 2px solid #18B4A7;
}

.landing-browse-btn-secondary:hover {
  background: #18B4A7;
  color: white;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(24, 180, 167, 0.3);
}

/* Responsive Design for Browse Section */
@media (max-width: 768px) {
  .landing-browse-section {
    padding: 4rem 0;
    margin-left: -2rem;
    margin-right: -2rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .landing-browse-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .landing-browse-btn {
    padding: 1rem 2rem;
    font-size: 1rem;
    justify-content: center;
  }

  .landing-browse-visual {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 3rem;
  }

  .landing-browse-card {
    padding: 1.5rem;
  }

  .landing-browse-icon {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }

  .landing-browse-number {
    font-size: 1.75rem;
  }
}


/* UserProfile.css */
.user-profile-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 2rem 0;
}

.user-profile-page .container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1rem;
}

.user-profile-header {
  text-align: center;
  margin-bottom: 2rem;
}

.user-profile-header h1 {
  color: #333;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.user-profile-subtitle {
  color: #666;
  font-size: 1.1rem;
  margin: 0;
}

.user-profile-card {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
}

/* Profile Image Section */
.profile-image-section {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.profile-image-container {
  position: relative;
  width: 120px;
  height: 120px;
}

.profile-image {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* background: linear-gradient(135deg, #FF5F5F, #FF9F5F); */

.profile-image-fallback {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 2rem;
  font-weight: 700;
  border: 4px solid #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.profile-image-overlay {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #FF5F5F;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 10px rgba(255, 95, 95, 0.3);
}

.profile-image-overlay:hover {
  background: #e54545;
  transform: scale(1.05);
}

.image-upload-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  cursor: pointer;
  font-size: 0.7rem;
  font-weight: 600;
  text-align: center;
  gap: 2px;
}

.image-input-hidden {
  display: none;
}

/* Form Styles */
.profile-form {
  width: 100%;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1.5rem;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group.full-width {
  grid-column: 1 / -1;
}

.form-group label {
  color: #333;
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}

.form-input {
  padding: 0.75rem 1rem;
  border: 2px solid #e1e5e9;
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.2s ease;
  background: #fff;
}

.form-input:focus {
  outline: none;
  border-color: #FF5F5F;
  box-shadow: 0 0 0 3px rgba(255, 95, 95, 0.1);
}

.form-input:disabled {
  background: #f8f9fa;
  color: #6c757d;
  cursor: not-allowed;
}

/* Message Styles */
.message {
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  font-weight: 500;
}

.message.success {
  background: #d1edff;
  color: #0066cc;
  border: 1px solid #b3d9ff;
}

.message.error {
  background: #ffe6e6;
  color: #cc0000;
  border: 1px solid #ffb3b3;
}

/* Action Buttons */
.form-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}

/* .btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 120px;
  justify-content: center;
} */

/* .btn-primary {
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  color: white;
} */

/* .btn-primary:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(255, 95, 95, 0.3);
}

.btn-secondary {
  background: #6c757d;
  color: white;
}

.btn-secondary:hover:not(:disabled) {
  background: #5a6268;
  transform: translateY(-2px);
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
} */

/* Account Information Section */
.account-info-section {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.account-info-section h2 {
  color: #333;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #f1f3f4;
}

.account-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.account-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.account-info-item label {
  color: #666;
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.account-info-item span {
  color: #333;
  font-size: 1rem;
  font-weight: 500;
}

.status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
  width: -webkit-fit-content;
  width: fit-content;
}

.status.active {
  background: #d4edda;
  color: #155724;
}

.status.inactive {
  background: #f8d7da;
  color: #721c24;
}

.status.active::before {
  content: '●';
  color: #28a745;
}

.status.inactive::before {
  content: '●';
  color: #dc3545;
}

/* Responsive Design */
@media (max-width: 768px) {
  .user-profile-page {
    padding: 1rem 0;
  }

  .user-profile-header h1 {
    font-size: 2rem;
  }

  .user-profile-card,
  .account-info-section {
    padding: 1.5rem;
    margin: 0 0.5rem 1.5rem;
  }

  .form-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .form-actions {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }

  .profile-image-container {
    width: 100px;
    height: 100px;
  }

  .profile-image-fallback {
    font-size: 1.5rem;
  }

  .account-info-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

@media (max-width: 480px) {
  .user-profile-header h1 {
    font-size: 1.75rem;
  }

  .user-profile-subtitle {
    font-size: 1rem;
  }

  .profile-image-container {
    width: 80px;
    height: 80px;
  }

  .profile-image-fallback {
    font-size: 1.25rem;
  }
}

/* Help.css */
.help-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 2rem 0;
}

.help-page .container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
}

.help-header {
  text-align: center;
  margin-bottom: 3rem;
}

.help-header h1 {
  color: #333;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.help-subtitle {
  color: #666;
  font-size: 1.1rem;
  margin: 0;
  max-width: 600px;
  margin: 0 auto;
}

/* Quick Links Section */
.quick-links-section {
  margin-bottom: 3rem;
}

.quick-links-section h2 {
  color: #333;
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
}

.quick-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.quick-link-card {
  background: white;
  border-radius: 12px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.quick-link-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.quick-link-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 1rem;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.quick-link-card h3 {
  color: #333;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.quick-link-card p {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}

.quick-link-button {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.quick-link-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 95, 95, 0.3);
  color: white;
  text-decoration: none;
}

/* FAQ Section */
.faq-section {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  margin-bottom: 3rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.faq-section h2 {
  color: #333;
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-align: center;
}

.faq-list {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid #e9ecef;
  margin-bottom: 0;
}

.faq-item:last-child {
  border-bottom: none;
}

.faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 0;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  color: #333;
  transition: color 0.2s ease;
}

.faq-question:hover {
  color: #FF5F5F;
}

.faq-arrow {
  transition: transform 0.2s ease;
  color: #666;
}

.faq-item.expanded .faq-arrow {
  transform: rotate(180deg);
  color: #FF5F5F;
}

.faq-answer {
  padding-bottom: 1.25rem;
  animation: fadeIn 0.3s ease;
}

.faq-answer p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

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

/* Contact Section */
.contact-section {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.contact-section h2 {
  color: #333;
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  text-align: center;
}

.contact-description {
  color: #666;
  text-align: center;
  margin-bottom: 2rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.contact-form {
  max-width: 600px;
  margin: 0 auto;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1.5rem;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group.full-width {
  grid-column: 1 / -1;
}

.form-group label {
  color: #333;
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}

.form-input,
.form-textarea {
  padding: 0.75rem 1rem;
  border: 2px solid #e1e5e9;
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.2s ease;
  background: #fff;
  font-family: inherit;
}

.form-input:focus,
.form-textarea:focus {
  outline: none;
  border-color: #FF5F5F;
  box-shadow: 0 0 0 3px rgba(255, 95, 95, 0.1);
}

.form-textarea {
  resize: vertical;
  min-height: 120px;
}

/* Message Styles */
.message {
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  font-weight: 500;
}

.message.success {
  background: #d1edff;
  color: #0066cc;
  border: 1px solid #b3d9ff;
}

.message.error {
  background: #ffe6e6;
  color: #cc0000;
  border: 1px solid #ffb3b3;
}

/* Form Actions */
.form-actions {
  display: flex;
  justify-content: center;
}

/* .btn {
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 140px;
  justify-content: center;
}

.btn-primary {
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  color: white;
}

.btn-primary:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(255, 95, 95, 0.3);
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
} */

/* Responsive Design */
@media (max-width: 768px) {
  .help-page {
    padding: 1rem 0;
  }

  .help-header h1 {
    font-size: 2rem;
  }

  .help-subtitle {
    font-size: 1rem;
  }

  .quick-links-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .quick-link-card {
    padding: 1.5rem;
  }

  .faq-section,
  .contact-section {
    padding: 1.5rem;
    margin: 0 0.5rem 1.5rem;
  }

  .form-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .faq-question {
    font-size: 0.9rem;
  }

  .faq-answer p {
    font-size: 0.875rem;
  }
}

@media (max-width: 480px) {
  .help-header h1 {
    font-size: 1.75rem;
  }

  .quick-link-card {
    padding: 1rem;
  }

  .quick-link-icon {
    width: 50px;
    height: 50px;
  }

  .quick-link-card h3 {
    font-size: 1.1rem;
  }

  .faq-section h2,
  .contact-section h2 {
    font-size: 1.5rem;
  }
}

/* AdminNavBar.css */
.admin-navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 250px;
  height: 100vh;
  background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
  display: flex;
  flex-direction: column;
  z-index: 1000;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

.admin-navbar-brand {
  padding: 1.5rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.brand-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: white;
  font-weight: 700;
  font-size: 1.125rem;
  transition: all 0.2s ease;
}

.brand-link:hover {
  color: #FF9F5F;
  text-decoration: none;
}

.brand-icon {
  font-size: 1.5rem;
}

.brand-text {
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.admin-navbar-menu {
  flex: 1 1;
  padding: 1rem 0;
  overflow-y: auto;
}

.admin-nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  margin: 0.125rem 0.5rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.2s ease;
  font-weight: 500;
  position: relative;
}

.admin-nav-item:hover {
  background: rgba(255, 255, 255, 0.05);
  color: white;
  text-decoration: none;
  transform: translateX(2px);
}

.admin-nav-item.active {
  background: linear-gradient(135deg, rgba(255, 95, 95, 0.2), rgba(255, 159, 95, 0.2));
  color: #FF9F5F;
  border-left: 3px solid #FF5F5F;
}

.admin-nav-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  border-radius: 0 2px 2px 0;
}

.nav-icon {
  font-size: 1.125rem;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}

.nav-label {
  font-size: 0.875rem;
}

.admin-navbar-footer {
  padding: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.back-to-app {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  font-size: 0.875rem;
  transition: all 0.2s ease;
  padding: 0.5rem;
  border-radius: 6px;
}

.back-to-app:hover {
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.05);
  text-decoration: none;
}

.back-icon {
  font-size: 1rem;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .admin-navbar {
    width: 100%;
    height: auto;
    position: relative;
    flex-direction: row;
    overflow-x: auto;
  }

  .admin-navbar-brand {
    flex-shrink: 0;
    padding: 1rem;
    border-bottom: none;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
  }

  .brand-text {
    display: none;
  }

  .admin-navbar-menu {
    flex: 1 1;
    display: flex;
    padding: 0;
    overflow-x: auto;
    overflow-y: visible;
  }

  .admin-nav-item {
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem 0.5rem;
    margin: 0;
    min-width: 70px;
    text-align: center;
    border-radius: 0;
    white-space: nowrap;
  }

  .admin-nav-item:hover {
    transform: none;
  }

  .admin-nav-item.active::before {
    display: none;
  }

  .admin-nav-item.active {
    border-left: none;
    border-bottom: 3px solid #FF5F5F;
  }

  .nav-icon {
    font-size: 1rem;
  }

  .nav-label {
    font-size: 0.75rem;
  }

  .admin-navbar-footer {
    flex-shrink: 0;
    padding: 1rem;
    border-top: none;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }

  .back-to-app {
    flex-direction: column;
    gap: 0.25rem;
    text-align: center;
    font-size: 0.75rem;
  }
}

@media (max-width: 480px) {
  .admin-navbar-brand {
    padding: 0.75rem;
  }

  .admin-nav-item {
    min-width: 60px;
    padding: 0.5rem 0.25rem;
  }

  .nav-icon {
    font-size: 0.875rem;
  }

  .nav-label {
    font-size: 0.625rem;
  }

  .admin-navbar-footer {
    padding: 0.75rem;
  }
}

/* Scrollbar Styling */
.admin-navbar-menu::-webkit-scrollbar {
  width: 4px;
}

.admin-navbar-menu::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}

.admin-navbar-menu::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}

.admin-navbar-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* AdminLayout.css */
.admin-layout {
  display: flex;
  min-height: 100vh;
}

.admin-main-content {
  flex: 1 1;
  margin-left: 250px;
  background: #f8f9fa;
  min-height: 100vh;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .admin-layout {
    flex-direction: column;
  }

  .admin-main-content {
    margin-left: 0;
    margin-top: 0;
  }
}

/* AdminDashboard.css - iCoMerge Brand Aligned */

:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
}

.admin-dashboard {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
  padding: 2rem;
}

.admin-dashboard-header {
  text-align: center;
  margin-bottom: 3rem;
}

.admin-dashboard-header h1 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.admin-dashboard-subtitle {
  font-size: 1.1rem;
  color: #718096;
  margin: 0;
}

/* Metrics Grid */
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

.metric-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: all 0.3s ease;
}

.metric-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(255, 94, 76, 0.15);
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
}

.metric-icon {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

.metric-content h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 0.25rem 0;
}

.metric-content p {
  font-size: 0.9rem;
  color: #718096;
  margin: 0;
}

/* Dashboard Section */
.dashboard-section {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
}

.dashboard-section h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #ff5e4c;
  border-bottom: 2px solid var(--accent-orange);
}

/* Quick Actions Grid */
.quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.quick-action-card {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  border-top: 4px solid;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  overflow: hidden;
}

.quick-action-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 0;
}

.quick-action-card:hover::before {
  opacity: 0.05;
}

.quick-action-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(255, 94, 76, 0.15);
}

.quick-action-icon {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  position: relative;
  z-index: 1;
}

.quick-action-content {
  flex: 1 1;
  position: relative;
  z-index: 1;
}

.quick-action-content h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.25rem;
}

.quick-action-content p {
  font-size: 0.875rem;
  color: #718096;
  margin: 0;
}

.quick-action-arrow {
  font-size: 1.5rem;
  font-weight: 700;
  transition: transform 0.3s ease;
  position: relative;
  z-index: 1;
}

.quick-action-card:hover .quick-action-arrow {
  transform: translateX(4px);
}

/* Activity Feed */
.activity-feed {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.activity-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, #f7fafc 0%, #ffffff 100%);
  border-radius: 12px;
  border-left: 4px solid #ff5e4c;
  border-left: 4px solid var(--accent-orange);
  transition: all 0.2s ease;
}

.activity-item:hover {
  background: #f7fafc;
  box-shadow: 0 4px 12px rgba(255, 94, 76, 0.08);
  transform: translateX(4px);
}

.activity-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

.activity-content {
  flex: 1 1;
}

.activity-message {
  font-size: 0.95rem;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.25rem;
}

.activity-timestamp {
  font-size: 0.8rem;
  color: #718096;
}

.view-all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  color: white;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(255, 94, 76, 0.2);
}

.view-all-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 94, 76, 0.3);
  color: white;
}

/* Revenue Card */
.revenue-card {
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  border-radius: 16px;
  padding: 2.5rem;
  color: white;
  text-align: center;
  box-shadow: 0 8px 32px rgba(255, 94, 76, 0.3);
  position: relative;
  overflow: hidden;
}

.revenue-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
  animation: ripple 15s ease-in-out infinite;
}

@keyframes ripple {
  0%, 100% {
    transform: scale(1) translate(0, 0);
  }
  50% {
    transform: scale(1.1) translate(-10%, -10%);
  }
}

.revenue-amount {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}

.revenue-label {
  font-size: 1.1rem;
  opacity: 0.9;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}

.revenue-growth {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  position: relative;
  z-index: 1;
}

.growth-indicator {
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  font-weight: 600;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.growth-indicator.positive {
  color: #d1fae5;
}

.growth-indicator.negative {
  color: #fee2e2;
}

.growth-text {
  opacity: 0.9;
}

/* Responsive Design */
@media (max-width: 768px) {
  .admin-dashboard {
    padding: 1rem;
  }

  .admin-dashboard-header h1 {
    font-size: 2rem;
  }

  .metrics-grid,
  .quick-actions-grid {
    grid-template-columns: 1fr;
  }

  .revenue-amount {
    font-size: 2.5rem;
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* UserManagement.css - iCoMerge Brand Aligned */

:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
}

.user-management {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
  padding: 2rem;
}

/* Stats Summary */
.stats-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.stat-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
  transition: all 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(255, 94, 76, 0.15);
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
}

.stat-icon {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}

.stat-content h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 0.25rem 0;
}

.stat-content p {
  font-size: 0.9rem;
  color: #718096;
  margin: 0;
}

.page-header {
  text-align: center;
  margin-bottom: 2rem;
}

.page-header h1 {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-subtitle {
  font-size: 1rem;
  color: #666;
  margin: 0;
}

/* Filters Section */
.filters-section {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.search-bar {
  flex: 1 1;
  min-width: 300px;
}

.search-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  font-size: 1rem;
  transition: all 0.2s ease;
}

.search-input:focus {
  outline: none;
  border-color: #FF5F5F;
  box-shadow: 0 0 0 3px rgba(255, 95, 95, 0.1);
}

.filter-controls {
  display: flex;
  gap: 1rem;
}

.filter-select {
  padding: 0.75rem 1rem;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  font-size: 0.875rem;
  background: white;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 140px;
}

.filter-select:focus {
  outline: none;
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
  box-shadow: 0 0 0 3px rgba(255, 94, 76, 0.1);
}

/* Users Table */
.users-table-container {
  background: white;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
  overflow: hidden;
}

.users-table {
  width: 100%;
  border-collapse: collapse;
}

.users-table th {
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  padding: 1rem;
  text-align: left;
  font-weight: 600;
  color: white;
  border-bottom: 2px solid #e0e0e0;
  font-size: 0.875rem;
}

.users-table td {
  padding: 1rem;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}

.users-table tr:hover {
  background: #f8f9fa;
}

/* User Info */
.user-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 0.75rem;
  flex-shrink: 0;
}

.user-details {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.user-name {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
}

.user-email {
  color: #666;
  font-size: 0.75rem;
}

/* Badges */
.status-badge,
.role-badge {
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

/* Action Buttons */
.action-buttons {
  display: flex;
  gap: 0.5rem;
}

.action-btn {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  transition: all 0.2s ease;
}

.view-btn {
  background: #EBF4FF;
  color: #3B82F6;
}

.view-btn:hover {
  background: #DBEAFE;
}

.suspend-btn {
  background: #FEE2E2;
  color: #EF4444;
}

.suspend-btn:hover {
  background: #FECACA;
}

.activate-btn {
  background: #D1FAE5;
  color: #10B981;
}

.activate-btn:hover {
  background: #A7F3D0;
}

.edit-btn {
  background: #FEF3C7;
  color: #F59E0B;
}

.edit-btn:hover {
  background: #FDE68A;
}

/* Modal */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.user-management .modal-content {
  background: white;
  border-radius: 16px;
  width: 90%;
  max-width: 600px;
  max-height: 80vh;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.user-management .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  background: #f8f9fa;
}

.user-management .modal-header h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
}

.user-management .modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  padding: 0.25rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.user-management .modal-close:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #333;
}

.user-management .modal-body {
  padding: 1.5rem;
  overflow-y: auto;
  max-height: 60vh;
}

.user-management .user-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.user-management .detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.user-management .detail-item label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.user-management .detail-item span {
  font-size: 0.875rem;
  color: #333;
  font-weight: 500;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .user-management {
    padding: 1rem;
  }

  .filters-section {
    flex-direction: column;
    align-items: stretch;
  }

  .search-bar {
    min-width: auto;
  }

  .filter-controls {
    justify-content: space-between;
  }

  .users-table-container {
    overflow-x: auto;
  }

  .users-table {
    min-width: 800px;
  }

  .modal-content {
    width: 95%;
    margin: 1rem;
  }

  .user-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .user-management {
    padding: 0.5rem;
  }

  .page-header h1 {
    font-size: 1.5rem;
  }

  .filters-section {
    padding: 1rem;
  }

  .filter-controls {
    flex-direction: column;
    gap: 0.5rem;
  }

  .filter-select {
    min-width: auto;
  }

  .action-buttons {
    flex-direction: column;
  }
}

/* BusinessManagement.css - iCoMerge Brand Aligned - All classes scoped */

:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
}

.business-management {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
  padding: 2rem;
}

.business-management-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2rem;
}

.business-management-header h1 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.business-management-subtitle {
  font-size: 1.1rem;
  color: #718096;
  margin: 0;
}

/* Stats Grid */
.business-management .stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.business-management .stat-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
  transition: all 0.3s ease;
}

.business-management .stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(255, 94, 76, 0.15);
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
}

.business-management .stat-icon {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}

.business-management .stat-content h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 0.25rem 0;
}

.business-management .stat-content p {
  font-size: 0.9rem;
  color: #718096;
  margin: 0;
}

/* Filters Section */
.business-management .filters-section {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.business-management .search-box {
  flex: 1 1;
  min-width: 300px;
  position: relative;
}

.business-management .search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  color: #a0aec0;
}

.business-management .search-box input {
  width: 100%;
  padding: 0.875rem 1rem 0.875rem 3rem;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 1rem;
  transition: all 0.2s ease;
  background: #f7fafc;
}

.business-management .search-box input:focus {
  outline: none;
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
  background: white;
  box-shadow: 0 0 0 3px rgba(255, 94, 76, 0.1);
}

.business-management .filter-group {
  display: flex;
  gap: 0.75rem;
}

.business-management .filter-select {
  padding: 0.875rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 0.95rem;
  background: white;
  color: #2d3748;
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 500;
}

.business-management .filter-select:hover {
  border-color: #cbd5e0;
}

.business-management .filter-select:focus {
  outline: none;
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
  box-shadow: 0 0 0 3px rgba(255, 94, 76, 0.1);
}

/* Businesses Table */
.business-management .businesses-table-container {
  background: white;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(255, 94, 76, 0.08);
  border: 1px solid rgba(255, 94, 76, 0.05);
  overflow: hidden;
}

.business-management .businesses-table {
  width: 100%;
  border-collapse: collapse;
}

.business-management .businesses-table thead {
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
}

.business-management .businesses-table thead th {
  padding: 1.25rem 1rem;
  text-align: left;
  font-weight: 600;
  font-size: 0.875rem;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.business-management .businesses-table tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s ease;
}

.business-management .businesses-table tbody tr:hover {
  background: #f8f9fa;
}

.business-management .businesses-table tbody td {
  padding: 1.25rem 1rem;
  vertical-align: middle;
}

/* Business Info */
.business-management .business-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.business-management .business-name {
  font-weight: 600;
  color: #1a202c;
  font-size: 1rem;
}

.business-management .business-email {
  font-size: 0.85rem;
  color: #718096;
}

.business-management .premium-badge {
  display: inline-block;
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: white;
  font-size: 0.7rem;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  font-weight: 600;
  margin-top: 0.25rem;
  width: -webkit-fit-content;
  width: fit-content;
}

/* Badges */
.business-management .status-badge,
.business-management .role-badge {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-block;
}

/* Commission Display */
.business-management .commission-display {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.business-management .commission-badge {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-block;
}

.business-management .commission-free {
  background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
  color: white;
}

.business-management .commission-premium {
  background: linear-gradient(135deg, #ffd89b 0%, #19547b 100%);
  color: white;
}

.business-management .commission-standard {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.business-management .commission-high {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  color: white;
}

.business-management .btn-edit-commission {
  background: transparent;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.9rem;
}

.business-management .btn-edit-commission:hover {
  background: #f7fafc;
  border-color: #667eea;
  transform: scale(1.1);
}

/* Commission Edit */
.business-management .commission-edit {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.business-management .commission-input {
  width: 70px;
  padding: 0.5rem;
  border: 2px solid #667eea;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
}

.business-management .commission-input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.business-management .commission-percent {
  font-weight: 600;
  color: #667eea;
}

.business-management .commission-actions {
  display: flex;
  gap: 0.25rem;
}

.business-management .btn-save,
.business-management .btn-cancel {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 1rem;
  transition: all 0.2s ease;
}

.business-management .btn-save {
  background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
  color: white;
}

.business-management .btn-save:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(132, 250, 176, 0.4);
}

.business-management .btn-cancel {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  color: white;
}

.business-management .btn-cancel:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(250, 112, 154, 0.4);
}

/* Stripe Status */
.business-management .stripe-status-cell {
  text-align: center;
}

.business-management .stripe-status {
  font-size: 1.5rem;
  cursor: help;
}

.business-management .stripe-complete {
  filter: drop-shadow(0 2px 4px rgba(16, 185, 129, 0.3));
}

.business-management .stripe-partial {
  filter: drop-shadow(0 2px 4px rgba(245, 158, 11, 0.3));
}

.business-management .stripe-missing {
  filter: drop-shadow(0 2px 4px rgba(239, 68, 68, 0.3));
}

/* Contracts and Revenue Info */
.business-management .contracts-info,
.business-management .revenue-info {
  text-align: center;
}

.business-management .contracts-count {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a202c;
}

.business-management .contracts-label {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 0.25rem;
}

.business-management .revenue-info {
  font-size: 1.1rem;
  font-weight: 700;
  color: #10b981;
}

/* Action Buttons */
.business-management .btn-view {
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  color: white;
  border: none;
  padding: 0.625rem 1.25rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.business-management .btn-view:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 94, 76, 0.4);
}

@keyframes bm-spin {
  to {
    transform: rotate(360deg);
  }
}

.business-management .empty-icon,
.business-management .error-icon {
  font-size: 4rem;
  margin-bottom: 1rem;
  display: block;
}

.business-management .error-icon {
  filter: drop-shadow(0 4px 8px rgba(245, 158, 11, 0.3));
}

.business-management .empty-state h3,
.business-management .error-state h3 {
  font-size: 1.5rem;
  color: #1a202c;
  margin-bottom: 0.5rem;
}

.business-management .empty-state p,
.business-management .error-state p {
  color: #718096;
  margin-bottom: 1.5rem;
}

.business-management .btn-retry {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  padding: 0.875rem 2rem;
  border-radius: 12px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.business-management .btn-retry:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.business-management .btn-save:disabled,
.business-management .btn-cancel:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Modal Styles */
.business-management .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.business-management .modal-content {
  background: white;
  border-radius: 20px;
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.business-management .modal-header {
  padding: 2rem;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-radius: 20px 20px 0 0;
}

.business-management .modal-header h2 {
  margin: 0;
  font-size: 1.75rem;
}

.business-management .modal-close {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  font-size: 1.5rem;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.business-management .modal-close:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(90deg);
}

.business-management .modal-body {
  padding: 2rem;
}

.business-management .detail-section {
  margin-bottom: 2rem;
}

.business-management .detail-section:last-child {
  margin-bottom: 0;
}

.business-management .detail-section h3 {
  font-size: 1.25rem;
  color: #1a202c;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e2e8f0;
}

.business-management .detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.business-management .detail-item label {
  display: block;
  font-size: 0.85rem;
  color: #718096;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}

.business-management .detail-item p {
  font-size: 1rem;
  color: #1a202c;
  font-weight: 500;
  margin: 0;
}

.business-management .modal-footer {
  padding: 1.5rem 2rem;
  border-top: 1px solid #e2e8f0;
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  background: #f7fafc;
  border-radius: 0 0 20px 20px;
}

.business-management .btn-secondary {
  background: white;
  color: #4a5568;
  border: 2px solid #e2e8f0;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.business-management .btn-secondary:hover {
  background: #f7fafc;
  border-color: #cbd5e0;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .business-management .businesses-table {
    font-size: 0.9rem;
  }
}

@media (max-width: 768px) {
  .business-management {
    padding: 1rem;
  }

  .business-management-header h1 {
    font-size: 1.75rem;
  }

  .business-management .stats-grid {
    grid-template-columns: 1fr;
  }

  .business-management .filters-section {
    flex-direction: column;
  }

  .business-management .search-box {
    min-width: 100%;
  }

  .business-management .filter-group {
    width: 100%;
    flex-direction: column;
  }

  .business-management .filter-select {
    width: 100%;
  }

  .business-management .businesses-table-container {
    overflow-x: auto;
  }

  .business-management .businesses-table {
    min-width: 1000px;
  }

  .business-management .modal-content {
    width: 95%;
    max-height: 95vh;
  }

  .business-management .detail-grid {
    grid-template-columns: 1fr;
  }
}

/* DiscountManagement.css */
.discount-management {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 2rem;
}

.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.page-header div {
  flex: 1 1;
}

.page-header h1 {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-subtitle {
  font-size: 1rem;
  color: #666;
  margin: 0;
}

.create-discount-btn {
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.875rem;
}

.create-discount-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(255, 95, 95, 0.3);
}

/* Discounts Table */
.discounts-table-container {
  background: white;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.discounts-table {
  width: 100%;
  border-collapse: collapse;
}

.discounts-table th {
  background: #f8f9fa;
  padding: 1rem;
  text-align: left;
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #e0e0e0;
  font-size: 0.875rem;
}

.discounts-table td {
  padding: 1rem;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}

.discounts-table tr:hover {
  background: #f8f9fa;
}

/* Discount Info */
.discount-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.discount-name {
  font-weight: 600;
  color: #333;
  font-size: 0.875rem;
}

.discount-description {
  color: #666;
  font-size: 0.75rem;
}

.discount-code {
  background: #f1f3f4;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  font-size: 0.75rem;
  font-weight: 600;
  color: #333;
}

.discount-type {
  font-size: 0.75rem;
  color: #666;
  text-transform: capitalize;
}

/* Usage Info */
.usage-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 80px;
}

.usage-bar {
  width: 100%;
  height: 4px;
  background: #e0e0e0;
  border-radius: 2px;
  overflow: hidden;
}

.usage-fill {
  height: 100%;
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  transition: width 0.3s ease;
}

.validity-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  font-size: 0.75rem;
  color: #666;
}

/* Badges */
.status-badge,
.user-type-badge {
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

/* Action Buttons */
.action-buttons {
  display: flex;
  gap: 0.5rem;
}

.action-btn {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  transition: all 0.2s ease;
}

.edit-btn {
  background: #FEF3C7;
  color: #F59E0B;
}

.edit-btn:hover {
  background: #FDE68A;
}

.activate-btn {
  background: #D1FAE5;
  color: #10B981;
}

.activate-btn:hover {
  background: #A7F3D0;
}

.deactivate-btn {
  background: #FEE2E2;
  color: #EF4444;
}

.deactivate-btn:hover {
  background: #FECACA;
}

.delete-btn {
  background: #FEE2E2;
  color: #EF4444;
}

.delete-btn:hover {
  background: #FECACA;
}

/* Modal */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.discount-management .modal-content {
  background: white;
  border-radius: 16px;
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.discount-management .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  background: #f8f9fa;
}

.discount-management .modal-header h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
}

.discount-management .modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  padding: 0.25rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.discount-management .modal-close:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #333;
}

.discount-management .modal-body {
  padding: 1.5rem;
  overflow-y: auto;
  max-height: 70vh;
}

/* Form */
.discount-management .discount-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.discount-management .form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.discount-management .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.discount-management .form-group.full-width {
  grid-column: 1 / -1;
}

.discount-management .form-group label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #333;
}

.discount-management .form-group input,
.form-group select,
.form-group textarea {
  padding: 0.75rem;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 0.875rem;
  transition: all 0.2s ease;
}

.discount-management .form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #FF5F5F;
  box-shadow: 0 0 0 3px rgba(255, 95, 95, 0.1);
}

.discount-management .form-group textarea {
  resize: vertical;
  min-height: 80px;
}

.discount-management .form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e0e0e0;
}

/* .btn-primary,
.btn-secondary {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.875rem;
}

.btn-primary {
  background: linear-gradient(135deg, #FF5F5F, #FF9F5F);
  color: white;
}

.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(255, 95, 95, 0.3);
}

.btn-secondary {
  background: #6c757d;
  color: white;
}

.btn-secondary:hover {
  background: #5a6268;
} */

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .discount-management {
    padding: 1rem;
  }

  .page-header {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .discounts-table-container {
    overflow-x: auto;
  }

  .discounts-table {
    min-width: 1000px;
  }

  .modal-content {
    width: 95%;
    margin: 1rem;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-actions {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .discount-management {
    padding: 0.5rem;
  }

  .page-header h1 {
    font-size: 1.5rem;
  }

  .action-buttons {
    flex-direction: column;
  }
}

/* Admin Login Styles - Based on EnhancedLanding Design */
:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-red-alt: #ff3366;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
  --admin-blue: #667eea;
  --admin-blue-dark: #5a67d8;
  --admin-purple: #764ba2;
  --success-green: #10b981;
  --warning-yellow: #f59e0b;
  --error-red: #ef4444;
}

.admin-login-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
  color: #232323;
  color: var(--primary-dark);
  overflow-x: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

/* Animated Background - Same as AdminFirstLogin */
.admin-login-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    radial-gradient(circle at 20% 80%, rgba(102, 126, 234, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(255, 51, 100, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(118, 75, 162, 0.1) 0%, transparent 50%);
  z-index: 0;
}

.admin-login-card {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 25px;
  padding: 3rem;
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(255, 255, 255, 0.1);
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  max-width: 450px;
  width: 100%;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.admin-login-card:hover {
  transform: translateY(-5px);
  box-shadow: 
    0 30px 60px rgba(0, 0, 0, 0.15),
    0 0 0 1px rgba(255, 255, 255, 0.1);
}

/* Header Section */
.admin-login-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.admin-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.admin-logo svg {
  filter: drop-shadow(0 4px 8px rgba(102, 126, 234, 0.3));
  transition: transform 0.3s ease;
}

.admin-logo:hover svg {
  transform: scale(1.1);
}

.admin-login-header h1 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  background: linear-gradient(45deg, #667eea, #764ba2);
  background: linear-gradient(45deg, var(--admin-blue), var(--admin-purple));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -1px;
}

.admin-login-header p {
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.8;
  font-size: 1.1rem;
  line-height: 1.5;
  margin: 0;
}

/* Form Styles */
.admin-login-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-form-group {
  display: flex;
  flex-direction: column;
}

.admin-form-group label {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.admin-form-group input[type="text"],
.admin-form-group input[type="email"] {
  padding: 1rem 1.5rem;
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  border-radius: 12px;
  background: #ffffff;
  background: var(--primary-white);
  color: #232323;
  color: var(--primary-dark);
  font-size: 1rem;
  transition: all 0.3s ease;
  outline: none;
}

.admin-form-group input[type="text"]:focus,
.admin-form-group input[type="email"]:focus {
  border-color: #667eea;
  border-color: var(--admin-blue);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(102, 126, 234, 0.2);
}

.admin-password-input {
  position: relative;
  display: flex;
  align-items: center;
}

.admin-password-input input {
  flex: 1 1;
  padding: 1rem 3rem 1rem 1.5rem;
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  border-radius: 12px;
  background: #ffffff;
  background: var(--primary-white);
  color: #232323;
  color: var(--primary-dark);
  font-size: 1rem;
  transition: all 0.3s ease;
  outline: none;
}

.admin-password-input input::placeholder {
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.5;
}

.admin-password-input input:focus {
  border-color: #667eea;
  border-color: var(--admin-blue);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(102, 126, 234, 0.2);
}

.admin-password-toggle {
  position: absolute;
  right: 1rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.6;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.admin-password-toggle:hover {
  opacity: 1;
}

/* Form Options */
.admin-form-options {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0.5rem 0;
}

.admin-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 0.9rem;
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.8;
}

.admin-checkbox input[type="checkbox"] {
  margin-right: 0.5rem;
  accent-color: #667eea;
  accent-color: var(--admin-blue);
}

/* Error Messages */
.admin-error-message {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
  border: 1px solid #fecaca;
  color: #ef4444;
  color: var(--error-red);
  padding: 1rem;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1rem;
}

/* Button Styles */
.admin-login-btn {
  background: linear-gradient(45deg, #667eea, #764ba2);
  background: linear-gradient(45deg, var(--admin-blue), var(--admin-purple));
  color: #ffffff;
  color: var(--primary-white);
  border: none;
  border-radius: 12px;
  padding: 1.2rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.admin-login-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.admin-login-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
}

/* Loading Spinner */
.admin-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid #ffffff;
  border-top: 2px solid var(--primary-white);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Footer */
.admin-login-footer {
  text-align: center;
  margin-top: 1.5rem;
}

.admin-forgot-link {
  color: #667eea;
  color: var(--admin-blue);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: color 0.3s ease;
}

.admin-forgot-link:hover {
  color: #764ba2;
  color: var(--admin-purple);
  text-decoration: underline;
}

/* Info Section */
.admin-login-info {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #ececec;
  border-top: 1px solid var(--light-gray);
  text-align: center;
}

.admin-login-info p {
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.7;
  font-size: 0.9rem;
  margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  .admin-login-container {
    padding: 1rem;
  }
  
  .admin-login-card {
    padding: 2rem;
    margin: 1rem 0;
  }
  
  .admin-login-header h1 {
    font-size: 1.8rem;
  }
  
  .admin-login-header p {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  .admin-login-card {
    padding: 1.5rem;
    border-radius: 15px;
  }
  
  .admin-login-header h1 {
    font-size: 1.6rem;
  }
  
  .admin-password-input input,
  .admin-form-group input[type="text"],
  .admin-form-group input[type="email"] {
    padding: 0.875rem 2.5rem 0.875rem 1rem;
  }
  
  .admin-login-btn {
    padding: 1rem 1.5rem;
    font-size: 0.95rem;
  }
}

/* Success State Animation */
.admin-login-card.success {
  animation: successPulse 0.6s ease-out;
}

@keyframes successPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.02); }
  100% { transform: scale(1); }
}

/* Focus States for Accessibility */
.admin-login-btn:focus,
.admin-password-toggle:focus,
.admin-password-input input:focus,
.admin-form-group input:focus {
  outline: 2px solid #667eea;
  outline: 2px solid var(--admin-blue);
  outline-offset: 2px;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  .admin-login-card {
    border: 3px solid #232323;
    border: 3px solid var(--primary-dark);
  }
  
  .admin-password-input input,
  .admin-form-group input {
    border: 2px solid #232323;
    border: 2px solid var(--primary-dark);
  }
  
  .admin-login-btn {
    background: #232323;
    background: var(--primary-dark);
  }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  .admin-login-card,
  .admin-login-btn,
  .admin-password-input input,
  .admin-form-group input,
  .admin-logo svg {
    transition: none;
  }
  
  .admin-spinner {
    animation: none;
  }
  
  .admin-login-card:hover {
    transform: none;
  }
}
/* Admin First Login Styles - Based on EnhancedLanding Design */
:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-red-alt: #ff3366;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
  --admin-blue: #667eea;
  --admin-blue-dark: #5a67d8;
  --admin-purple: #764ba2;
  --success-green: #10b981;
  --warning-yellow: #f59e0b;
  --error-red: #ef4444;
}

.admin-first-login-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
  color: #232323;
  color: var(--primary-dark);
  overflow-x: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

/* Animated Background - Same as EnhancedLanding */
.admin-first-login-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    radial-gradient(circle at 20% 80%, rgba(102, 126, 234, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(255, 51, 100, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(118, 75, 162, 0.1) 0%, transparent 50%);
  z-index: 0;
}

.admin-first-login-card {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 25px;
  padding: 3rem;
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(255, 255, 255, 0.1);
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  max-width: 500px;
  width: 100%;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.admin-first-login-card:hover {
  transform: translateY(-5px);
  box-shadow: 
    0 30px 60px rgba(0, 0, 0, 0.15),
    0 0 0 1px rgba(255, 255, 255, 0.1);
}

/* Header Section */
.admin-first-login-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.admin-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.admin-logo svg {
  filter: drop-shadow(0 4px 8px rgba(102, 126, 234, 0.3));
  transition: transform 0.3s ease;
}

.admin-logo:hover svg {
  transform: scale(1.1);
}

.admin-first-login-header h1 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  background: linear-gradient(45deg, #667eea, #764ba2);
  background: linear-gradient(45deg, var(--admin-blue), var(--admin-purple));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -1px;
}

.admin-first-login-header p {
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.8;
  font-size: 1.1rem;
  line-height: 1.5;
  margin: 0;
}

/* Security Notice */
.admin-security-notice {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 15px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  border: 1px solid #cbd5e0;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.security-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  margin-top: 0.25rem;
}

.security-text h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 0.75rem 0;
}

.security-text ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.security-text li {
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.8;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
  position: relative;
  padding-left: 1.25rem;
}

.security-text li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #10b981;
  color: var(--success-green);
  font-weight: bold;
}

/* Form Styles */
.admin-first-login-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-form-group {
  display: flex;
  flex-direction: column;
}

.admin-form-group label {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.admin-password-input {
  position: relative;
  display: flex;
  align-items: center;
}

.admin-password-input input {
  flex: 1 1;
  padding: 1rem 3rem 1rem 1.5rem;
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  border-radius: 12px;
  background: #ffffff;
  background: var(--primary-white);
  color: #232323;
  color: var(--primary-dark);
  font-size: 1rem;
  transition: all 0.3s ease;
  outline: none;
}

.admin-password-input input::placeholder {
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.5;
}

.admin-password-input input:focus {
  border-color: #667eea;
  border-color: var(--admin-blue);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(102, 126, 234, 0.2);
}

.admin-password-toggle {
  position: absolute;
  right: 1rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.6;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.admin-password-toggle:hover {
  opacity: 1;
}

/* Error Messages */
.admin-error-message,
.admin-validation-error {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
  border: 1px solid #fecaca;
  color: #ef4444;
  color: var(--error-red);
  padding: 1rem;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1rem;
}

.admin-validation-error {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  border: 1px solid #fde68a;
  color: #f59e0b;
  color: var(--warning-yellow);
}

/* Button Styles */
.admin-set-password-btn {
  background: linear-gradient(45deg, #667eea, #764ba2);
  background: linear-gradient(45deg, var(--admin-blue), var(--admin-purple));
  color: #ffffff;
  color: var(--primary-white);
  border: none;
  border-radius: 12px;
  padding: 1.2rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.admin-set-password-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.admin-set-password-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
}

/* Loading Spinner */
.admin-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid #ffffff;
  border-top: 2px solid var(--primary-white);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Info Section */
.admin-first-login-info {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #ececec;
  border-top: 1px solid var(--light-gray);
  text-align: center;
}

.admin-first-login-info p {
  color: #232323;
  color: var(--primary-dark);
  opacity: 0.7;
  font-size: 0.9rem;
  margin: 0.5rem 0;
}

.admin-first-login-info strong {
  color: #667eea;
  color: var(--admin-blue);
  font-weight: 600;
}

/* Responsive Design */
@media (max-width: 768px) {
  .admin-first-login-container {
    padding: 1rem;
  }
  
  .admin-first-login-card {
    padding: 2rem;
    margin: 1rem 0;
  }
  
  .admin-first-login-header h1 {
    font-size: 1.8rem;
  }
  
  .admin-first-login-header p {
    font-size: 1rem;
  }
  
  .admin-security-notice {
    flex-direction: column;
    text-align: center;
  }
  
  .security-text {
    text-align: left;
  }
}

@media (max-width: 480px) {
  .admin-first-login-card {
    padding: 1.5rem;
    border-radius: 15px;
  }
  
  .admin-first-login-header h1 {
    font-size: 1.6rem;
  }
  
  .admin-password-input input {
    padding: 0.875rem 2.5rem 0.875rem 1rem;
  }
  
  .admin-set-password-btn {
    padding: 1rem 1.5rem;
    font-size: 0.95rem;
  }
  
  .admin-security-notice {
    padding: 1rem;
  }
}

/* Success State Animation */
.admin-first-login-card.success {
  animation: successPulse 0.6s ease-out;
}

@keyframes successPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.02); }
  100% { transform: scale(1); }
}

/* Focus States for Accessibility */
.admin-set-password-btn:focus,
.admin-password-toggle:focus,
.admin-password-input input:focus {
  outline: 2px solid #667eea;
  outline: 2px solid var(--admin-blue);
  outline-offset: 2px;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  .admin-first-login-card {
    border: 3px solid #232323;
    border: 3px solid var(--primary-dark);
  }
  
  .admin-password-input input {
    border: 2px solid #232323;
    border: 2px solid var(--primary-dark);
  }
  
  .admin-set-password-btn {
    background: #232323;
    background: var(--primary-dark);
  }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  .admin-first-login-card,
  .admin-set-password-btn,
  .admin-password-input input,
  .admin-logo svg {
    transition: none;
  }
  
  .admin-spinner {
    animation: none;
  }
  
  .admin-first-login-card:hover {
    transform: none;
  }
}


/* frontend/src/pages/admin/auth/AdminForgotPassword/AdminForgotPassword.css */
/* frontend/src/pages/admin/auth/AdminResetPassword/AdminResetPassword.css */

.admin-forgot-container,
.admin-reset-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 2rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.admin-forgot-card,
.admin-reset-card {
  background: white;
  padding: 3rem;
  border-radius: 16px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 420px;
}

.admin-forgot-header,
.admin-reset-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.admin-success-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.admin-forgot-header h1,
.admin-reset-header h1 {
  color: #333;
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.admin-forgot-header p,
.admin-reset-header p {
  color: #666;
  font-size: 1rem;
  margin: 0;
  line-height: 1.5;
}

.admin-forgot-form,
.admin-reset-form {
  margin-bottom: 1.5rem;
}

.admin-form-group {
  margin-bottom: 1.5rem;
}

.admin-form-group label {
  display: block;
  margin-bottom: 0.5rem;
  color: #333;
  font-weight: 500;
  font-size: 0.9rem;
}

.admin-form-group input {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 2px solid #e1e5e9;
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.2s ease;
  background: #fafbfc;
}

.admin-form-group input:focus {
  outline: none;
  border-color: #667eea;
  background: white;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.admin-password-input {
  position: relative;
}

.admin-password-toggle {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  color: #666;
  padding: 0;
}

.admin-password-requirements {
  margin-top: 0.5rem;
}

.admin-password-requirements small {
  color: #666;
  font-size: 0.8rem;
}

.admin-reset-btn,
.admin-back-btn {
  width: 100%;
  padding: 1rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-decoration: none;
}

.admin-reset-btn:hover:not(:disabled),
.admin-back-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

.admin-reset-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.admin-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.admin-forgot-footer,
.admin-reset-footer {
  text-align: center;
  margin-top: 1.5rem;
}

.admin-back-link {
  color: #667eea;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
}

.admin-back-link:hover {
  text-decoration: underline;
}

.admin-error-message,
.admin-validation-error {
  background: #fee;
  color: #c53030;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  border: 1px solid #fed7d7;
}

.admin-forgot-info {
  background: #f7fafc;
  padding: 1.5rem;
  border-radius: 8px;
  margin-bottom: 2rem;
  border: 1px solid #e2e8f0;
}

.admin-forgot-info p {
  margin: 0;
  color: #4a5568;
  font-size: 0.9rem;
  line-height: 1.5;
}

.admin-forgot-actions,
.admin-reset-actions {
  margin-top: 2rem;
}

@media (max-width: 480px) {
  .admin-forgot-container,
  .admin-reset-container {
    padding: 1rem;
  }
  
  .admin-forgot-card,
  .admin-reset-card {
    padding: 2rem;
  }
  
  .admin-forgot-header h1,
  .admin-reset-header h1 {
    font-size: 1.5rem;
  }
}
/* Color Palette Variables - Match iComerge Design System */
:root {
    --primary-dark: #232323;
    --primary-white: #ffffff;
    --accent-red: #ff3364;
    --light-gray: #ececec;
    --accent-red-alt: #ff3366;
    --accent-orange: #ff5e4c;
    --accent-light-orange: #ff7e70;
    --section-bg: #FF5E4D;
}

.checkout-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
  font-family: 'Helvetica Neue', Arial, sans-serif;
  color: #232323;
  color: var(--primary-dark);
  overflow-x: hidden;
  position: relative;
}

.checkout-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  display: grid;
  grid-template-columns: 1fr 400px;
  grid-gap: 40px;
  gap: 40px;
}

/* Left Side - Checkout Steps */
.checkout-steps {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 15px;
  padding: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ececec;
  border: 1px solid var(--light-gray);
  position: relative;
  z-index: 2;
}

.checkout-title {
  font-size: 32px;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 30px 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.checkout-step {
  display: none;
}

.checkout-step.active {
  display: block;
}

.checkout-step h2 {
  font-size: 24px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 20px 0;
}

/* Delivery Options */
.delivery-options {
  display: flex;
  gap: 16px;
  margin-bottom: 30px;
}

.delivery-option {
  flex: 1 1;
  padding: 16px;
  border: 2px solid #e0e0e0;
  background: white;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}

.delivery-option:hover {
  border-color: #999;
}

.delivery-option.selected {
  border-color: #ff3364;
  border-color: var(--accent-red);
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  background: linear-gradient(135deg, var(--accent-red) 0%, var(--accent-orange) 100%);
  color: #ffffff;
  color: var(--primary-white);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.3);
}

.delivery-icon {
  font-size: 18px;
}

/* Customer Information */
.customer-info {
  margin-bottom: 30px;
}

.checkout-page .form-group {
  margin-bottom: 20px;
}

.checkout-page .form-group label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin-bottom: 8px;
}

.checkout-page .form-group input {
  width: 100%;
  padding: 12px;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.2s ease;
}

.checkout-page .form-group input:focus {
  outline: none;
  border-color: #000;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 16px;
  gap: 16px;
}

.manual-address-link {
  display: block;
  font-size: 12px;
  color: #666;
  text-decoration: underline;
  margin-top: 4px;
}

/* Payment Information */
.payment-info {
  margin-bottom: 30px;
}

/* Step Buttons */
.step-button {
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  background: linear-gradient(135deg, var(--accent-red) 0%, var(--accent-orange) 100%);
  color: #ffffff;
  color: var(--primary-white);
  border: none;
  padding: 18px 32px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
  box-shadow: 0 6px 20px rgba(255, 51, 100, 0.4);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.step-button:hover:not(:disabled) {
  background: linear-gradient(135deg, #ff5e4c 0%, #ff7e70 100%);
  background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-light-orange) 100%);
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 51, 100, 0.6);
}

.step-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.step-button.secondary {
  background: #f0f0f0;
  color: #000;
}

.step-button.secondary:hover:not(:disabled) {
  background: #e0e0e0;
}

.step-button.primary {
  background: #007bff;
}

.step-button.primary:hover:not(:disabled) {
  background: #0056b3;
}

.step-buttons {
  display: flex;
  gap: 16px;
}

.step-buttons .step-button {
  flex: 1 1;
}

/* Order Summary */
.order-summary {
  margin-bottom: 30px;
}

.order-summary p {
  color: #666;
  margin-bottom: 20px;
}

.order-details {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
}

.order-details h3 {
  font-size: 16px;
  font-weight: 600;
  color: #000;
  margin: 0 0 12px 0;
}

.order-details p {
  margin: 8px 0;
  font-size: 14px;
  color: #333;
}

/* Right Side - Order Summary Sidebar */
.order-summary-sidebar {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 15px;
  padding: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ececec;
  border: 1px solid var(--light-gray);
  height: -webkit-fit-content;
  height: fit-content;
  position: relative;
  z-index: 2;
}

.order-summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.order-summary-header h3 {
  font-size: 18px;
  font-weight: 600;
  color: #000;
  margin: 0;
}

.edit-link {
  font-size: 14px;
  color: #666;
  text-decoration: underline;
}

/* Price Summary */
.price-summary {
  margin-bottom: 20px;
}

.price-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 14px;
}

.price-line.total {
  font-weight: 600;
  font-size: 16px;
  border-top: 1px solid #e0e0e0;
  margin-top: 8px;
  padding-top: 16px;
}

/* Delivery Info */
.delivery-info {
  margin-bottom: 20px;
}

.delivery-info p {
  font-size: 14px;
  color: #666;
  margin: 0;
}

/* Product Summary */
.product-summary {
  display: flex;
  gap: 16px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

.checkout-page .product-image {
  width: 80px;
  height: 80px;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}

.checkout-page .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-details {
  flex: 1 1;
}

.checkout-page .product-price {
  font-size: 16px;
  font-weight: 600;
  color: #000;
  margin-bottom: 4px;
}

.product-name {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  margin-bottom: 2px;
}

.product-category {
  font-size: 12px;
  color: #666;
  margin-bottom: 8px;
}

.product-variant {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 8px;
}

.product-variant span {
  font-size: 12px;
  color: #666;
}

.stock-warning {
  margin-top: 8px;
}

.warning-text {
  font-size: 12px;
  color: #e53e3e;
  font-weight: 500;
}

/* Loading and Error States */
.loading-container,
.error-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  text-align: center;
}

/* .loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid #e2e8f0;
  border-top: 4px solid #000;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem;
} */

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.error-container h2 {
  color: #e53e3e;
  margin-bottom: 1rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .checkout-container {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
  
  .checkout-steps {
    padding: 20px;
  }
  
  .order-summary-sidebar {
    padding: 20px;
  }
  
  .form-row {
    grid-template-columns: 1fr;
  }
  
  .delivery-options {
    flex-direction: column;
  }
  
  .step-buttons {
    flex-direction: column;
  }
  
  .product-summary {
    flex-direction: column;
  }
  
  .checkout-page .product-image {
    width: 100%;
    height: 120px;
  }
}

/* ProductSelectionPage - Mobile-First Responsive Design */

:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
}

/* Base Styles - Mobile First */
.product-selection-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
  color: #232323;
  color: var(--primary-dark);
}

/* Product Layout - Mobile (Stack vertically) */
.product-layout {
  display: flex;
  flex-direction: column;
}

/* Image Gallery Section - Mobile */
.image-gallery-section {
  position: relative;
  width: 100%;
  padding: 1rem;
  background: #ffffff;
  background: var(--primary-white);
}

/* Image Sidebar - Mobile (Horizontal scroll) */
.image-sidebar {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.5rem 0 1rem;
  margin-bottom: 1rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}

.image-sidebar::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}

.thumbnail-container {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border: 2px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

.thumbnail-container.active {
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
  box-shadow: 0 2px 8px rgba(255, 94, 76, 0.3);
}

.thumbnail-container.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #ff5e4c;
  background: var(--accent-orange);
}

.thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Main Image Container - Mobile */
.main-image-container {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1rem;
}

.rating-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red), var(--accent-orange));
  color: #ffffff;
  color: var(--primary-white);
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 2px 8px rgba(255, 94, 76, 0.4);
}

.product-selection-page .star {
  color: #ffd700;
  font-size: 14px;
}

.main-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.main-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.1));
}

/* Image Navigation - Mobile */
.image-navigation {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.nav-arrow {
  width: 40px;
  height: 40px;
  border: none;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  color: #ffffff;
  color: var(--primary-white);
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(255, 94, 76, 0.4);
  touch-action: manipulation;
}

.nav-arrow:active:not(:disabled) {
  transform: scale(0.95);
}

.nav-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Product Details Section - Mobile */
.product-details-section {
  padding: 1.5rem;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 24px 24px 0 0;
  margin-top: -20px;
  position: relative;
  z-index: 5;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
}

.product-name {
  font-size: 1.75rem;
  font-weight: 800;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 0.5rem 0;
  line-height: 1.3;
}

.product-category {
  font-size: 0.875rem;
  color: #ff5e4c;
  color: var(--accent-orange);
  margin: 0 0 1rem 0;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.product-selection-page .product-price {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #ececec;
  border-bottom: 2px solid var(--light-gray);
}

.current-price {
  font-size: 2rem;
  font-weight: 800;
  color: #ff3364;
  color: var(--accent-red);
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red), var(--accent-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Variant Selection - Mobile */
.variant-selection {
  margin-bottom: 1.5rem;
}

.size-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.size-header h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0;
}

.size-chart-link {
  font-size: 0.875rem;
  color: #ff5e4c;
  color: var(--accent-orange);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid #ff5e4c;
  border-bottom: 1px solid var(--accent-orange);
  transition: all 0.2s ease;
}

.size-chart-link:active {
  opacity: 0.7;
}

.size-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
  grid-gap: 0.5rem;
  gap: 0.5rem;
}

.size-option {
  padding: 0.875rem 0.5rem;
  border: 2px solid #e2e8f0;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  font-size: 0.875rem;
  text-align: center;
  touch-action: manipulation;
  -webkit-user-select: none;
          user-select: none;
}

.size-option:active:not(:disabled) {
  transform: scale(0.95);
}

.size-option.selected {
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  color: #ffffff;
  color: var(--primary-white);
  box-shadow: 0 4px 12px rgba(255, 94, 76, 0.3);
}

.size-option.unavailable {
  opacity: 0.3;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* Quantity Selection - Mobile */
.quantity-selection {
  margin-bottom: 1.5rem;
}

.quantity-selection h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #232323;
  color: var(--primary-dark);
}

.quantity-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem;
  background: #ececec;
  background: var(--light-gray);
  border-radius: 12px;
  width: -webkit-fit-content;
  width: fit-content;
}

.quantity-btn {
  width: 44px;
  height: 44px;
  border: none;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 8px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
          user-select: none;
  touch-action: manipulation;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.quantity-btn:active:not(:disabled) {
  transform: scale(0.9);
  background: #ff5e4c;
  background: var(--accent-orange);
  color: #ffffff;
  color: var(--primary-white);
}

.quantity-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.quantity-display {
  min-width: 40px;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
}

/* Purchase Button - Mobile */
.purchase-button {
  width: 100%;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  color: #ffffff;
  color: var(--primary-white);
  border: none;
  padding: 1.125rem 1.5rem;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 1.5rem;
  box-shadow: 0 8px 24px rgba(255, 94, 76, 0.3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  touch-action: manipulation;
  position: relative;
  overflow: hidden;
}

.purchase-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.5s ease;
}

.purchase-button:active:not(:disabled)::before {
  left: 100%;
}

.purchase-button:active:not(:disabled) {
  transform: scale(0.98);
  box-shadow: 0 4px 12px rgba(255, 94, 76, 0.3);
}

.purchase-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Product Description - Mobile */
.product-description {
  padding-top: 1.5rem;
  border-top: 2px solid #ececec;
  border-top: 2px solid var(--light-gray);
}

.product-description h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 0.75rem 0;
}

.product-description p {
  font-size: 0.9375rem;
  color: #4a5568;
  line-height: 1.7;
  margin: 0;
}

/* Error Message - Mobile */
.error-message {
  background: rgba(255, 94, 76, 0.1);
  border-left: 4px solid #ff3364;
  border-left: 4px solid var(--accent-red);
  padding: 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

/* Loading and Error States - Mobile */
.product-selection-page .loading-container,
.product-selection-page .error-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  text-align: center;
  gap: 1rem;
  padding: 2rem;
}

.product-selection-page .loading-container .loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 94, 76, 0.1);
  border-top: 4px solid #ff5e4c;
  border-top: 4px solid var(--accent-orange);
  border-right: 4px solid #ff3364;
  border-right: 4px solid var(--accent-red);
  border-radius: 50%;
  animation: product-selection-spin 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite;
}

@keyframes product-selection-spin {
  to {
    transform: rotate(360deg);
  }
}

.product-selection-page .error-container h2 {
  font-size: 1.5rem;
  color: #232323;
  color: var(--primary-dark);
  margin: 0;
}

.product-selection-page .error-container p {
  color: #718096;
  font-size: 1rem;
}

/* Tablet Styles (768px+) */
@media (min-width: 768px) {
  .product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
  }
  
  .image-gallery-section {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 2rem;
    display: grid;
    grid-template-columns: 80px 1fr;
    grid-gap: 1rem;
    gap: 1rem;
  }
  
  .image-sidebar {
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
  }
  
  .thumbnail-container {
    width: 80px;
    height: 80px;
  }
  
  .product-details-section {
    height: 100vh;
    overflow-y: auto;
    padding: 2rem;
    margin-top: 0;
    border-radius: 0;
    box-shadow: none;
  }
  
  .product-name {
    font-size: 2.25rem;
  }
  
  .current-price {
    font-size: 2.5rem;
  }
  
  .size-grid {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 0.75rem;
  }
  
  .nav-arrow {
    width: 44px;
    height: 44px;
  }
}

/* Desktop Styles (1024px+) */
@media (min-width: 1024px) {
  .product-layout {
    max-width: 1400px;
    margin: 0 auto;
  }
  
  .image-gallery-section {
    grid-template-columns: 100px 1fr;
    gap: 1.5rem;
    padding: 2.5rem 1.5rem 2.5rem 2.5rem;
  }
  
  .thumbnail-container {
    width: 100px;
    height: 100px;
  }
  
  .thumbnail-container:hover {
    border-color: #ff5e4c;
    border-color: var(--accent-orange);
    transform: scale(1.05);
  }
  
  .product-details-section {
    padding: 2.5rem 2.5rem 2.5rem 1.5rem;
  }
  
  .product-name {
    font-size: 2.5rem;
  }
  
  .nav-arrow:hover:not(:disabled) {
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(255, 94, 76, 0.5);
  }
  
  .size-option:hover:not(:disabled) {
    border-color: #ff5e4c;
    border-color: var(--accent-orange);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 94, 76, 0.2);
  }
  
  .quantity-btn:hover:not(:disabled) {
    background: #ff5e4c;
    background: var(--accent-orange);
    color: #ffffff;
    color: var(--primary-white);
    transform: scale(1.05);
  }
  
  .purchase-button:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(255, 94, 76, 0.4);
  }
}

/* Large Desktop (1440px+) */
@media (min-width: 1440px) {
  .product-layout {
    max-width: 1600px;
  }
  
  .product-name {
    font-size: 3rem;
  }
  
  .current-price {
    font-size: 3rem;
  }
}

/* Safe Area for notched devices */
@supports (padding: max(0px)) {
  .product-details-section {
    padding-left: max(1.5rem, env(safe-area-inset-left));
    padding-right: max(1.5rem, env(safe-area-inset-right));
    padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
  }
}

/* Prevent text selection on interactive elements */
.size-option,
.quantity-btn,
.purchase-button,
.nav-arrow {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

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

/* Custom scrollbar for webkit browsers */
.product-details-section::-webkit-scrollbar {
  width: 8px;
}

.product-details-section::-webkit-scrollbar-track {
  background: #ececec;
  background: var(--light-gray);
  border-radius: 4px;
}

.product-details-section::-webkit-scrollbar-thumb {
  background: #ff5e4c;
  background: var(--accent-orange);
  border-radius: 4px;
}

.product-details-section::-webkit-scrollbar-thumb:hover {
  background: #ff3364;
  background: var(--accent-red);
}

/* Interactive Product Showcase - Mobile-First Design */

:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --light-gray: #ececec;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
  --success-green: #10b981;
  --warning-yellow: #f59e0b;
}

.interactive-showcase {
  min-height: 100vh;
  background: #ececec;
  background: var(--light-gray);
  position: relative;
  overflow-x: hidden;
  touch-action: pan-y;
}

/* Loading State */
.interactive-showcase.loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ececec 0%, #ffffff 100%);
  background: linear-gradient(135deg, var(--light-gray) 0%, var(--primary-white) 100%);
}

.interactive-showcase .loading-pulse {
  position: relative;
  width: 100px;
  height: 100px;
  margin-bottom: 2rem;
}

.interactive-showcase .pulse-circle {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  box-shadow: 0 8px 32px rgba(255, 94, 76, 0.3);
}

.interactive-showcase.loading .interactive-showcase p {
  font-size: 1.1rem;
  color: #232323;
  color: var(--primary-dark);
  font-weight: 600;
}

/* Error State */
.interactive-showcase.error .interactive-showcase {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  background: var(--primary-white);
}

.interactive-showcase .error-content {
  text-align: center;
  padding: 2rem;
}

.interactive-showcase .error-content h2 {
  font-size: 1.5rem;
  color: #232323;
  color: var(--primary-dark);
  margin: 1rem 0 0.5rem;
}

.interactive-showcase .error-content p {
  color: #718096;
  line-height: 1.6;
}

/* Top Bar */
.interactive-showcase .top-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
  z-index: 100;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.interactive-showcase .brand-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  letter-spacing: 0.5px;
}

.interactive-showcase .top-actions {
  display: flex;
  gap: 0.5rem;
}

.interactive-showcase .icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  background: var(--primary-white);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.interactive-showcase .icon-btn:active {
  transform: scale(0.95);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

/* Image Carousel */
.interactive-showcase .image-carousel {
  position: relative;
  height: 60vh;
  margin-top: 60px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0) 100%);
}

.interactive-showcase .carousel-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  -webkit-user-select: none;
          user-select: none;
}

.interactive-showcase .carousel-image:active {
  cursor: grabbing;
}

.interactive-showcase .carousel-image img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  filter: drop-shadow(0 10px 40px rgba(0, 0, 0, 0.15));
}

/* Image Indicators */
.interactive-showcase .image-indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.interactive-showcase .indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.interactive-showcase .indicator.active {
  width: 24px;
  border-radius: 4px;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  box-shadow: 0 2px 8px rgba(255, 94, 76, 0.4);
}

/* Product Details Card */
.interactive-showcase .product-details-card {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 32px 32px 0 0;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.1);
  z-index: 50;
  max-height: 50vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Custom scrollbar */
.interactive-showcase .product-details-card::-webkit-scrollbar {
  width: 4px;
}

.interactive-showcase .product-details-card::-webkit-scrollbar-track {
  background: transparent;
}

.interactive-showcase .product-details-card::-webkit-scrollbar-thumb {
  background: #ff5e4c;
  background: var(--accent-orange);
  border-radius: 2px;
}

.interactive-showcase .drag-handle {
  padding: 1rem 0 0.5rem;
  display: flex;
  justify-content: center;
}

.interactive-showcase .handle-bar {
  width: 40px;
  height: 4px;
  background: #cbd5e0;
  border-radius: 2px;
}

/* Quick Info */
.interactive-showcase .quick-info {
  padding: 0 1.5rem 1.5rem;
}

.interactive-showcase .product-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.interactive-showcase .product-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #232323;
  color: var(--primary-dark);
  line-height: 1.3;
  margin: 0;
  flex: 1 1;
}

.interactive-showcase .price-badge {
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 12px;
  font-size: 1.25rem;
  font-weight: 700;
  box-shadow: 0 4px 16px rgba(255, 94, 76, 0.3);
  white-space: nowrap;
}

/* Rating */
.interactive-showcase .rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.interactive-showcase .stars {
  color: #f59e0b;
  color: var(--warning-yellow);
  font-size: 1rem;
  letter-spacing: 2px;
}

.interactive-showcase .rating-text {
  font-size: 0.875rem;
  color: #718096;
}

/* Badges */
.interactive-showcase .badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.interactive-showcase .badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.375rem 0.75rem;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 600;
}

.interactive-showcase .badge.in-stock {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  color: var(--success-green);
}

.interactive-showcase .badge.fast-shipping {
  background: rgba(255, 94, 76, 0.1);
  color: #ff5e4c;
  color: var(--accent-orange);
}

/* Description */
.interactive-showcase .description-preview {
  margin-bottom: 1.5rem;
}

.interactive-showcase .description-preview p {
  font-size: 0.95rem;
  color: #4a5568;
  line-height: 1.6;
  margin: 0 0 0.5rem 0;
}

.description-preview p.truncated {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.description-preview p.expanded {
  display: block;
}

.read-more-btn {
  background: none;
  border: none;
  color: #ff5e4c;
  color: var(--accent-orange);
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}

/* Size Preview */
.interactive-showcase .size-preview {
  margin-bottom: 1.5rem;
}

.interactive-showcase .size-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.interactive-showcase .size-header span {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
}

.interactive-showcase .size-guide-btn {
  background: none;
  border: none;
  color: #ff5e4c;
  color: var(--accent-orange);
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: underline;
}

.interactive-showcase .size-chips {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.interactive-showcase .size-chip {
  padding: 0.5rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
}

.interactive-showcase .size-chip.unavailable {
  opacity: 0.4;
  text-decoration: line-through;
}

.interactive-showcase .more-sizes {
  font-size: 0.875rem;
  color: #718096;
  font-weight: 600;
}

/* Action Buttons */
.interactive-showcase .action-buttons {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  background: var(--primary-white);
  padding: 1rem 1.5rem;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.05);
  display: flex;
  gap: 0.75rem;
  z-index: 10;
}

/* Modal Overlay */
.interactive-showcase .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  z-index: 200;
}

/* Email Modal */
.interactive-showcase .email-modal {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 32px 32px 0 0;
  padding: 2rem;
  z-index: 201;
  max-height: 80vh;
  overflow-y: auto;
}

.interactive-showcase .email-modal form {
  position: relative;
}

.interactive-showcase .modal-close {
  position: absolute;
  top: -1rem;
  right: -1rem;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ececec;
  background: var(--light-gray);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.interactive-showcase .modal-icon {
  text-align: center;
  margin-bottom: 1rem;
}

.interactive-showcase .email-modal h2 {
  font-size: 1.75rem;
  font-weight: 800;
  color: #232323;
  color: var(--primary-dark);
  text-align: center;
  margin-bottom: 0.75rem;
}

.interactive-showcase .email-modal p {
  text-align: center;
  color: #718096;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.interactive-showcase .email-input-group {
  margin-bottom: 1.5rem;
}

.interactive-showcase .email-input-group input {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 1rem;
  outline: none;
  transition: all 0.2s ease;
}

.interactive-showcase .email-input-group input:focus {
  border-color: #ff5e4c;
  border-color: var(--accent-orange);
  box-shadow: 0 0 0 4px rgba(255, 94, 76, 0.1);
}

.interactive-showcase .submit-email-btn {
  width: 100%;
  padding: 1rem;
  background: linear-gradient(135deg, #ff5e4c, #ff3364);
  background: linear-gradient(135deg, var(--accent-orange), var(--accent-red));
  color: white;
  border: none;
  border-radius: 12px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 8px 24px rgba(255, 94, 76, 0.3);
}

.interactive-showcase .submit-email-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.interactive-showcase .submit-email-btn:active:not(:disabled) {
  transform: scale(0.98);
}

.interactive-showcase .privacy-note {
  font-size: 0.75rem;
  color: #a0aec0;
  text-align: center;
  margin-top: 1rem;
}

/* Success Message */
.interactive-showcase .success-message {
  text-align: center;
  padding: 2rem 0;
}

.interactive-showcase .success-icon {
  margin-bottom: 1rem;
}

.interactive-showcase .success-message h2 {
  color: #10b981;
  color: var(--success-green);
}

/* Size Guide Modal */
.interactive-showcase .size-guide-modal {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 32px 32px 0 0;
  z-index: 201;
  max-height: 70vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.interactive-showcase .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}

.interactive-showcase .modal-header h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0;
}

.interactive-showcase .modal-header button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ececec;
  background: var(--light-gray);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.interactive-showcase .size-guide-content {
  padding: 1.5rem;
  overflow-y: auto;
}

.interactive-showcase .size-guide-content p {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 1rem;
}

.interactive-showcase .size-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.interactive-showcase .size-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background: #ececec;
  background: var(--light-gray);
  border-radius: 12px;
}

.interactive-showcase .size-label {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
}

.interactive-showcase .size-status {
  font-size: 0.875rem;
  font-weight: 600;
}

.interactive-showcase .size-status.available {
  color: #10b981;
  color: var(--success-green);
}

.interactive-showcase .size-status.unavailable {
  color: #cbd5e0;
}

/* Responsive Design */

/* Tablet Portrait (768px and up) */
@media (min-width: 768px) {
  .interactive-showcase {
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  }
  
  .interactive-showcase .top-bar {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 2rem;
  }

  .interactive-showcase .brand-name {
    font-size: 1.25rem;
  }

  .interactive-showcase .product-title {
    font-size: 1.75rem;
  }

  .interactive-showcase .quick-info {
    padding: 0 2rem 2rem;
  }

  .interactive-showcase .action-buttons {
    padding: 1.25rem 2rem;
  }
}

/* Tablet Landscape / Small Laptop (1024px and up) */
@media (min-width: 1024px) {
  .interactive-showcase {
    max-width: 900px;
    display: flex;
    flex-direction: column;
  }
  
  .interactive-showcase .top-bar {
    max-width: 900px;
    height: 70px;
    padding: 0 2.5rem;
  }

  .interactive-showcase .brand-name {
    font-size: 1.5rem;
  }

  .interactive-showcase .icon-btn {
    width: 45px;
    height: 45px;
  }

  /* Split layout for larger screens */
  .interactive-showcase .content-wrapper {
    display: flex;
    gap: 2rem;
    padding: 1.5rem 2.5rem;
    margin-top: 70px;
    min-height: calc(100vh - 70px);
  }

  .interactive-showcase .image-carousel {
    flex: 0 0 50%;
    height: auto;
    min-height: 500px;
    margin-top: 0;
    display: flex;
    align-items: center;
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  }

  .interactive-showcase .carousel-image img {
    max-width: 100%;
    max-height: 500px;
  }

  .interactive-showcase .product-details-card {
    position: static;
    flex: 1 1;
    max-height: none;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
  }

  .interactive-showcase .drag-handle {
    display: none;
  }

  .interactive-showcase .quick-info {
    padding: 2rem;
    flex: 1 1;
  }

  .interactive-showcase .product-title {
    font-size: 2rem;
  }

  .interactive-showcase .price-badge {
    font-size: 1.5rem;
    padding: 0.75rem 1.5rem;
  }

  .interactive-showcase .action-buttons {
    position: static;
    padding: 1.5rem 2rem;
    box-shadow: none;
    border-top: 1px solid #e2e8f0;
  }

  /* Modals become centered overlays on larger screens */
  .interactive-showcase .email-modal,
  .interactive-showcase .size-guide-modal {
    max-width: 500px;
    left: 35%;
    transform: translateX(-50%);
    bottom: auto;
    transform: translate(-50%, -50%);
    border-radius: 24px;
  }
}

/* Desktop (1280px and up) */
@media (min-width: 1280px) {
  .interactive-showcase {
    max-width: 1200px;
  }
  
  .interactive-showcase .top-bar {
    max-width: 1200px;
  }

  .interactive-showcase .content-wrapper {
    gap: 3rem;
    padding: 2rem 3rem;
  }

  .interactive-showcase .image-carousel {
    flex: 0 0 55%;
    min-height: 600px;
  }

  .interactive-showcase .carousel-image img {
    max-height: 600px;
  }

  .interactive-showcase .quick-info {
    padding: 2.5rem;
  }

  .interactive-showcase .product-title {
    font-size: 2.25rem;
  }

  .interactive-showcase .description-preview p {
    font-size: 1.05rem;
    line-height: 1.7;
  }

  .interactive-showcase .size-chips {
    gap: 0.75rem;
  }

  .interactive-showcase .size-chip {
    padding: 0.625rem 1.25rem;
    font-size: 0.95rem;
  }

  .interactive-showcase .action-buttons {
    padding: 2rem 2.5rem;
    gap: 1rem;
  }
}

/* Large Desktop (1536px and up) */
@media (min-width: 1536px) {
  .interactive-showcase {
    max-width: 1400px;
  }
  
  .interactive-showcase .top-bar {
    max-width: 1400px;
    height: 80px;
  }

  .interactive-showcase .brand-name {
    font-size: 1.75rem;
  }

  .interactive-showcase .content-wrapper {
    padding: 2.5rem 4rem;
    gap: 4rem;
  }

  .interactive-showcase .image-carousel {
    min-height: 700px;
  }

  .interactive-showcase .carousel-image img {
    max-height: 700px;
  }

  .interactive-showcase .product-title {
    font-size: 2.5rem;
  }

  .interactive-showcase .price-badge {
    font-size: 1.75rem;
  }
}

/* Animations */
@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Safe Area for notched devices */
@supports (padding: max(0px)) {
  .interactive-showcase .top-bar {
    padding-top: max(0.5rem, env(safe-area-inset-top));
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }
  
  .interactive-showcase .action-buttons {
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
  }
}


/* Color Palette - Match iCoMerge Design */
:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --accent-orange: #ff5e4c;
  --light-gray: #ececec;
  --success-green: #4CAF50;
  --text-gray: #666666;
}

.purchase-success-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #ff5e4c 0%, #ff3366 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.success-container {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 24px;
  padding: 60px 40px;
  max-width: 600px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(255, 94, 76, 0.3);
  animation: slideUp 0.6s ease-out;
}

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

/* Success Icon */
.success-icon-wrapper {
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
}

.success-checkmark {
  animation: scaleIn 0.5s ease-out 0.2s both;
}

@keyframes scaleIn {
  from {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.success-checkmark svg {
  filter: drop-shadow(0 4px 12px rgba(76, 175, 80, 0.3));
}

/* Success Title */
.success-title {
  font-size: 32px;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
  animation: fadeIn 0.6s ease-out 0.3s both;
}

.success-message {
  font-size: 18px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 40px 0;
  line-height: 1.6;
  animation: fadeIn 0.6s ease-out 0.4s both;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Order Details */
.order-details {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: left;
  animation: fadeIn 0.6s ease-out 0.5s both;
}

.order-details h2 {
  font-size: 20px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
}

.detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
}

.detail-item:last-child {
  border-bottom: none;
}

.detail-label {
  font-size: 14px;
  color: #666666;
  color: var(--text-gray);
  font-weight: 500;
}

.detail-value {
  font-size: 14px;
  color: #232323;
  color: var(--primary-dark);
  font-weight: 600;
  max-width: 60%;
  text-align: right;
  word-break: break-word;
}

/* Information Box */
.info-box {
  background: #fff3e0;
  border: 2px solid #ffb74d;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: left;
  animation: fadeIn 0.6s ease-out 0.6s both;
}

.info-box h3 {
  font-size: 18px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
}

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

.info-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 15px;
  color: #232323;
  color: var(--primary-dark);
}

.info-icon {
  font-size: 24px;
  flex-shrink: 0;
}

/* Action Buttons */
.action-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
  animation: fadeIn 0.6s ease-out 0.7s both;
}

.continue-btn {
  width: 100%;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  background: linear-gradient(135deg, var(--accent-red) 0%, var(--accent-orange) 100%);
  color: #ffffff;
  color: var(--primary-white);
  border: none;
  padding: 16px 32px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.3);
}

.continue-btn:hover {
  background: linear-gradient(135deg, #ff5e4c 0%, #ff3364 100%);
  background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-red) 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 51, 100, 0.4);
}

.continue-btn:active {
  transform: translateY(0);
}

/* Footer */
.success-footer {
  padding-top: 24px;
  border-top: 1px solid #ececec;
  border-top: 1px solid var(--light-gray);
  animation: fadeIn 0.6s ease-out 0.8s both;
}

.footer-text {
  font-size: 14px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 8px 0;
}

.brand-name {
  font-weight: 700;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red), var(--accent-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.footer-subtext {
  font-size: 13px;
  color: #666666;
  color: var(--text-gray);
  margin: 0;
}

.footer-subtext a {
  color: #ff3364;
  color: var(--accent-red);
  text-decoration: none;
  font-weight: 500;
}

.footer-subtext a:hover {
  text-decoration: underline;
}

/* Responsive Design */
@media (max-width: 768px) {
  .success-container {
    padding: 40px 24px;
  }
  
  .success-title {
    font-size: 28px;
  }
  
  .success-message {
    font-size: 16px;
  }
  
  .order-details,
  .info-box {
    padding: 20px;
  }
  
  .detail-value {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .purchase-success-page {
    padding: 20px 16px;
  }
  
  .success-container {
    padding: 32px 20px;
    border-radius: 16px;
  }
  
  .success-title {
    font-size: 24px;
  }
  
  .success-message {
    font-size: 15px;
    margin-bottom: 32px;
  }
  
  .success-checkmark svg {
    width: 64px;
    height: 64px;
  }
  
  .order-details h2,
  .info-box h3 {
    font-size: 16px;
  }
  
  .detail-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  
  .detail-value {
    max-width: 100%;
    text-align: left;
  }
  
  .info-list li {
    font-size: 14px;
  }
  
  .info-icon {
    font-size: 20px;
  }
}

/* Print Styles */
@media print {
  .purchase-success-page {
    background: white;
  }
  
  .success-container {
    box-shadow: none;
    border: 1px solid #ddd;
  }
  
  .action-buttons,
  .success-footer {
    display: none;
  }
}


/* Color Palette - Match iCoMerge Design */
:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --accent-orange: #ff5e4c;
  --light-gray: #ececec;
  --text-gray: #666666;
  --cancel-red: #ff3366;
}

.purchase-cancel-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
}

.cancel-container {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 24px;
  padding: 60px 40px;
  max-width: 600px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  animation: slideUp 0.6s ease-out;
}

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

/* Cancel Icon */
.cancel-icon-wrapper {
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
}

.cancel-icon {
  animation: scaleIn 0.5s ease-out 0.2s both;
}

@keyframes scaleIn {
  from {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.cancel-icon svg {
  filter: drop-shadow(0 4px 12px rgba(255, 51, 102, 0.3));
}

/* Cancel Title */
.cancel-title {
  font-size: 32px;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
  animation: fadeIn 0.6s ease-out 0.3s both;
}

.cancel-message {
  font-size: 18px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 40px 0;
  line-height: 1.6;
  animation: fadeIn 0.6s ease-out 0.4s both;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Information Box */
.info-box-cancel {
  background: #fff3f3;
  border: 2px solid #ffcdd2;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: left;
  animation: fadeIn 0.6s ease-out 0.5s both;
}

.info-box-cancel h3 {
  font-size: 18px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 12px 0;
}

.info-box-cancel p {
  font-size: 15px;
  color: #232323;
  color: var(--primary-dark);
  margin: 0;
  line-height: 1.6;
}

/* Help Section */
.help-section {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: left;
  animation: fadeIn 0.6s ease-out 0.6s both;
}

.help-section h3 {
  font-size: 18px;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 16px 0;
}

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

.help-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 15px;
  color: #232323;
  color: var(--primary-dark);
}

.help-icon {
  font-size: 24px;
  flex-shrink: 0;
}

/* Action Buttons */
.action-buttons-cancel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 32px;
  animation: fadeIn 0.6s ease-out 0.7s both;
}

.try-again-btn {
  width: 100%;
  background: linear-gradient(135deg, #ff3364 0%, #ff5e4c 100%);
  background: linear-gradient(135deg, var(--accent-red) 0%, var(--accent-orange) 100%);
  color: #ffffff;
  color: var(--primary-white);
  border: none;
  padding: 16px 32px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 51, 100, 0.3);
}

.try-again-btn:hover {
  background: linear-gradient(135deg, #ff5e4c 0%, #ff3364 100%);
  background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-red) 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 51, 100, 0.4);
}

.go-home-btn {
  width: 100%;
  background: #ffffff;
  background: var(--primary-white);
  color: #232323;
  color: var(--primary-dark);
  border: 2px solid #ececec;
  border: 2px solid var(--light-gray);
  padding: 16px 32px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.go-home-btn:hover {
  background: #f8f9fa;
  border-color: #232323;
  border-color: var(--primary-dark);
}

.try-again-btn:active,
.go-home-btn:active {
  transform: translateY(0);
}

/* Footer */
.cancel-footer {
  padding-top: 24px;
  border-top: 1px solid #ececec;
  border-top: 1px solid var(--light-gray);
  animation: fadeIn 0.6s ease-out 0.8s both;
}

.footer-text {
  font-size: 14px;
  color: #666666;
  color: var(--text-gray);
  margin: 0 0 8px 0;
}

.brand-name {
  font-weight: 700;
  background: linear-gradient(135deg, #ff3364, #ff5e4c);
  background: linear-gradient(135deg, var(--accent-red), var(--accent-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.footer-subtext {
  font-size: 13px;
  color: #666666;
  color: var(--text-gray);
  margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  .cancel-container {
    padding: 40px 24px;
  }
  
  .cancel-title {
    font-size: 28px;
  }
  
  .cancel-message {
    font-size: 16px;
  }
  
  .info-box-cancel,
  .help-section {
    padding: 20px;
  }
}

@media (max-width: 480px) {
  .purchase-cancel-page {
    padding: 20px 16px;
  }
  
  .cancel-container {
    padding: 32px 20px;
    border-radius: 16px;
  }
  
  .cancel-title {
    font-size: 24px;
  }
  
  .cancel-message {
    font-size: 15px;
    margin-bottom: 32px;
  }
  
  .cancel-icon svg {
    width: 64px;
    height: 64px;
  }
  
  .info-box-cancel h3,
  .help-section h3 {
    font-size: 16px;
  }
  
  .info-box-cancel p,
  .help-list li {
    font-size: 14px;
  }
  
  .help-icon {
    font-size: 20px;
  }
}


/* Product Interests Page - Consistent with ProductSearchSection */

:root {
  --primary-dark: #232323;
  --primary-white: #ffffff;
  --accent-red: #ff3364;
  --accent-orange: #ff5e4c;
  --accent-light-orange: #ff7e70;
  --light-gray: #ececec;
  --success-green: #10b981;
  --warning-yellow: #f59e0b;
  --text-gray: #495057;
  --hover-gray: #f8f9fa;
  --border-gray: #e2e8f0;
}

.product-interests-page {
  min-height: 100vh;
  background-color: #f8f9fa;
  background-color: var(--hover-gray);
  padding: 2rem 1rem;
}

/* Header */
.product-interests-page .page-header {
  max-width: 1400px;
  margin: 0 auto 2rem;
}

.product-interests-page .header-content {
  text-align: center;
  margin-bottom: 1rem;
}

.product-interests-page .header-content h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.5rem;
}

.product-interests-page .header-content .subtitle {
  font-size: 1.1rem;
  color: #495057;
  color: var(--text-gray);
  margin: 0;
}

/* Statistics Grid */
.product-interests-page .stats-grid {
  max-width: 1400px;
  margin: 0 auto 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.product-interests-page .stat-card {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 8px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-interests-page .stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.product-interests-page .stat-icon {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  color: var(--primary-white);
  flex-shrink: 0;
}

.product-interests-page .stat-content h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin: 0;
}

.product-interests-page .stat-content p {
  font-size: 0.9rem;
  color: #495057;
  color: var(--text-gray);
  margin: 0;
}

/* Controls Section */
.product-interests-page .controls-section {
  max-width: 1400px;
  margin: 0 auto 2rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.product-interests-page .search-box {
  flex: 1 1;
  min-width: 300px;
  position: relative;
  display: flex;
  align-items: center;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #e2e8f0;
  border: 1px solid var(--border-gray);
}

.product-interests-page .search-box svg {
  color: #495057;
  color: var(--text-gray);
  margin-right: 0.5rem;
}

.product-interests-page .search-box input {
  border: none;
  outline: none;
  flex: 1 1;
  font-size: 1rem;
  color: #232323;
  color: var(--primary-dark);
  background: transparent;
}

.product-interests-page .search-box input::placeholder {
  color: #a0aec0;
}

.product-interests-page .clear-search {
  background: none;
  border: none;
  cursor: pointer;
  color: #495057;
  color: var(--text-gray);
  padding: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.product-interests-page .clear-search:hover {
  color: #ff3364;
  color: var(--accent-red);
}

.product-interests-page .controls-right {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.product-interests-page .filter-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: #ffffff;
  background: var(--primary-white);
  border: 1px solid #e2e8f0;
  border: 1px solid var(--border-gray);
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.product-interests-page .filter-btn:hover {
  background-color: #f8f9fa;
  background-color: var(--hover-gray);
  transform: translateY(-2px);
}

.product-interests-page .filter-btn.active {
  background-color: #232323;
  background-color: var(--primary-dark);
  color: #ffffff;
  color: var(--primary-white);
  border-color: #232323;
  border-color: var(--primary-dark);
}

.product-interests-page .bulk-action-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: #ff3364;
  background: var(--accent-red);
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  color: var(--primary-white);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(255, 51, 100, 0.3);
}

.product-interests-page .bulk-action-btn:hover {
  background: #ff5e4c;
  background: var(--accent-orange);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.4);
}

/* Interests Container */
.product-interests-page .interests-container {
  max-width: 1400px;
  margin: 0 auto;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.product-interests-page .list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
  border-bottom: 2px solid var(--border-gray);
}

.product-interests-page .select-all {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.product-interests-page .select-all input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #ff3364;
  accent-color: var(--accent-red);
}

.product-interests-page .select-all label {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  cursor: pointer;
  margin: 0;
}

/* Empty State */
.product-interests-page .empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: #495057;
  color: var(--text-gray);
}

.product-interests-page .empty-state svg {
  color: #cbd5e0;
  margin-bottom: 1rem;
}

.product-interests-page .empty-state h3 {
  font-size: 1.5rem;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.5rem;
}

.product-interests-page .empty-state p {
  font-size: 1rem;
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Interests List */
.product-interests-page .interests-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.product-interests-page .interest-card {
  display: grid;
  grid-template-columns: auto 1fr 1fr auto;
  grid-gap: 1.5rem;
  gap: 1.5rem;
  align-items: center;
  padding: 1.25rem;
  background: #f8f9fa;
  background: var(--hover-gray);
  border: 1px solid #e2e8f0;
  border: 1px solid var(--border-gray);
  border-radius: 8px;
  transition: all 0.2s ease;
}

.product-interests-page .interest-card:hover {
  background-color: #ffffff;
  background-color: var(--primary-white);
  border-color: #232323;
  border-color: var(--primary-dark);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transform: translateX(4px);
}

.product-interests-page .interest-checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: #ff3364;
  accent-color: var(--accent-red);
}

.product-interests-page .interest-product {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.product-interests-page .product-thumb {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  border: 1px solid var(--border-gray);
}

.product-interests-page .product-info h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin: 0 0 0.25rem 0;
}

.product-interests-page .product-price {
  font-size: 0.9rem;
  font-weight: 600;
  color: #ff3364;
  color: var(--accent-red);
  margin: 0;
}

.product-interests-page .interest-user {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.product-interests-page .user-email {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
}

.product-interests-page .user-email svg {
  color: #ff3364;
  color: var(--accent-red);
}

.product-interests-page .interest-date {
  font-size: 0.85rem;
  color: #495057;
  color: var(--text-gray);
  margin: 0;
}

.product-interests-page .device-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: #232323;
  background: var(--primary-dark);
  color: #ffffff;
  color: var(--primary-white);
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

.product-interests-page .interest-status {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.product-interests-page .status-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 600;
}

.product-interests-page .status-badge.contacted {
  background: #e6f7ff;
  color: #0070f3;
}

.product-interests-page.status-badge .discount-sent {
  background: #f0fdf4;
  color: #10b981;
  color: var(--success-green);
}

.product-interests-page .offer-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #ff3364;
  background: var(--accent-red);
  border: none;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #ffffff;
  color: var(--primary-white);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(255, 51, 100, 0.3);
}

.product-interests-page .offer-btn:hover {
  background: #ff5e4c;
  background: var(--accent-orange);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 51, 100, 0.4);
}

/* Discount Modal */
.product-interests-page .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 1rem;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.product-interests-page .discount-modal {
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 8px;
  padding: 2rem;
  max-width: 500px;
  width: 100%;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.product-interests-page .discount-modal h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 1.5rem;
  text-align: center;
}

.product-interests-page .discount-input-section {
  margin-bottom: 2rem;
}

.product-interests-page .discount-input-section label {
  display: block;
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 1rem;
}

.product-interests-page .discount-slider {
  text-align: center;
}

.product-interests-page .discount-slider input[type="range"] {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: #ececec;
  background: var(--light-gray);
  outline: none;
  opacity: 0.7;
  transition: opacity 0.2s;
  margin-bottom: 1rem;
}

.product-interests-page .discount-slider input[type="range"]:hover {
  opacity: 1;
}

.product-interests-page .discount-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ff3364;
  background: var(--accent-red);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.product-interests-page .discount-slider input[type="range"]::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ff3364;
  background: var(--accent-red);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  border: none;
}

.product-interests-page .discount-value {
  font-size: 2rem;
  font-weight: 700;
  color: #ff3364;
  color: var(--accent-red);
}

.product-interests-page .product-preview {
  background: #f8f9fa;
  background: var(--hover-gray);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1.5rem;
  border: 1px solid #e2e8f0;
  border: 1px solid var(--border-gray);
}

.product-preview h4 {
  font-size: 0.9rem;
  font-weight: 600;
  color: #495057;
  color: var(--text-gray);
  margin-bottom: 0.75rem;
}

.preview-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.preview-content img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  border: 1px solid var(--border-gray);
}

.preview-content .product-title {
  font-weight: 600;
  color: #232323;
  color: var(--primary-dark);
  margin-bottom: 0.25rem;
}

.preview-content .product-price {
  font-size: 0.9rem;
  color: #495057;
  color: var(--text-gray);
  margin-bottom: 0.25rem;
}

.preview-content .product-price.discounted {
  font-weight: 700;
  color: #10b981;
  color: var(--success-green);
  font-size: 1rem;
}

.product-interests-page .modal-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}

.product-interests-page .error-container {
  text-align: center;
  padding: 3rem 2rem;
  background: #ffffff;
  background: var(--primary-white);
  border-radius: 8px;
  max-width: 600px;
  margin: 2rem auto;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.product-interests-page .error-container h2 {
  color: #ff3364;
  color: var(--accent-red);
  margin-bottom: 1rem;
}

.product-interests-page .error-container p {
  color: #495057;
  color: var(--text-gray);
  margin-bottom: 1.5rem;
}

.product-interests-page .btn-retry {
  padding: 0.75rem 2rem;
  background: #232323;
  background: var(--primary-dark);
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  color: var(--primary-white);
  cursor: pointer;
  transition: all 0.2s ease;
}

.product-interests-page .btn-retry:hover {
  background: #000;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Responsive Design */
@media (max-width: 768px) {
  .product-interests-page {
    padding: 1rem 0.5rem;
  }

  .product-interests-page .header-content h1 {
    font-size: 2rem;
  }

  .product-interests-page .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .product-interests-page .stat-card {
    padding: 1rem;
    flex-direction: column;
    text-align: center;
  }

  .product-interests-page .controls-section {
    flex-direction: column;
    align-items: stretch;
  }

  .product-interests-page .search-box {
    min-width: 100%;
  }

  .product-interests-page .controls-right {
    justify-content: space-between;
  }

  .product-interests-page .interests-container {
    padding: 1rem;
  }

  .product-interests-page .interest-card {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    gap: 1rem;
  }

  .product-interests-page .interest-product {
    grid-column: 1 / -1;
  }

  .product-interests-page .interest-user {
    grid-column: 2 / -1;
  }

  .product-interests-page .interest-status {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .product-interests-page .discount-modal {
    padding: 1.5rem;
  }

  .product-interests-page .modal-actions {
    flex-direction: column;
  }
}

/* Animation for smooth transitions - matching ProductSearchSection pattern */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product-interests-page.stat-card,
.product-interests-page.interest-card {
  animation: fadeIn 0.3s ease-out;
}

.product-purchases-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%);
  padding: 2rem;
}

.page-header {
  margin-bottom: 2rem;
}

.header-content h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #232323;
  margin-bottom: 0.5rem;
}

.subtitle {
  font-size: 1.1rem;
  color: #666;
  font-weight: 400;
}

/* Statistics Grid */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1.5rem;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.stat-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.1);
}

.stat-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  flex-shrink: 0;
}

.stat-content h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #232323;
  margin: 0;
}

.stat-content p {
  font-size: 0.9rem;
  color: #666;
  margin: 0;
}

/* Controls Section */
.controls-section {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.search-box {
  flex: 1 1;
  min-width: 300px;
  background: white;
  border-radius: 12px;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.search-box svg {
  color: #999;
  flex-shrink: 0;
}

.search-box input {
  flex: 1 1;
  border: none;
  outline: none;
  font-size: 0.95rem;
  color: #232323;
}

.search-box input::placeholder {
  color: #999;
}

.clear-search {
  background: none;
  border: none;
  cursor: pointer;
  color: #999;
  padding: 0;
  display: flex;
  align-items: center;
  transition: color 0.2s;
}

.clear-search:hover {
  color: #232323;
}

.controls-right {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.status-filter {
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  color: #232323;
  cursor: pointer;
  outline: none;
  transition: all 0.2s;
}

.status-filter:hover {
  border-color: #232323;
}

/* Purchases Container */
.purchases-container {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  min-height: 400px;
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  color: #999;
  text-align: center;
}

.empty-state svg {
  margin-bottom: 1.5rem;
  opacity: 0.3;
}

.empty-state h3 {
  font-size: 1.5rem;
  color: #666;
  margin-bottom: 0.5rem;
}

.empty-state p {
  font-size: 1rem;
  max-width: 500px;
}

/* Purchases List */
.purchases-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.purchase-card {
  background: #f9fafb;
  border-radius: 12px;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 2fr 2fr 1.5fr 1fr;
  grid-gap: 1.5rem;
  gap: 1.5rem;
  align-items: start;
  transition: all 0.2s;
  border: 2px solid transparent;
}

.purchase-card:hover {
  border-color: #ff5e4c;
  box-shadow: 0 4px 8px rgba(255, 94, 76, 0.1);
}

/* Product Section */
.purchase-product {
  display: flex;
  gap: 1rem;
}

.product-info h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #232323;
  margin: 0 0 0.5rem 0;
}

.product-variant {
  font-size: 0.85rem;
  color: #666;
  margin: 0.25rem 0;
}

.product-quantity {
  font-size: 0.85rem;
  color: #999;
  margin: 0.25rem 0;
}

/* Stock Information */
.stock-info {
  margin-top: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.stock-info.in-stock {
  background: #d1fae5;
  color: #065f46;
  border: 1px solid #10b981;
}

.stock-info.low-stock {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #f59e0b;
  animation: pulse-warning 2s infinite;
}

.stock-info.out-of-stock {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #dc2626;
}

@keyframes pulse-warning {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* Purchase Details */
.purchase-details {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.detail-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
}

.detail-row .label {
  color: #666;
}

.detail-row .value {
  font-weight: 600;
  color: #232323;
}

.detail-row.platform-fee .value {
  color: #ff5e4c;
}

.detail-row.transfer-amount {
  padding-top: 0.5rem;
  border-top: 1px solid #e0e0e0;
  margin-top: 0.5rem;
}

.detail-row.transfer-amount .value {
  color: #10b981;
  font-size: 1.05rem;
}

.amount-total {
  font-size: 1.1rem !important;
  color: #232323 !important;
}

/* Customer Section */
.purchase-customer {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.customer-name {
  font-weight: 600;
  color: #232323;
  margin: 0;
}

.customer-email {
  font-size: 0.85rem;
  color: #666;
  margin: 0;
}

.purchase-date {
  font-size: 0.85rem;
  color: #999;
  margin: 0.5rem 0 0 0;
}

/* Purchase Meta */
.purchase-meta {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-end;
}

.status-badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: capitalize;
}

.status-badge.completed {
  background: #d1fae5;
  color: #065f46;
}

.status-badge.pending {
  background: #fef3c7;
  color: #92400e;
}

.status-badge.refunded {
  background: #fee2e2;
  color: #991b1b;
}

.status-badge.disputed {
  background: #fce7f3;
  color: #831843;
}

.stripe-badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.6rem;
  background: #635bff;
  color: white;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
}

.session-id {
  font-size: 0.75rem;
  color: #999;
  margin: 0;
  font-family: 'Courier New', monospace;
}

/* Error Container */
.error-container {
  background: white;
  border-radius: 16px;
  padding: 3rem;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.error-container h2 {
  color: #dc2626;
  margin-bottom: 1rem;
}

.error-container p {
  color: #666;
  margin-bottom: 2rem;
}

.btn-retry {
  background: #ff5e4c;
  color: white;
  border: none;
  padding: 0.75rem 2rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

.btn-retry:hover {
  background: #ff4532;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(255, 94, 76, 0.3);
}

/* Responsive Design */
@media (max-width: 1200px) {
  .purchase-card {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .purchase-meta {
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .product-purchases-page {
    padding: 1rem;
  }

  .header-content h1 {
    font-size: 2rem;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .purchase-card {
    grid-template-columns: 1fr;
  }

  .controls-section {
    flex-direction: column;
  }

  .search-box {
    width: 100%;
    min-width: 0;
    min-width: initial;
  }
}

@media (max-width: 480px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
}


/* ========= Liquid Glass Cookies Modal ========= */

/* Root palette (uses your reference variables if present) */
:root {
    --glass-bg-1: rgba(35, 35, 35, 0.85);
    --glass-bg-2: rgba(35, 35, 35, 0.75);
    --glass-stroke: rgba(255, 255, 255, 0.35);
    --glass-shadow: rgba(0, 0, 0, 0.25);
    --accent-a: var(--accent-red, #ff3364);
    --accent-b: var(--accent-orange, #ff5e4c);
    --text-on-glass: var(--primary-white, #fff);
}

/* Base container → floating glass pill with guaranteed visibility */
.cookies-modal.cookie-consent {
    position: fixed !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;

    /* floating width */
    width: min(960px, calc(100% - 32px)) !important;

    /* Enhanced background for better visibility on all backgrounds */
    background: linear-gradient(135deg, rgba(35, 35, 35, 0.85) 0%, rgba(35, 35, 35, 0.75) 100%) !important;
    background: linear-gradient(135deg, var(--glass-bg-1) 0%, var(--glass-bg-2) 100%) !important;
    backdrop-filter: blur(16px) saturate(180%) contrast(1.2) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) contrast(1.2) !important;

    /* Enhanced stroke + depth */
    border-radius: 22px !important;
    border: 2px solid rgba(255, 255, 255, 0.35) !important;
    border: 2px solid var(--glass-stroke) !important;
    box-shadow:
        0 15px 50px rgba(0, 0, 0, 0.25),
        0 5px 20px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
    box-shadow:
        0 15px 50px var(--glass-shadow),
        0 5px 20px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;

    /* layout */
    padding: 20px 24px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-gap: 16px !important;
    gap: 16px !important;
    align-items: center !important;

    color: #fff !important;

    color: var(--text-on-glass) !important;
    z-index: 1000 !important;

    /* robustness */
    isolation: isolate;
    overflow: hidden;
}

/* Enhanced gradient border ring */
.cookies-modal.cookie-consent::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    padding: 2px;
    background: linear-gradient(135deg, #ff3364, #ff5e4c);
    background: linear-gradient(135deg, var(--accent-a), var(--accent-b));
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    opacity: 0.8;
}

/* Enhanced liquid glare */
.cookies-modal.cookie-consent::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(120% 80% at 10% -20%, rgba(255,255,255,0.3), transparent 60%),
        radial-gradient(120% 80% at 100% -30%, rgba(255,255,255,0.15), transparent 60%);
    pointer-events: none;
    opacity: 0.7;
}

/* Enhanced text visibility */
.cookies-modal p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #fff !important;
    color: var(--text-on-glass) !important;
    font-weight: 500 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

.cookies-modal p a {
    background: linear-gradient(45deg, #ff3364, #ff5e4c);
    background: linear-gradient(45deg, var(--accent-a), var(--accent-b));
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    text-decoration: underline;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
}

.cookies-modal p a:hover {
    text-shadow: 0 0 8px rgba(255, 51, 100, 0.6);
    transform: translateY(-1px);
}

/* Buttons container */
.cookies-consent-button-container {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    justify-content: center !important;
}

/* Accept button with enhanced visibility */
.cookies-modal .accept-btn.cookie-consent__button {
    background: linear-gradient(45deg, #ff3364, #ff5e4c) !important;
    background: linear-gradient(45deg, var(--accent-a), var(--accent-b)) !important;
    color: #fff !important;
    border: 0 !important;
    padding: 12px 24px !important;
    width: 160px !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 25px rgba(255, 51, 100, 0.4) !important;
    transition: all 0.3s ease !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.cookies-modal .accept-btn.cookie-consent__button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 35px rgba(255, 51, 100, 0.6) !important;
}

/* Reject button with enhanced visibility */
.cookies-modal .reject-btn.cookie-consent__button--decline {
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
    color: var(--text-on-glass) !important;
    border: 2px solid rgba(255,255,255,0.5) !important;
    padding: 10px 22px !important;
    width: 160px !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    backdrop-filter: blur(8px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(150%) !important;
    transition: all 0.3s ease !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

.cookies-modal .reject-btn.cookie-consent__button--decline:hover {
    background: rgba(255,255,255,0.2) !important;
    border-color: rgba(255,255,255,0.7) !important;
    transform: translateY(-2px) !important;
}

/* Remove bright/dark variants - use consistent styling */
.cookies-modal.cookie-consent.cookies--on-bright,
.cookies-modal.cookie-consent.cookies--on-dark {
    /* Use the same enhanced styling for all backgrounds */
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .cookies-modal.cookie-consent {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        gap: 16px !important;
        padding: 18px 16px calc(18px + env(safe-area-inset-bottom)) !important;
        width: calc(100% - 24px) !important;
    }
    
    .cookies-consent-button-container {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    .cookies-modal .accept-btn.cookie-consent__button,
    .cookies-modal .reject-btn.cookie-consent__button--decline {
        width: min(280px, 100%) !important;
    }
}

/* Fallback for browsers without backdrop-filter */
@supports not (((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))) or (-webkit-backdrop-filter: blur(10px))) {
    .cookies-modal.cookie-consent {
        background: linear-gradient(135deg, rgba(35,35,35,0.95), rgba(35,35,35,0.9)) !important;
    }
}
  

/*# sourceMappingURL=main.b2c97a21.css.map*/