html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Manrope', sans-serif;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

.sys-theme {
    color: #e11d48;
}

.txt-color-1 {
    color: #222e3c;
}

.txt-color-2 {
    color: #fba5a5;
}

.txt-color-3 {
    color: #023302;
}

.txt-theme-1 {
  background: linear-gradient(to right, #dddddd, #e11d48);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.radius-5 {
    border-radius: 5px;
}

.gradient-bg-1 {
    background: linear-gradient(to bottom, #fdd2d2, #f0e491);
}

.gradient-bg-2 {
    background: linear-gradient(to right, #fba5a5, trasparent);
}

.gradient-bg-3 {
    background: linear-gradient(to right, #e5e7eb, #f5eeb9);
}

.gradient-bg-4 {
    background: linear-gradient(to right, #f5eeb9, #fffefe);
}

.gradient-bg-5 {
    background: linear-gradient(to bottom, #fdd2d2, transparent, #f5eeb9);
}

.gradient-bg-6 {
    background: linear-gradient(to right, #00ff0d, transparent);
}

.gradient-bg-7 {
    background: linear-gradient(to bottom, white, transparent, #e0e6b8);
}

.gradient-border-1 {
  border: 2px solid transparent;
  border-radius: 5px;
  background-image: linear-gradient(to right, #fba5a5, #fffefe);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  background-image:
    linear-gradient(#fff, #fff),
    linear-gradient(to right, #fba5a5, #fffefe);
}

.gradient-line {
  border: none;
  height: 2px;
  background-image: linear-gradient(to right, #e11d48, #fffefe);
  border-radius: 2px;
}

.gradient-line-2 {
  border: none;
  height: 1px;
  background-image: linear-gradient(to right, #e11d48, #fba5a5);
  border-radius: 2px;
}

.category-bar {
    position: sticky;
    top: 60px; /* height of top nav */
    background: #fff;
    z-index: 100;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.category-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 5px;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}

.category-search input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #fba5a5;
    border-radius: 8px;
    font-size: 14px;
    outline: none;
    transition: all 0.2s ease;
}

.category-search input:focus {
    border-color: #fba5a5;
    box-shadow: 0 0 0 2px rgba(0,123,255,0.1);
}

/* Category scroll bar */
.category-scroll {
    position: sticky;
    top: 60px; /* Adjust to height of top nav */
    background: #fff;
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    white-space: nowrap;
    padding: 5px;
    border-bottom: 1px solid #ddd;
    z-index: 90;
    scrollbar-width: thin;
}

.category-scroll::-webkit-scrollbar {
    height: 5px;
}

.category-scroll::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

.category-scroll::-webkit-scrollbar-thumb:hover {
    background: #999;
}

.brand-scroll::-webkit-scrollbar {
    height: 5px;
}

.brand-scroll::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

.brand-scroll::-webkit-scrollbar-thumb:hover {
    background: #999;
}

.category-link {
    display: inline-block;
    text-decoration: none;
    color: #222e3c;
    padding: 5px 10px;
    border-radius: 5px;
    background: linear-gradient(to right, #d0d994, #f0e491);
    transition: 0.3s ease;
    font-size: 14px;
    margin-bottom: 5px;
}

.category-link:hover {
    background: linear-gradient(to right, #f87171, #fba5a5);
    color: #000;
    text-decoration: none;
}

.category-link.active {
    background: #fba5a5;
    color: #222e3c;
    font-weight: 500;
}

.tag-link {
    display: inline-block;
    text-decoration: none;
    color: #222e3c;
    padding: 5px 10px;
    border-radius: 5px;
    background: linear-gradient(to right, #edde79, #f5eeb9);
    transition: 0.3s ease;
    font-size: 14px;
    margin-bottom: 5px;
}

.tag-link:hover {
    background: linear-gradient(to right, #f87171, #fba5a5);
    color: #000;
    text-decoration: none;
}

.tag-link.active {
    background: #fba5a5;
    color: #222e3c;
    font-weight: 500;
}

.brand-card {
  min-width: 140px;
  padding: 10px;
  border-radius: 5px;
  position: relative;
  background: linear-gradient(to bottom, #fdd2d2, transparent);
  border-top: solid #fff 2px;
}

.brand-thumbnail {
    width: 80px;
    height: 80px;
    margin-top: -30px;
    position: relative;
    z-index: 2;
    transition: transform 0.2s ease;
    overflow: hidden;
    background: linear-gradient(to bottom, #fff, transparent);
    padding: 5px;
    border-radius: 5px;
    border-top: solid #fff 2px;
}

.brand-thumbnail:hover {
    transform: scale(1.08);
}

.brand-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  transition: all 0.25s ease-in-out;
  border-radius: 12px;
}

.brand-link:hover,
.brand-link:focus {
  text-decoration: none;
  color: #f87171;
}

.wysiwyg-container {
  border: 1px solid #fdd2d2;
  border-radius: 6px;
  padding: 10px;
  background: rgba(183, 229, 205, 0.06);
}

.wysiwyg-toolbar {
  display: flex;
  gap: 5px;
  border-bottom: 1px solid #fdd2d2;
  padding-bottom: 5px;
}

.wysiwyg-toolbar button {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
  padding: 5px 8px;
  border-radius: 5px;
  transition: 0.2s;
}

.wysiwyg-toolbar button:hover {
  background-color: rgba(183, 229, 205, 0.2);
}

.wysiwyg-editor {
  min-height: 120px;
  padding: 10px;
  margin-top: 5px;
  outline: none;
  overflow-y: auto;
}

.wysiwyg-editor:empty:before {
  content: attr(placeholder);
  color: #aaa;
}

.row.equal-height {
  display: flex;
  align-items: stretch;
}

.equal-height .col-lg-8,
.equal-height .col-lg-4 {
  display: flex;
  flex-direction: column;
}

.equal-height .col-lg-8 textarea,
.equal-height .col-lg-4 textarea {
  flex: 1; 
  /* resize: none; /* optional: prevent manual resize */
}

.previewPhoto {
  width: 100%;    
  object-fit: cover;
  border: 2px solid transparent;
  border-radius: 5px;
  background-image: linear-gradient(to right, #fba5a5, #b7e5cd);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.previewPhoto:hover {
  transform: scale(1.03);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.btn-gradient {
  display: inline-block;
  text-align: left;
  background: linear-gradient(to right, #b7e5cd, transparent);
  color: #222e3c;
  border: none;
  border-radius: 5px;
  padding: 5px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.btn-gradient:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.btn-gradient:active {
  transform: translateY(1px);
}

.btn-gradient i {
  vertical-align: left;
}

.photosPreview {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden; 
  gap: 10px;
  margin: 5px;
  padding: 10px;
  border-radius: 5px;
  /* border: 2px dashed #f5eeb9; */
  scroll-behavior: smooth;
}

.photosPreview::-webkit-scrollbar {
  height: 10px;
}

.photosPreview::-webkit-scrollbar-track {
  background: transparent;
}

.photosPreview::-webkit-scrollbar-thumb {
  background: linear-gradient(to right, #e5e7eb, #f0e491);
  border-radius: 1px;
}

.photosPreview .preview-thumb {
  width: 80px;
  height: 100px;
  object-fit: cover;
  border: 2px solid transparent;
  border-radius: 5px;
  background-image: linear-gradient(to right, #b7e5cd, transparent);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}

.photosPreview .preview-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* Form Button Style */
.form-btn {
  display: inline-block;
  padding: 10px;
  color: #222e3c;
  background: linear-gradient(135deg, #a4dec0, #bbc863);
  border: solid #c4c5c9 1px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.form-btn:hover {
  background: linear-gradient(135deg, #fdd2d2, #d0d994);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

.form-btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

.form-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: #7a7a7a;
  box-shadow: none;
}

.action-btn {
  display: inline-block;
  padding: 5px;
  color: #222e3c;
  font-size: 16px;
  background: linear-gradient(135deg, #a4dec0, #bbc863);
  border: solid #c4c5c9 1px;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.action-btn:hover {
  background: linear-gradient(135deg, #fdd2d2, #d0d994);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

.action-btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

.btn-1 {
  background: linear-gradient(135deg, #a4dec0, #c8d281);
}

.btn-2 {
  background: linear-gradient(135deg, #edde79, #c8d281);
}

.btn-3 {
  background: linear-gradient(135deg, #fba5a5, #c8d281);
}

.btn-4 {
  background: linear-gradient(135deg, #fba5a5, #ff6e40);
}

.btn-5 {
  background: linear-gradient(135deg, #dddddd, #c0c0c0);
}

.sign-in-btn {
  font-size: 14px;
  padding: 5px 10px;
  background: linear-gradient(135deg, #80dfae, #ddeb7a);
}

.btn-outline {
  background: transparent;
  color: #007bff;
  border: 2px solid #007bff;
}

.btn-outline:hover {
  background: #007bff;
  color: #fff;
}

.client-tel-1 {
  background: linear-gradient(135deg, #edde79, #c8d281);
}

.list-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.list-card:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  z-index: 2;
  background: linear-gradient(135deg, #fdd2d2, #f5eeb9);
}

.fall-back-img {
  opacity: 0.5;
}

.item-card {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.item-card.appear {
  opacity: 1;
  transform: translateY(0);
}

.image-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 3px;
}

.item-badge {
  position: absolute;
  top: 5px;
  left: 5px;
  background: linear-gradient(135deg, #ff6e40, #f87171);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 5px;
  border-radius: 2px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  z-index: 5;
}

.item-state-badge {
  position: absolute;
  bottom: 5px;
  left: 5px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 5px;
  border-radius: 2px;
  backdrop-filter: blur(2px);
}

.item-brand, .item-state, .item-badge-2, .item-units, .discount-label, .counts {
  font-size: 12px;
  padding: 5px 8px;
  color: #222e3c;
  border-radius: 2px;
}

.item-brand {
  background: linear-gradient(to right, #e5e7eb, #c7c7c7);
}

.item-state {
  background: linear-gradient(to right, #f0e491, #c8d281);
}

.item-badge-2 {
  background: linear-gradient(135deg, #fba5a5, #fdd2d2);
}

.item-units {
  background: linear-gradient(to right, #cfeede, #b7e5cd);
}

.discount-label {
  padding: 1px 3px;
  border-radius: 2px;
  margin-top: -10px;
  margin-left: 5px;
  background: linear-gradient(to right, #f0e491, transparent);
  color: #f87171;
  font-weight: bold;
}

.counts {
  position: absolute;
  padding: 2px 5px;
  margin-left: -10px;
  margin-top: -15px;
  background: #f5eeb9;
  border-radius: 5px;
  border: solid #b6b6b6 1px;
  color: #f87171;
  font-weight: bold;
}

.old-price {
  text-decoration: line-through;
  color: grey;
}

.site-title {
  margin: 10px 0;
  font-weight: bold;
  padding: 10px 15px;
  border-radius: 5px;
  background: linear-gradient(to right, #c8d281, transparent);
}

.section-title {
  margin: 10px 0;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 5px;
  background: linear-gradient(to right, #cfeede, transparent);
}

.section-title-1 {
  margin: 10px 0;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 5px;
  background: linear-gradient(to right, #ffb170, transparent);
}

.section-title-1 {
  margin: 10px 0;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 5px;
  background: linear-gradient(to right, #ffb170, transparent);
}

.section-title-3 {
  margin: 10px 0;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 5px;
  background: linear-gradient(to right, #b3ffa9, transparent);
}

.detail-image-container {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: thin;
  scrollbar-color: #cfcfcf transparent;
  white-space: nowrap;
  margin-top: 10px;
}

.detail-image-container::-webkit-scrollbar {
  height: 6px;
}

.detail-image-container::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.detail-image-item {
  flex: 0 0 auto;
  width: 150px;
  height: 200px;
  border-radius: 5px;
  overflow: hidden;
  background: #f3f3f3;
  box-shadow: 0 5px 10px rgba(0,0,0,0.15);
  transition: transform 0.3s ease;
}

.detail-image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.detail-image-item:hover {
  transform: scale(1.1);
}

.sign-in-box {
  padding: 10px;
  border-radius: 5px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #fda58a, transparent);
}

.otp-box {
  padding: 10px;
  border-radius: 5px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #d0d994, transparent);
}

.checkout-thumbnail-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;

    /* Prevent image from taking infinite height */
    max-height: 300px; /* Try 250px / 300px depending on your layout */
    overflow: hidden;
}

.checkout-thumbnail {
    width: 100%;      /* fill horizontal space */
    height: auto;     /* keep aspect ratio */
    object-fit: contain;
}

