/**
  * STYLES TABLE
  *
  * 1. SELECT
  * 2. COLOR BOX
  * 3. SIZE BOX
  * 4. TABLE SIZE
  * 5. BUTTON
  * 6. CUSTOM PRODUCT
  * 7. PRELOAD IMAGE
  * 8. ICON
  * 9. MODAL
  * 10. BASE
  **/

/* CSS VARIABLE */
:root {
  --tr-color-primary: #1e90ff;
  --tr-color-gray-100: #f3f4f6;
  --tr-color-gray-300: #d1d5db;
  --tr-color-gray-500: #6b7280;
}

/* 1. SELECT */
.tr-select-view {
  min-height: 15px;
  position: relative;
  padding: 0.5rem 2.3rem 0.5rem 0.5rem;
  text-rendering: auto;
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0px;
  text-shadow: none;
  text-align: start;
  appearance: menulist;
  align-items: center;
  white-space: pre;
  -webkit-rtl-ordering: logical;
  font: 400 13.3333px Arial;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  -webkit-writing-mode: horizontal-tb !important;
  cursor: pointer;
}

.tr-select-view::after {
  content: "";
  width: 0;
  height: 0;
  border: 7px solid transparent;
  position: absolute;
  top: 13px;
  right: 14px;
}

.tr-select-view.tr-active:after {
  top: 4px;
}

.tr-select-view div,
.tr-select-options li div {
  width: 100%;
  height: 15px;
  position: relative;
}

.tr-select-options {
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
  position: absolute;
  top: 100%;
  z-index: 9999;
  width: 100%;
  margin-top: 1px;
}

.tr-select-options li {
  padding: 0.5rem;
  font-size: 13.333333px;
  line-height: normal;
  cursor: pointer;
}

.tr-d-select {
  /* styling */
  display: inline-block;
  font: 400 13.3333px Arial;
  padding: 0.5em 3.5em 0.5em 1em;

  /* reset */
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.tr-d-select {
  background-image: linear-gradient(
      45deg,
      transparent 50%,
      var(--tr-color-gray-300) 50%
    ),
    linear-gradient(135deg, var(--tr-color-gray-300) 50%, transparent 50%);
  background-position: calc(100% - 20px) 0.7rem, calc(100% - 15px) 0.7rem;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.tr-d-select:focus {
  background-image: linear-gradient(45deg, black 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, black 50%);
  background-position: calc(100% - 15px) 0.7rem, calc(100% - 20px) 0.7rem;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  outline: 0;
}

/* 2. COLOR BOX */
.tr-color-box,
.tr-color-box-md,
.tr-color-box-xl {
  position: relative;
}

.tr-color-box.tr-active::before,
.tr-color-box:hover::before,
.tr-color-box-md.tr-active::before,
.tr-color-box-md:hover::before,
.tr-color-box-xl.tr-active::before,
.tr-color-box-xl:hover::before {
  content: " ";
  position: absolute;
  border-width: 3px;
  border-style: solid;
  right: 0;
}

.tr-color-box {
  width: 20px;
  height: 20px;
}

.tr-color-box.tr-active::before,
.tr-color-box:hover::before {
  width: 26px;
  height: 26px;
  border-radius: 50px;
  top: -0 ;
  left: 0;
}

.tr-color-box-md {
  width: 30px;
  height: 30px;
}

.tr-color-box-md.tr-active::before,
.tr-color-box-md:hover::before {
  width: 34px;
  height: 34px;
  border-radius: 50px;
  top: -2px;
  left: -2px;
}

.tr-color-box-xl {
  width: 37px;
  height: 37px;
}

.tr-color-box-xl::before {
  width: 41px;
  height: 41px;
  border-radius: 50px;
  top: -4px;
  left: -4px;
}

.tr-color-box-xl-inner {
  background: rgb(255, 3, 3);
  background: -moz-linear-gradient(
    90deg,
    rgba(255, 3, 3, 1) 0%,
    rgba(251, 255, 0, 1) 20%,
    rgba(16, 255, 0, 1) 40%,
    rgba(0, 251, 255, 1) 55%,
    rgba(0, 7, 255, 1) 70%,
    rgba(224, 0, 255, 1) 85%,
    rgba(255, 0, 0, 1) 100%
  );
  background: -webkit-linear-gradient(
    90deg,
    rgba(255, 3, 3, 1) 0%,
    rgba(251, 255, 0, 1) 20%,
    rgba(16, 255, 0, 1) 40%,
    rgba(0, 251, 255, 1) 55%,
    rgba(0, 7, 255, 1) 70%,
    rgba(224, 0, 255, 1) 85%,
    rgba(255, 0, 0, 1) 100%
  );
  background: linear-gradient(
    90deg,
    rgba(255, 3, 3, 1) 0%,
    rgba(251, 255, 0, 1) 20%,
    rgba(16, 255, 0, 1) 40%,
    rgba(0, 251, 255, 1) 55%,
    rgba(0, 7, 255, 1) 70%,
    rgba(224, 0, 255, 1) 85%,
    rgba(255, 0, 0, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0303",endColorstr="#ff0000",GradientType=1);
}

/* 3. SIZE BOX */
.tr-size-box:hover,
.tr-size-box.active {
  border: none;
  --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* 4. TABLE SIZE */
.tr-table-size thead th {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 0px;
  padding-right: 0px;
}

.tr-table-size tbody td {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 0px;
  padding-right: 0px;
  border-bottom-width: 0.5px;
  border-bottom-style: solid;
}

/* 5. BUTTON */
.tr-button {
  min-width: 190px;
}

/* 6. CUSTOM PRODUCT*/
.tr-product-type-list {
  margin-bottom: 0.5rem;
}

.tr-product-type-list-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.tr-product-type-list-img::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.tr-product-type-list:hover .tr-product-type-list-img::before,
.tr-product-type-list.tr-active .tr-product-type-list-img::before {
  position: absolute;
  content: " ";
  width: calc(100% + 7px);
  height: calc(100% + 7px);
  border-width: 2px;
  border-style: solid;
  top: -4px;
  left: -4px;
}

/* 7. PRELOAD IMAGE */

.tr-spinner,
.tr-spinner::after,
.tr-spinner-md,
.tr-spinner-md:after,
.tr-spinner-sm,
.tr-spinner-sm:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.tr-spinner {
  margin: 60px auto;
  font-size: 10px;
  border-top-width: 1.1em;
  border-right-width: 1.1em;
  border-bottom-width: 1.1em;
  border-left-width: 1.1em;
  border-style: solid;
}

.tr-spinner-md {
  margin: 20px auto;
  font-size: 3px;
  border-top-width: 2.1em;
  border-right-width: 2.1em;
  border-bottom-width: 2.1em;
  border-left-width: 2.1em;
  border-style: solid;
}

.tr-spinner-sm {
  margin: 10px auto;
  font-size: 2px;
  border-top-width: 2.1em;
  border-right-width: 2.1em;
  border-bottom-width: 2.1em;
  border-left-width: 2.1em;
  border-style: solid;
}

.tr-spinner,
.tr-spinner-md,
.tr-spinner-sm {
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* 8. ICON */
.tr-icon-block {
  display: block;
}

.tr-icon-hidden {
  display: none;
}

.tr-icon:hover .tr-icon-block,
.tr-icon.tr-active .tr-icon-block {
  display: none;
}

.tr-icon:hover .tr-icon-hidden,
.tr-icon.tr-active .tr-icon-hidden {
  display: block;
}

.tr-icon:hover .tr-icon-text,
.tr-icon.tr-active .tr-icon-text {
}
.tr-icon.tr-icon-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.tr-icon.tr-icon-action .tr-icon-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  min-height: 20px;
}

/* Hide embedded chat app container */
#app-embed-container-225120,
.chat-app-- {
  display: none !important;
}

/* 9. MODAL */
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .tr-modal-overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .tr-modal-container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .tr-modal-overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .tr-modal-container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .tr-modal-overlay {
  will-change: transform;
}

/* BASE */
.tr-min-height-160 {
  min-height: 160px;
}

.tr-h-346 {
  height: 346px;
}

/* Text Quick Panel Preview Box Styles (Mobile Only) */
.text-quick-preview {
  display: none;
  padding: 12px 14px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

.text-quick-preview-label {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

.text-quick-preview-container {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px;
  min-height: 130px;
}

#textQuickPreviewCanvas {
  max-width: 100%;
  height: auto;
  cursor: text;
}

/* Mobile Responsive Styles for Text Quick Panel */
@media (max-width: 768px) {
  #textQuickPanel {
    position: fixed !important;
    top: 10px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 95vw !important;
    max-width: 420px !important;
    max-height: 88vh;
    overflow-y: auto;
    z-index: 10001 !important;
  }

  #textQuickPanel.text-quick-panel-visible {
    display: block;
  }

  /* Show preview on mobile */
  .text-quick-preview {
    display: block;
  }

  /* Make toolbar buttons more touch-friendly */
  .text-quick-toolbar button {
    min-width: 40px;
    min-height: 40px;
    padding: 8px 10px;
    gap: 6px;
    white-space: nowrap;
  }

  /* Make footer buttons full width on small screens */
  @media (max-width: 480px) {
    .text-quick-panel-footer {
      flex-direction: column;
    }

    .text-quick-panel-footer button {
      width: 100%;
    }
  }
}

@media (max-width: 608px) {
    .tr-h-346 {
        height: 250px;
    }
}
.tr-square::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.tr-space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.tr-space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.tr-space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

.tr-bg-white {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

.tr-bg-red {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 59, 61, var(--tw-bg-opacity));
}

.tr-bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgba(244, 244, 245, var(--tw-bg-opacity));
}

.tr-bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgba(228, 228, 231, var(--tw-bg-opacity));
}

.tr-bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgba(12, 123, 185, var(--tw-bg-opacity));
}

.hover\:tr-bg-gray-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(212, 212, 216, var(--tw-bg-opacity));
}

.hover\:tr-bg-primary_hover:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(12, 98, 146, var(--tw-bg-opacity));
}

.tr-bg-center {
  background-position: center;
}

.tr-bg-no-repeat {
  background-repeat: no-repeat;
}

.tr-bg-cover {
  background-size: cover;
}

.tr-border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgba(209, 213, 219, var(--tw-border-opacity));
}

.hover\:tr-border-gray-900:hover {
  --tw-border-opacity: 1;
  border-color: rgba(17, 24, 39, var(--tw-border-opacity));
}

.tr-rounded-sm {
  border-radius: 0.125rem;
}

.tr-rounded {
  border-radius: 0.25rem;
}

.tr-rounded-md {
  border-radius: 0.375rem;
}

.tr-rounded-full {
  border-radius: 9999px;
}

.tr-border-solid {
  border-style: solid;
}

.tr-border-0 {
  border-width: 0px;
}

.tr-border {
  border-width: 1px;
}

.tr-box-border {
  box-sizing: border-box;
}

.tr-cursor-pointer {
  cursor: pointer;
}

.tr-flex {
  display: flex;
}

.tr-grid {
  display: grid;
}

.tr-hidden {
  display: none;
}

.tr-flex-row {
  flex-direction: row;
}

.tr-flex-col {
  flex-direction: column;
}

.tr-flex-wrap {
  flex-wrap: wrap;
}

.tr-flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

.tr-items-start {
  align-items: flex-start;
}

.tr-items-end {
  align-items: flex-end;
}

.tr-items-center {
  align-items: center;
}

.tr-items-stretch {
  align-items: stretch;
}

.tr-justify-end {
  justify-content: flex-end;
}

.tr-justify-center {
  justify-content: center;
}

.tr-flex-1 {
  flex: 1 1 0%;
}

.tr-flex-none {
  flex: none;
}

.tr-flex-grow {
  flex-grow: 1;
}

.tr-flex-shrink {
  flex-shrink: 1;
}

.tr-font-arial {
  font-family: Arial, sans-serif;
}

.tr-font-bold {
  font-weight: 700;
}

.tr-h-36 {
  height: 9rem;
}

.tr-h-full {
  height: 100%;
}

.tr-text-xs {
  font-size: 11px;
  line-height: 15px;
}

.tr-text-sm {
  font-size: 15px;
  line-height: 19px;
}

.tr-text-base {
  font-size: 1.75rem;
  line-height: 2rem;
}

.tr-text-lg {
  font-size: 2rem;
  line-height: 2.75rem;
}

.tr-text-xl {
  font-size: 2.25rem;
  line-height: 2.75rem;
}

.tr-leading-none {
  line-height: 1;
}

.tr-leading-normal {
  line-height: 1.5;
}

.tr-list-none {
  list-style-type: none;
}

.tr-m-0 {
  margin: 0px !important;
}

.tr-m-auto {
  margin: auto;
}

.tr-my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.tr-mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.tr-my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.tr-mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.tr-mt-1 {
  margin-top: 0.25rem;
}

.tr-mb-1 {
  margin-bottom: 0.25rem;
}

.tr-mr-2 {
  margin-right: 0.5rem;
}

.tr-mb-2 {
  margin-bottom: 0.5rem;
}

.tr-ml-2 {
  margin-left: 0.5rem;
}

.tr-mr-3 {
  margin-right: 0.75rem;
}

.tr-mt-4 {
  margin-top: 1rem;
}

.tr-mr-4 {
  margin-right: 1rem;
}

.tr-mb-4 {
  margin-bottom: 1rem;
}

.tr-mr-6 {
  margin-right: 1.5rem;
}

.tr-mt-8 {
  margin-top: 2rem;
}

.tr-mr-8 {
  margin-right: 2rem;
}

.tr-mb-8 {
  margin-bottom: 2rem;
}

.tr-ml-8 {
  margin-left: 2rem;
}

.tr-mb-10 {
  margin-bottom: 2.5rem;
}

.tr-mb-12 {
  margin-bottom: 3rem;
}

.tr-mt-16 {
  margin-top: 4rem;
}

.tr-min-h-screen {
  min-height: 100vh;
}

.tr-overflow-auto {
  overflow: auto;
}

.tr-overflow-hidden {
  overflow: hidden;
}

.tr-p-2 {
  padding: 0.5rem !important;
}

.tr-p-4 {
  padding: 1rem;
}

.tr-p-6 {
  padding: 1.5rem;
}

.tr-p-8 {
  padding: 2rem;
}

.tr-py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.tr-py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.tr-px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.tr-px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.tr-px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.tr-px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.tr-px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.tr-px-14 {
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

.tr-py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.tr-pl-2 {
  padding-left: 0.5rem;
}

.tr-pr-4 {
  padding-right: 1rem;
}

.tr-pl-4 {
  padding-left: 1rem;
}

.tr-pt-8 {
  padding-top: 2rem;
}

.tr-pr-8 {
  padding-right: 2rem;
}

.tr-pointer-events-none {
  pointer-events: none;
}

.tr-fixed {
  position: fixed;
}

.tr-absolute {
  position: absolute;
}

.tr-relative {
  position: relative;
}

.tr-inset-0 {
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
}

* {
  --tw-shadow: 0 0 #0000;
}

.tr-shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.tr-shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

* {
  --tw-ring-inset: var(--tw-empty, /*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}

.tr-table-fixed {
  table-layout: fixed;
}

.tr-text-left {
  text-align: left;
}

.tr-text-center {
  text-align: center;
}

.tr-text-black {
  --tw-text-opacity: 1;
  color: rgba(0, 0, 0, var(--tw-text-opacity));
}

.tr-text-white {
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

.tr-text-blue-500 {
  --tw-text-opacity: 1;
  color: rgba(59, 130, 246, var(--tw-text-opacity));
}

.tr-text-orange {
  --tw-text-opacity: 1;
  color: rgba(255, 84, 0, var(--tw-text-opacity));
}

.tr-text-gray-500 {
  --tw-text-opacity: 1;
  color: rgba(113, 113, 122, var(--tw-text-opacity));
}

.tr-text-gray-700 {
  --tw-text-opacity: 1;
  color: rgba(63, 63, 70, var(--tw-text-opacity));
}

.tr-text-gray-800 {
  --tw-text-opacity: 1;
  color: rgba(39, 39, 42, var(--tw-text-opacity));
}

.tr-text-gray-900 {
  --tw-text-opacity: 1;
  color: rgba(24, 24, 27, var(--tw-text-opacity));
}

.tr-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tr-overflow-ellipsis {
  text-overflow: ellipsis;
}

.tr-no-underline {
  text-decoration: none;
}

.tr-w-16 {
  width: 4rem;
}

.tr-w-36 {
  width: 9rem;
}

.tr-w-auto {
  width: auto;
}

.tr-w-1\/2 {
  width: 50%;
}

.tr-w-1\/4 {
  width: 25%;
}

.tr-w-3\/4 {
  width: 90%;
}

.tr-w-full {
  width: 100%;
}

.tr-w-max {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.tr-z-0 {
  z-index: 0;
}

.tr-gap-2 {
  gap: 0.5rem;
}

.tr-gap-4 {
  gap: 1rem;
}

.tr-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@-webkit-keyframes tr-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes tr-spin {
  to {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes tr-ping {
  75%,
  100% {
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes tr-ping {
  75%,
  100% {
    transform: scale(2);
    opacity: 0;
  }
}

@-webkit-keyframes tr-pulse {
  50% {
    opacity: 0.5;
  }
}

@keyframes tr-pulse {
  50% {
    opacity: 0.5;
  }
}

@-webkit-keyframes tr-bounce {
  0%,
  100% {
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }

  50% {
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

@keyframes tr-bounce {
  0%,
  100% {
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }

  50% {
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

.tr-t-0 {
  top: 0px;
}

.tr-r-0 {
  right: 0px;
}

.tr-b-0 {
  bottom: 0px;
}

.tr-r-8 {
  right: 8px;
}

.tr-width-30 {
  width: 30px;
}

.tr-height-30 {
  height: 30px;
}

.tr-height-34 {
  height: 34px;
}

.tr-width-75 {
  width: 75px;
}

.tr-height-75 {
  height: 75px;
}

.tr-width-90 {
  width: 90px;
}

.tr-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tr-product-description{
    font-family: inherit;
}
.product__description__title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 2rem;
  margin-top: 0px;
  --tw-text-opacity: 1;
  color: rgba(24, 24, 27, var(--tw-text-opacity));
  margin-bottom: 1rem;
}

.selector-wrapper select{
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    display: block;
    width: 100%;
}
#addToCartBtn{
    width: 100%;
}
.pod__btn_addtocart{
        padding: 10px 20px;
    background: #4a6cf7;
    color:#fff;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 20px;
    cursor: pointer;
}



@media (min-width: 480px) {
  .sm\:tr-mr-4 {
    margin-right: 1rem;
  }

  .sm\:tr-w-20 {
    width: 5rem;
  }

  .sm\:tr-w-28 {
    width: 7rem;
  }

  .sm\:tr-w-32 {
    width: 8rem;
  }

  .sm\:tr-w-auto {
    width: auto;
  }

  .sm\:tr-w-1\/2 {
    width: 50%;
  }

  .sm\:tr-w-3\/4 {
    width: 75%;
  }
}

@media (min-width: 768px) {
  .md\:tr-mr-8 {
    margin-right: 2rem;
  }

  .md\:tr-w-48 {
    width: 12rem;
  }

  /* additional css by maulvi */
  .md\:tr-w-50 {
    width: 18rem;
  }

  .md\:tr-w-1\/4 {
    width: 25%;
  }

  .md\:tr-w-1\/2 {
    width: 50%;
  }

  .md\:tr-gap-6 {
    gap: 1.5rem;
  }

  .md\:tr-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (min-width: 840px) {
  .lg\:tr-mr-4 {
    margin-right: 1rem;
  }

  .lg\:tr-mr-8 {
    margin-right: 2rem;
  }

  .lg\:tr-p-12 {
    padding: 3rem;
  }

  .lg\:tr-px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:tr-pb-8 {
    padding-bottom: 2rem;
  }

  .lg\:tr-w-20 {
    width: 5rem;
  }

  .lg\:tr-w-28 {
    width: 7rem;
  }

  .lg\:tr-w-auto {
    width: auto;
  }

  .lg\:tr-gap-8 {
    gap: 2rem;
  }

  .lg\:tr-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .lg\:tr-sidebar {
    width: 390px;
  }

  .lg\:tr-editor-form {
    width: 300px;
  }

  .lg\:tr-edit-panel {
    min-height: 700px;
  }
}

@media (min-width: 1280px) {
  .xl\:tr-w-1\/4 {
    width: 25%;
  }
  .lg\:tr-sidebar {
    width: 450px;
  }
}

.micromodal-slide {
  z-index: 1060;
}

span.select2-container.select2-container--default.select2-container--open {
  z-index: 1099;
}

.tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.tag {
    background-color: #f0f0f0;
    padding: 0px 12px;
    border-radius: 20px;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
    -webkit-user-select: none;
    line-height: 1.5rem;
}

.tag.active {
    background-color: #4a6cf7;
    color: white;
}
.select2-container .select2-selection--single .select2-selection__rendered{
    font-size: 15px;
}

.fs-15 { font-size: 15px; line-height: 19px; }
.fs-19 { font-size: 19px; line-height: 23px; }
.fs-23 { font-size: 23px; line-height: 27px; }
.fs-27 { font-size: 27px; line-height: 31px; }
.fs-30 { font-size: 30px; line-height: 34px; }
.btn-popup {width: 205px!important; }

.tagBox{
    height: 400px;
    overflow: auto;
    display: none;
    position: absolute;
    top: 150px;
    right: 0;
    background-color: white;
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    margin: 0 20px;
    padding: 20px;
    z-index: 1000;
    border-radius: 8px;
}

.only-mobile { display: none; }
.only-dekstop { display: none; }
.v-none {  visibility: hidden; height: 1px; }
.title-mobile { padding: 25px 0px 30px 25px; }

/* CUSTOMIZER SPECIAL STYLES */
 
	  #productTitle {	
		font-size: 43px;
		line-height: 55px;
	  }
      .select2-selection__rendered {
          line-height: 40px !important;
      }
      .select2-container .select2-selection--single {
          height: 40px !important;
      }
      .select2-selection__arrow {
          height: 40px !important;
      }

      #rotateTxt{
        width: 70px !important;
        height: 70px !important
      }

      #rotateTxt .rs-container{
        width: 70px !important;
        height: 70px !important
      }

      #rotateImg{
        width: 70px !important;
        height: 70px !important
      }

      #rotateImg .rs-container{
        width: 70px !important;
        height: 70px !important
      }

      .page-container{
        -webkit-transform:none !important;
        transform:none !important;
      }

      .tr-color-box-inner, .rs-handle {
        display: block !important;
      }

      .tr-w-full.tr-height-34.tr-center img{
          height: 80%;
      }

      #output-AIImageGenerator ul{
        width: 100%;
      }
      .list-ai-style div:empty {
        display: block;
      }
      .micromodal-slide.is-open {
        background-color: rgba(0,0,0,0.3);
      }

      canvas.hasGrid {
          /* Create a more visible grid pattern using CSS gradients */
          background-image:
            linear-gradient(to right, rgba(0, 0, 0, 0.15) 1px, transparent 1px),
            linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 1px, transparent 1px);
          background-size: 20px 20px;
          background-repeat: repeat;
      }

      .tr-w-full.tr-height-34.tr-center svg {
        height: 100%;
      }

      .pc-toolbar {
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
        margin-bottom: 24px;
        align-items: stretch;
        justify-content: center;
        background: #ffffff;
        padding: 0;
        border-radius: 7px;
        border: 1px solid #e2e8f0;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06),
                    0 1px 3px rgba(0, 0, 0, 0.04);
        overflow: hidden;
        position: relative;
        /* Width dynamically synced to canvas via syncToolbarWidth() JS function */
      }

      .pc-toolbar::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg,
          transparent 0%,
          var(--pc-action-primary) 50%,
          transparent 100%);
        opacity: 0.15;
      }

      .pc-toolbar__btn {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 12px;
        border: none;
        background: transparent;
        padding: 9px 7px;
        font-size: 14px;
        font-weight: 600;
        letter-spacing: 0.3px;
        color: #64748b;
        cursor: pointer;
        border-radius: 0;
        border-right: 1px solid #e2e8f0;
        transition: all 0.2s ease;
        min-width: 140px;
        position: relative;
        flex: 1;
      }

      .pc-toolbar__btn:last-child {
        border-right: none;
      }

      .pc-toolbar__btn::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: var(--pc-action-primary);
        transform: scaleX(0);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        transform-origin: center;
      }

      .pc-toolbar__btn i {
        font-size: 27px;
        color: #94a3b8;
        transition: all 0.2s ease;
      }

      .pc-toolbar__btn span {
        white-space: nowrap;
        transition: all 0.2s ease;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
		margin-left: 10px;
      }

      .pc-toolbar__btn:hover {
        background: linear-gradient(180deg,
          rgba(14, 165, 233, 0.03) 0%,
          rgba(14, 165, 233, 0.08) 100%);
        color: var(--pc-action-primary);
      }

      .pc-toolbar__btn:hover::before {
        transform: scaleX(1);
      }

      .pc-toolbar__btn:hover i {
        color: var(--pc-action-primary);
        transform: scale(1.1);
      }

      .pc-toolbar__btn:active {
        background: rgba(14, 165, 233, 0.12);
      }

      .pc-toolbar__btn:active::before {
        transform: scaleX(0.9);
      }

      .pc-toolbar__btn:focus-visible {
        outline: 2px solid var(--pc-action-primary);
        outline-offset: -2px;
        z-index: 1;
      }

      /* Active/Selected state */
      .pc-toolbar__btn.active {
        color: var(--pc-action-primary);
        background: linear-gradient(180deg,
          rgba(14, 165, 233, 0.05) 0%,
          rgba(14, 165, 233, 0.1) 100%);
      }

      .pc-toolbar__btn.active::before {
        transform: scaleX(1);
      }

      .pc-toolbar__btn.active i {
        color: var(--pc-action-primary);
      }

      @media (max-width: 768px) {
        .pc-toolbar {
          border-radius: 10px;
          flex-wrap: nowrap;
        }

        .pc-toolbar__btn {
          flex-direction: column;
          padding: 12px 8px;
          font-size: 11px;
          min-width: auto;
          gap: 6px;
        }

        .pc-toolbar__btn span {
          font-size: 10px;
        }

        .pc-toolbar__btn i {
          font-size: 27px; padding: 0px 20px;
        }
      }
      .selector-wrapper select {
        padding: 12px !important;
      }
      #layerPanel {
        position: fixed;
        top: 180px;
        right: 40px;
        width: 240px;
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 12px;
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.18);
        z-index: 9999;
        display: none;
      }
      #layerPanel.layer-panel-visible {
        display: block;
      }
      #layerPanel .layer-panel-header {
        cursor: move;
        padding: 10px 12px;
        background: #f1f5f9;
        border-bottom: 1px solid #e2e8f0;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
        user-select: none;
      }
      #layerPanel .layer-panel-header button {
        background: transparent;
        border: none;
        font-size: 18px;
        cursor: pointer;
        color: #475569;
        line-height: 1;
      }
      #layerPanel .layer-panel-body {
        max-height: 320px;
        overflow-y: auto;
        padding: 10px 12px 14px;
      }
      #layerPanel ul {
        list-style: none;
        margin: 0;
        padding: 0;
      }
      #layerPanel li {
        padding: 8px 10px;
        border: 1px solid #e2e8f0;
        border-radius: 6px;
        margin-bottom: 6px;
        background: #ffffff;
        cursor: grab;
        font-size: 13px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
      }
      #layerPanel .layer-item-label {
        flex: 1 1 auto;
        margin-right: 8px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #layerPanel .layer-item-delete {
        border: none;
        background: transparent;
        color: #94a3b8;
        cursor: pointer;
        padding: 2px 6px;
        border-radius: 4px;
        font-size: 14px;
        line-height: 1;
        transition: color 0.2s ease, background 0.2s ease;
      }
      #layerPanel .layer-item-delete:hover {
        color: #ef4444;
        background: rgba(239, 68, 68, 0.1);
      }
      #layerPanel .layer-item-delete:focus-visible {
        outline: 2px solid #38bdf8;
        outline-offset: 1px;
      }
      #layerPanel li:last-child {
        margin-bottom: 0;
      }
      #layerPanel li.drag-over {
        border-color: #38bdf8;
        background: #f0f9ff;
        box-shadow: inset 0 0 0 1px #38bdf8;
      }
      #layerPanel li.layer-active {
        border-color: #0ea5e9;
        background: #f0f9ff;
        box-shadow: inset 0 0 0 1px #0ea5e9;
      }
      #layerPanel .layer-panel-empty {
        padding: 12px;
        text-align: center;
        color: #94a3b8;
        font-size: 13px;
      }
      #textQuickPanel {
        position: fixed;
        top: 140px;
        right: 320px;
        width: 380px;
        max-width: calc(100vw - 32px);
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 14px;
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.18);
        z-index: 10000;
        display: none;
        transition: box-shadow 0.2s ease;
        overflow: visible;
      }
      #textQuickPanel.text-quick-panel-visible {
        display: block;
      }
      #textQuickPanel.text-quick-panel-dragging {
        box-shadow: 0 24px 50px rgba(15, 23, 42, 0.26);
        cursor: grabbing;
      }
      #textQuickPanel .text-quick-panel-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 14px;
        background: #f1f5f9;
        border-bottom: 1px solid #e2e8f0;
        border-top-left-radius: 14px;
        border-top-right-radius: 14px;
        font-weight: 600;
        cursor: grab;
        user-select: none;
        gap: 12px;
      }
      #textQuickPanel .text-quick-panel-header button {
        background: transparent;
        border: none;
        color: #475569;
        font-size: 16px;
        line-height: 1;
        cursor: pointer;
        padding: 6px 8px;
        border-radius: 4px;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      #textQuickPanel .text-quick-panel-header button:hover {
        background: #f1f5f9;
        color: #1e293b;
      }
      #textQuickPanel .text-quick-panel-header button:active {
        background: #e2e8f0;
      }
      #textQuickPanel .text-quick-panel-header button i {
        font-size: 16px;
      }
      #textQuickPanel .text-quick-panel-body {
        padding: 14px;
        display: flex;
        flex-direction: column;
        gap: 14px;
        max-height: 420px;
        overflow-y: auto;
        overflow-x: visible;
      }
      .text-quick-panel-row {
        display: flex;
        flex-direction: column;
        gap: 6px; padding-top: 10px;
      }
      .text-quick-panel-row label {
        font-size: 12px;
        font-weight: 600;
        color: #475569;
        text-transform: uppercase;
        letter-spacing: 0.04em;
      }
      .text-quick-row-inline {
        flex-direction: row;
        align-items: flex-end;
        gap: 12px;
      }
      .text-quick-row-inline.text-quick-row-compact {
        align-items: flex-start;
      }
      .text-quick-field {
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .text-quick-field.is-disabled {
        opacity: 0.5;
        pointer-events: none;
      }
      .text-quick-row-inline.text-quick-row-compact .text-quick-field {
        flex: 1 1 0;
        min-width: 0;
      }
      .text-quick-panel-row select,
      .text-quick-panel-row input[type="number"],
      .text-quick-panel-row input[type="color"],
      .text-quick-panel-row textarea {
        width: 100%;
        border: 1px solid #cbd5f5;
        border-radius: 6px;
        padding: 8px 10px;
        font-size: 14px;
        color: #1f2937;
        background: #ffffff;
        outline: none;
        min-height: 36px;
      }
      .text-quick-panel-row input[type="color"] {
        height: 36px;
        padding: 0;
      }
      .text-quick-panel-row textarea {
        resize: vertical;
        font-family: inherit;
        line-height: 1.5;
        transition: border-color 0.15s ease;
      }
      #textQuickPanel input[type="range"] {
        --pc-range-accent: var(--pc-action-primary, #0ea5e9);
        --pc-range-track-bg: var(--pc-border-light, #e2e8f0);
        width: 100%;
        min-height: 10px;
        -webkit-appearance: none;
        appearance: none;
        height: 8px;
        border-radius: 999px;
        background: var(--pc-range-track-bg);
        border: none;
        outline: none;
        cursor: pointer;
        transition: background 0.2s ease;
        overflow: hidden;
      }
      #textQuickPanel input[type="range"]::-webkit-slider-runnable-track {
        background: transparent;
      }
      #textQuickPanel input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: var(--pc-range-accent);
        border: 2px solid var(--pc-surface-white, #ffffff);
        box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
        cursor: pointer;
        transition: transform 0.15s ease;
      }
      #textQuickPanel input[type="range"]:active::-webkit-slider-thumb {
        transform: scale(1.05);
      }
      #textQuickPanel input[type="range"]::-moz-range-track {
        background: var(--pc-range-track-bg);
        border: none;
      }
      #textQuickPanel input[type="range"]::-moz-range-progress {
        background: var(--pc-range-accent);
        height: 8px;
        border-radius: 999px;
      }
      #textQuickPanel input[type="range"]::-moz-range-thumb {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        border: 2px solid var(--pc-surface-white, #ffffff);
        background: var(--pc-range-accent);
        box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
        cursor: pointer;
      }
      .text-quick-panel-row textarea:focus {
        border-color: #0ea5e9;
        outline: 2px solid rgba(14, 165, 233, 0.1);
        outline-offset: 0;
      }
      .text-quick-tabs {
        display: flex;
        gap: 8px;
        margin-bottom: 16px;
      }
      .text-quick-tab-btn {
        flex: 1 1 0;
        border: 1px solid rgba(148, 163, 184, 0.8);
        background: #ffffff;
        color: #1f2937;
        font-weight: 600;
        border-radius: 999px;
        padding: 6px 12px;
        cursor: pointer;
        transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
      }
      .text-quick-tab-btn.is-active {
        background: #e0e7ff;
        border-color: #6366f1;
        color: #312e81;
      }
      .text-quick-section {
        display: none;
      }
      .text-quick-section.is-active {
        display: block;
      }
      .text-quick-help {
        font-size: 0.85rem;
        color: #6b7280;
        margin: 4px 0 12px;
      }
      [data-text-effect-radius-field].is-disabled {
        opacity: 0.55;
        pointer-events: none;
      }
      .text-quick-radius-value {
        font-weight: 600;
        margin-left: 4px;
        color: #4b5563;
      }
      .text-quick-shadow-color-field input[type="color"] {
        width: 100%;
        height: 36px;
        padding: 0;
      }
      .text-quick-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }
      .text-quick-toolbar--dual {
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
      }
      .text-quick-toolbar-group {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }
      .text-quick-toolbar button {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 6px;
          min-height: 36px;
          padding: 8px 12px;
          border-radius: 8px;
          border: 1px solid #e2e8f0;
          background: #ffffff;
          color: #1e293b;
          cursor: pointer;
          transition: all 0.15s ease;
          white-space: nowrap;
        }
      .text-quick-toolbar button:hover,
      .text-quick-toolbar button:focus-visible {
        border-color: #0ea5e9;
        color: #0ea5e9;
        outline: none;
      }
      .text-quick-toolbar button.text-quick-active {
        background: #0ea5e9;
        color: #ffffff;
        border-color: #0ea5e9;
      }
      .text-quick-toolbar button i {
          pointer-events: none;
        }
      .text-quick-toolbar button span {
          font-size: 12px;
          font-weight: 600;
          line-height: 1.2;
        }
      .text-quick-toolbar button svg {
        width: 20px;
        height: 20px;
        pointer-events: none;
      }
      .text-quick-panel-footer {
        display: flex;
        justify-content: flex-end;
        gap: 10px;
      }
      .text-quick-panel-footer button {
        font-size: 13px;
        font-weight: 600;
        border-radius: 8px;
        border: 1px solid #e2e8f0;
        padding: 6px 14px;
        background: #ffffff;
        color: #ef4444;
        cursor: pointer;
        transition: all 0.15s ease;
      }
      .text-quick-panel-footer button:hover,
      .text-quick-panel-footer button:focus-visible {
        border-color: #ef4444;
        background: #fef2f2;
        outline: none;
      }
      .text-quick-panel-footer button[data-text-panel-duplicate] {
        background: #0ea5e9;
        color: #ffffff;
        border-color: #0ea5e9;
      }
      .text-quick-panel-footer button[data-text-panel-duplicate]:hover,
      .text-quick-panel-footer button[data-text-panel-duplicate]:focus-visible {
        background: #0284c7;
        border-color: #0284c7;
        color: #ffffff;
      }
      #textQuickPanel .select2-container,
      #textQuickPanel .select2-container--open {
        z-index: 11050 !important;
      }
      .text-quick-row-inline.text-quick-row-compact input[type="number"] {
        max-width: 110px;
      }
      .text-quick-outline {
        display: flex;
        gap: 8px;
        align-items: center;
      }
      .text-quick-outline input[type="number"] {
        flex: 0 0 60px;
        max-width: 60px;
      }
      .text-quick-outline input[type="color"] {
        flex: 0 0 48px;
        padding: 0;
        height: 36px;
      }
      #textAddPanel {
        position: fixed;
        top: 120px;
        left: 50%;
        transform: translateX(-50%);
        width: 360px;
        max-width: calc(100vw - 32px);
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 16px;
        box-shadow: 0 24px 40px rgba(15, 23, 42, 0.18);
        z-index: 11060;
        display: none;
        flex-direction: column;
        gap: 16px;
        padding: 18px 20px;
      }
      #textAddPanel.text-add-panel-visible {
        display: flex;
      }
      #textAddPanel .text-add-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        cursor: grab;
        user-select: none;
      }
      #textAddPanel .text-add-title {
        font-size: 16px;
        font-weight: 600;
        color: #1f2937;
        flex: 1;
      }
      #textAddPanel .text-add-actions {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      #textAddPanel .text-add-minimize,
      #textAddPanel .text-add-close {
        border: none;
        background: transparent;
        color: #64748b;
        font-size: 25px;
        cursor: pointer;
        line-height: 1;
        padding: 0;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: all 0.2s;
      }
      #textAddPanel .text-add-minimize:hover,
      #textAddPanel .text-add-close:hover {
        background: #e5e7eb;
        color: #1f2937;
      }
      #textAddPanel .text-add-minimize i {
        transition: transform 0.3s ease;
      }
      #textAddPanel.text-add-panel-minimized .text-add-minimize i {
        transform: rotate(180deg);
      }
      #textAddPanel.text-add-panel-minimized {
        height: 75px !important; 
      }
      #textAddPanel.text-add-panel-minimized .text-add-body,
      #textAddPanel.text-add-panel-minimized .floating-panel-actions {
        max-height: 0;
        opacity: 0;
        padding: 0;
        overflow: hidden;
        pointer-events: none;
        transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
      }
      #textAddPanel .text-add-body {
        transition: max-height 0.3s ease, opacity 0.3s ease;
      }
      #textAddPanel textarea {
        width: 100%;
        border: 1px solid #d1d5db;
        border-radius: 10px;
        padding: 10px 12px;
        font-size: 14px;
        min-height: 110px;
        resize: vertical;
        color: #111827;
      }
      #textAddPanel textarea:focus {
        outline: none;
        border-color: #0ea5e9;
        box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.25);
      }
      #textAddPanel .text-add-selects {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      #textAddPanel .text-add-label {
        font-size: 12px;
        font-weight: 600;
        color: #475569;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        margin-bottom: 4px;
      }
      #textAddPanel .select2-container,
      #textAddPanel .select2-container--open {
        z-index: 11070 !important;
        width: 100% !important;
      }
      .floating-panel-actions {
        display: flex;
        justify-content: flex-end;
        gap: 12px;
        margin-top: 8px;
        flex-wrap: wrap;
      }
      .floating-panel-button {
        border: none;
        border-radius: 10px;
        padding: 10px 18px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: background 0.2s ease, color 0.2s ease;
      }
      .floating-panel-button i {
        font-size: 16px;
      }
      .floating-panel-button.primary {
        background: #0ea5e9;
        color: #ffffff;
      }
      .floating-panel-button.primary:hover,
      .floating-panel-button.primary:focus-visible {
        background: #0284c7;
        outline: none;
      }
      .floating-panel-button.secondary {
        background: #e2e8f0;
        color: #0f172a;
      }
      .floating-panel-button.secondary:hover,
      .floating-panel-button.secondary:focus-visible {
        background: #cbd5f5;
        outline: none;
      }
      #imageUploadPanel {
        position: fixed;
        top: 160px;
        left: 50%;
        transform: translateX(-50%);
        width: 360px;
        max-width: calc(100vw - 32px);
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 16px;
        box-shadow: 0 24px 40px rgba(15, 23, 42, 0.18);
        z-index: 11050;
        display: none;
        flex-direction: column;
        gap: 16px;
        padding: 20px 22px;
      }
      #textAddPanel.text-add-panel-dragging,
      #imageUploadPanel.image-upload-panel-dragging {
        cursor: grabbing;
        box-shadow: 0 28px 48px rgba(15, 23, 42, 0.22);
      }
      #imageUploadPanel.image-upload-panel-visible {
        display: flex;
      }
      #imageUploadPanel .image-upload-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        cursor: grab;
        user-select: none;
      }
      #imageUploadPanel .image-upload-title {
        font-size: 18px;
        font-weight: 600;
        color: #1f2937;
        flex: 1;
      }
      #imageUploadPanel .image-upload-actions {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      #imageUploadPanel .image-upload-minimize,
      #imageUploadPanel .image-upload-close {
        border: none;
        background: transparent;
        color: #64748b;
        font-size: 18px;
        cursor: pointer;
        line-height: 1;
        padding: 0;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: all 0.2s;
      }
      #imageUploadPanel .image-upload-close {
        font-size: 25px;
      }
      #imageUploadPanel .image-upload-minimize:hover,
      #imageUploadPanel .image-upload-close:hover {
        background: #e5e7eb;
        color: #1f2937;
      }
      #imageUploadPanel .image-upload-minimize i {
        transition: transform 0.3s ease;
      }
      #imageUploadPanel.image-upload-panel-minimized .image-upload-minimize i {
        transform: rotate(180deg);
      }
      #imageUploadPanel .image-upload-body {
        display: flex;
        flex-direction: column;
        gap: 12px;
        color: #475569;
        font-size: 14px;
        transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
      }
      #imageUploadPanel.image-upload-panel-minimized {
        height: 75px !important;
      }
      #imageUploadPanel.image-upload-panel-minimized .image-upload-body,
      #imageUploadPanel.image-upload-panel-minimized .floating-panel-actions {
        max-height: 0;
        opacity: 0;
        padding: 0;
        overflow: hidden;
        pointer-events: none;
      }
      #imageUploadPanel .image-upload-body a {
        color: #0ea5e9;
        text-decoration: none;
      }
      #imageUploadPanel .image-upload-body a:hover,
      #imageUploadPanel .image-upload-body a:focus-visible {
        text-decoration: underline;
        outline: none;
      }

      @media (max-width: 768px) {
        #imageUploadPanel {
          top: 10px !important;
          left: 50% !important;
          right: auto !important;
          transform: translateX(-50%) !important;
          width: 95vw !important;
          max-width: 420px !important;
        }
      }

        /* Clipart Floating Panel Styles */
      #clipartPanel {
        position: fixed;
        top: 50px;
        left: 50%;
        transform: translateX(-50%);
        width: 800px;
        max-width: calc(100vw - 40px); 
		height: 90vh;
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 16px;
        box-shadow: 0 24px 40px rgba(15, 23, 42, 0.18);
        z-index: 11050;
        display: none;
        flex-direction: column;
        overflow: hidden;
      }
      #clipartPanel.clipart-panel-visible {
        display: flex;
      }
      #clipartPanel.clipart-panel-dragging {
        cursor: grabbing;
        box-shadow: 0 28px 48px rgba(15, 23, 42, 0.22);
      }
      #clipartPanel .clipart-panel-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 20px 22px;
        border-bottom: 1px solid #e5e7eb;
        cursor: grab;
        user-select: none;
        background: #f9fafb;
      }
      #clipartPanel .clipart-panel-title {
        font-size: 18px;
        font-weight: 600;
        color: #1f2937;
        flex: 1;
      }
      #clipartPanel .clipart-panel-actions {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      #clipartPanel .clipart-panel-minimize,
      #clipartPanel .clipart-panel-close {
        border: none;
        background: transparent;
        color: #64748b;
        font-size: 18px;
        cursor: pointer;
        line-height: 1;
        padding: 0;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: all 0.2s;
      }
      #clipartPanel .clipart-panel-close {
        font-size: 24px;
      }
      #clipartPanel .clipart-panel-minimize:hover,
      #clipartPanel .clipart-panel-close:hover {
        background: #e5e7eb;
        color: #1f2937;
      }
      #clipartPanel .clipart-panel-minimize i {
        transition: transform 0.3s ease;
      }
      #clipartPanel.clipart-panel-minimized .clipart-panel-minimize i {
        transform: rotate(180deg);
      }
      #clipartPanel .clipart-panel-body {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 16px 20px;
        overflow: hidden;
        flex: 1;
        max-height: calc(100vh - 80px);
        transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
        
      }
      #clipartPanel.clipart-panel-minimized {
        height: auto !important;
      }
      #clipartPanel.clipart-panel-minimized .clipart-panel-header {
        border-bottom: none;
      }
      #clipartPanel.clipart-panel-minimized .clipart-panel-body {
        max-height: 0;
        opacity: 0;
        padding: 0 20px;
        overflow: hidden;
        pointer-events: none;
      }
      #clipartPanel .clipart-panel-filters {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      #clipartPanel .clipart-panel-filters--inline {
        flex-direction: row;
        align-items: flex-end;
        gap: 12px;
        flex-wrap: wrap;
      }
      #clipartPanel .clipart-panel-filters--inline .clipart-filter-group {
        flex: 1 1 0;
        min-width: 180px;
      }
      #clipartPanel .clipart-filter-group {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      #clipartPanel .clipart-filter-label {
        font-size: 13px;
        font-weight: 500;
        color: #475569;
      }
      #clipartPanel .clipart-filter-select {
        width: 100%;
        padding: 8px 12px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        font-size: 14px;
        background: #ffffff;
        color: #1f2937;
      }
      #clipartPanel .clipart-search-wrapper {
        position: relative;
        display: flex;
        align-items: center;
      }
      #clipartPanel .clipart-search-input {
        width: 100%;
        padding: 8px 32px 8px 12px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        font-size: 14px;
        background: #ffffff;
        color: #1f2937;
      }
      #clipartPanel .clipart-search-input:focus {
        outline: none;
        border-color: #0ea5e9;
        box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1);
      }
      #clipartPanel .clipart-search-reset {
        position: absolute;
        right: 8px;
        border: none;
        background: #e5e7eb;
        color: #64748b;
        font-size: 18px;
        cursor: pointer;
        line-height: 1;
        padding: 0;
        width: 20px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
      }
      #clipartPanel .clipart-search-reset:hover {
        background: #d1d5db;
        color: #1f2937;
      }
      #clipartPanel .clipart-tags-toggle {
        width: 100%;
        padding: 8px 12px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        font-size: 14px;
        background: #ffffff;
        color: #1f2937;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 8px;
        transition: all 0.2s;
      }
      #clipartPanel .clipart-tags-toggle:hover {
        background: #f9fafb;
        border-color: #0ea5e9;
      }
      #clipartPanel .clipart-selected-tag {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 12px;
        background: #e0f2fe;
        border-radius: 20px;
        font-size: 13px;
        color: #075985;
      }
      #clipartPanel .clipart-tag-clear {
        border: none;
        background: #0ea5e9;
        color: #ffffff;
        font-size: 14px;
        cursor: pointer;
        line-height: 1;
        padding: 0;
        width: 18px;
        height: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
      }
      #clipartPanel .clipart-tag-clear:hover {
        background: #0284c7;
      }
      #clipartPanel .clipart-tags-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin-top: 4px;
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        z-index: 10;
        max-height: 200px;
        overflow-y: auto;
      }
      #clipartPanel .clipart-tags-dropdown-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        border-bottom: 1px solid #e5e7eb;
        background: #f9fafb;
        position: sticky;
        top: 0;
        z-index: 1;
      }
      #clipartPanel .clipart-tags-dropdown-header h4 {
        margin: 0;
        font-size: 14px;
        font-weight: 600;
        color: #1f2937;
      }
      #clipartPanel .clipart-tags-close {
        border: none;
        background: transparent;
        color: #64748b;
        font-size: 20px;
        cursor: pointer;
        line-height: 1;
        padding: 0;
      }
      #clipartPanel .clipart-tags-wrapper {
        position: relative;
      }
      #clipartPanel .clipart-tags-input-container {
        position: relative;
        display: flex;
        align-items: center;
      }
      #clipartPanel .clipart-tags-icon {
        position: absolute;
        left: 10px; 
        font-size: 12px;
        pointer-events: none;
      }
      #clipartPanel .clipart-tags-input {
        width: 100%;
        padding: 8px 30px 8px 32px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        font-size: 13px;
        outline: none;
        transition: border-color 0.2s;
        background: #fff;
      }
      #clipartPanel .clipart-tags-input:focus {
        border-color: #0ea5e9;
      }
      #clipartPanel .clipart-tags-input::placeholder {
        color: #9ca3af;
      }
      #clipartPanel .clipart-tags-input.has-value {
        color: #075985;
        font-weight: 500;
      }
      #clipartPanel .clipart-tag-clear {
        position: absolute;
        right: 8px;
        background: none;
        border: none;
        color: #9ca3af;
        font-size: 16px;
        cursor: pointer;
        padding: 0;
        line-height: 1;
      }
      #clipartPanel .clipart-tag-clear:hover {
        color: #ef4444;
      }
      #clipartPanel .clipart-tags-autocomplete {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        max-height: 200px;
        overflow-y: auto;
        z-index: 100;
        margin-top: 4px;
      }
      #clipartPanel .clipart-tag-option {
        padding: 10px 12px;
        font-size: 13px;
        color: #374151;
        cursor: pointer;
        transition: background 0.15s;
      }
      #clipartPanel .clipart-tag-option:hover {
        background: #e0f2fe;
        color: #075985;
      }
      #clipartPanel .clipart-tag-option.highlighted {
        background: #f1f5f9;
      }
      #clipartPanel .clipart-tags-no-results {
        padding: 10px 12px;
        font-size: 13px;
        color: #9ca3af;
        text-align: center;
      }
      #clipartPanel .clipart-grid-container {
        flex: 1;
        min-height: 200px;
        height: 100%;
        position: relative;
        overflow-y: auto;
        max-height: calc(100vh - 260px);
        overscroll-behavior: contain;
      }
      #clipartPanel .clipart-grid {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 12px;
      }
      #clipartPanel .clipart-grid-item {
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        overflow: hidden;
        cursor: pointer;
        transition: all 0.2s;
        background: #f9fafb;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 8px;
      }
      #clipartPanel .clipart-grid-item .clipart-thumb {
        aspect-ratio: 1;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      #clipartPanel .clipart-grid-item .clipart-name {
        font-size: 10px; 
        text-align: center;
        margin-top: 4px;
        width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        line-height: 1.2;
      }
      #clipartPanel .clipart-grid-item:hover {
        border-color: #0ea5e9;
        box-shadow: 0 4px 12px rgba(14, 165, 233, 0.2);
        transform: translateY(-2px);
      }
      #clipartPanel .clipart-grid-item .clipart-thumb img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
      #clipartPanel .clipart-loading,
      #clipartPanel .clipart-empty {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        color: #64748b;
      }

      /* Undo/Redo Floating Buttons */
      .undo-redo-container {
        position: absolute;
        top: 20px;
        right: 20px;
        z-index: 1000;
        display: flex;
        gap: 8px;
      }
      .undo-redo-btn {
        width: 44px;
        height: 44px;
        border: none;
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #475569;
        font-size: 18px;
        transition: all 0.2s ease;
      }
      .undo-redo-btn:hover {
        background: #f9fafb;
        border-color: #0ea5e9;
        color: #0ea5e9;
        box-shadow: 0 4px 12px rgba(14, 165, 233, 0.2);
        transform: translateY(-2px);
      }
      .undo-redo-btn:active {
        transform: translateY(0);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      }
      .undo-redo-btn:disabled {
        opacity: 0.4;
        cursor: not-allowed;
        background: #f1f5f9;
        border-color: #e2e8f0;
        color: #94a3b8;
      }
      .undo-redo-btn:disabled:hover {
        transform: none;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        border-color: #e2e8f0;
        background: #f1f5f9;
        color: #94a3b8;
      }
      @media (max-width: 600px) {
        .undo-redo-container {
          top: 10px;
          right: 10px;
          gap: 6px;
        }
        .undo-redo-btn {
          width: 38px;
          height: 38px;
          font-size: 16px;
        }
      }

      /* Save/Load Design Floating Buttons */
      .save-load-container {
        position: absolute;
        bottom: 20px;
        left: 20px;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .save-load-btn {
        width: 44px;
        height: 44px;
        border: none;
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #475569;
        font-size: 18px;
        transition: all 0.2s ease;
      }
      .save-load-btn:hover {
        background: #f9fafb;
        border-color: var(--pc-action-primary);
        color: var(--pc-action-primary);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
        transform: translateY(-2px);
      }
      .save-load-btn:active {
        transform: translateY(0);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      }
      @media (max-width: 600px) {
        .save-load-container {
          bottom: 10px;
          left: 10px;
          gap: 6px;
        }
        .save-load-btn {
          width: 38px;
          height: 38px;
          font-size: 16px;
        }
      }

      /* Save/Load Design Modal Styles */
      .pc-modal {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99999;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .pc-modal-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px);
      }
      .pc-modal-content {
        position: relative;
        background: #ffffff;
        border-radius: 12px;
        max-width: 1000px;
        width: 90%;
        max-height: 85vh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
      }
      .pc-modal-header {
        padding: 20px 24px;
        border-bottom: 1px solid #e5e7eb;
        display: flex;
        align-items: center;
        justify-content: space-between;
      }
      .pc-modal-header h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
        color: #1f2937;
      }
      .pc-modal-close {
        background: none;
        border: none;
        font-size: 28px;
        line-height: 1;
        color: #6b7280;
        cursor: pointer;
        padding: 0;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 6px;
        transition: all 0.2s ease;
      }
      .pc-modal-close:hover {
        background: #f3f4f6;
        color: #1f2937;
      }
      .pc-modal-body {
        padding: 24px;
        overflow-y: auto;
        flex: 1;
      }
      .pc-modal-footer {
        padding: 16px 24px;
        border-top: 1px solid #e5e7eb;
        display: flex;
        gap: 12px;
        justify-content: flex-end;
      }
      .pc-form-group {
        margin-bottom: 20px;
      }
      .pc-form-group label {
        display: block;
        margin-bottom: 8px;
        font-size: 14px;
        font-weight: 500;
        color: #374151;
      }
      .pc-radio-group {
        display: inline-flex;
        align-items: center;
        margin-right: 20px;
        cursor: pointer;
      }
      .pc-radio-group input[type="radio"] {
        margin-right: 8px;
        cursor: pointer;
      }
      .pc-radio-group span {
        font-weight: 400;
      }
      .pc-form-input,
      .pc-form-textarea,
      .pc-form-select {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #d1d5db;
        border-radius: 6px;
        font-size: 14px;
        color: #1f2937;
        transition: all 0.2s ease;
      }
      .pc-form-input:focus,
      .pc-form-textarea:focus,
      .pc-form-select:focus {
        outline: none;
        border-color: var(--pc-action-primary);
        box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
      }
      .pc-form-textarea {
        resize: vertical;
        min-height: 80px;
      }
      .pc-btn {
        padding: 10px 20px;
        border: none;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
      }
      .pc-btn-primary {
        background: var(--pc-action-primary);
        color: var(--pc-text-inverse);
      }
      .pc-btn-primary:hover {
        background: var(--pc-action-primary-hover);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      }
      .pc-btn-secondary {
        background: #f3f4f6;
        color: #374151;
      }
      .pc-btn-secondary:hover {
        background: #e5e7eb;
      }
      .pc-save-form-section {
        margin-top: 16px;
      }
      /* Search Box */
      .pc-design-search-wrapper {
        position: relative;
        margin-bottom: 20px;
      }
      .pc-design-search-input {
        width: 100%;
        padding: 12px 40px 12px 16px;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        font-size: 14px;
        color: #1f2937;
        outline: none;
        transition: all 0.2s ease;
      }
      .pc-design-search-input:focus {
        border-color: var(--pc-action-primary);
        box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1);
      }
      .pc-design-search-input::placeholder {
        color: #9ca3af;
      }
      .pc-design-search-icon {
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #9ca3af;
        pointer-events: none;
      }

      /* Design Grid - 4 Cards Per Row */
      .pc-design-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        padding: 4px;
      }

      /* Design Card */
      .pc-design-card {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        overflow: hidden;
        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        display: flex;
        flex-direction: column;
        cursor: pointer;
        position: relative;
      }

      .pc-design-card:hover {
        border-color: var(--pc-action-primary);
        box-shadow: 0 8px 20px rgba(14, 165, 233, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
        transform: translateY(-3px);
      }

      /* Preview Section */
      .pc-design-preview {
        width: 100%;
        height: 140px;
        background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom: 1px solid #e5e7eb;
        position: relative;
        overflow: hidden;
      }

      .pc-design-preview img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 8px;
        transition: transform 0.25s ease;
      }

      .pc-design-card:hover .pc-design-preview img {
        transform: scale(1.05);
      }

      .pc-design-preview .no-preview {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        color: #9ca3af;
      }

      .pc-design-preview .no-preview i {
        font-size: 28px;
        opacity: 0.4;
      }

      .pc-design-preview .no-preview span {
        font-size: 11px;
        font-weight: 500;
      }

      /* Info Section */
      .pc-design-info {
        padding: 10px 12px;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 6px;
      }

      .pc-design-info .design-name {
        margin: 0;
        font-size: 13px;
        font-weight: 600;
        color: #1f2937;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        line-height: 1.3;
      }

      .pc-design-info .sides-count {
        display: inline-block;
        padding: 2px 6px;
        font-size: 10px;
        font-weight: 600;
        background: #eff6ff;
        color: var(--pc-action-primary);
        border-radius: 4px;
        align-self: flex-start;
      }

      .pc-design-info .design-description {
        margin: 0;
        font-size: 11px;
        color: #6b7280;
        line-height: 1.4;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        max-height: 32px;
      }

      .pc-design-info .design-meta {
        margin-top: auto;
      }

      .pc-design-info .design-date {
        font-size: 10px;
        color: #9ca3af;
        display: flex;
        align-items: center;
        gap: 4px;
      }

      .pc-design-info .design-date i {
        font-size: 9px;
      }

      /* Actions Section */
      .pc-design-actions {
        display: flex;
        gap: 6px;
        padding: 8px 12px;
        border-top: 1px solid #f3f4f6;
      }

      .pc-design-actions .pc-btn {
        flex: 1;
        padding: 9px 10px;
        font-size: 12px;
        font-weight: 600;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
      }

      .pc-design-actions .pc-btn i {
        font-size: 10px;
      }

      .pc-design-actions .pc-btn-primary {
        background: var(--pc-action-primary);
        color: #fff;
      }

      .pc-design-actions .pc-btn-primary:hover {
        background: #0284c7;
        transform: translateY(-1px);
        box-shadow: 0 2px 8px rgba(14, 165, 233, 0.3);
      }

      .pc-design-actions .pc-btn-danger {
        background: transparent;
        color: #ef4444;
        flex: 0 0 auto;
        padding: 6px 8px;
      }

      .pc-design-actions .pc-btn-danger:hover {
        background: #fef2f2;
        transform: scale(1.05);
      }
      .pc-design-loading {
        padding: 60px 40px;
        text-align: center;
        color: #6b7280;
      }
      .pc-design-loading p {
        margin-top: 16px;
        font-size: 14px;
      }
      .pc-design-empty {
        padding: 60px 40px;
        text-align: center;
        color: #6b7280;
        grid-column: 1 / -1; /* Span all columns */
      }
      .pc-design-empty-icon {
        width: 80px;
        height: 80px;
        margin: 0 auto 20px;
        background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .pc-design-empty-icon i {
        font-size: 36px;
        color: var(--pc-action-primary);
        opacity: 0.8;
      }
      .pc-design-empty h3 {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 600;
        color: #1f2937;
      }
      .pc-design-empty p {
        margin: 0 0 24px 0;
        font-size: 14px;
        color: #6b7280;
        line-height: 1.6;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
      }
      .pc-design-empty-tips {
        margin-top: 24px;
        padding: 20px;
        background: #f9fafb;
        border-radius: 8px;
        text-align: left;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
      }
      .pc-design-empty-tips h4 {
        margin: 0 0 12px 0;
        font-size: 14px;
        font-weight: 600;
        color: #1f2937;
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .pc-design-empty-tips h4 i {
        color: var(--pc-action-primary);
        font-size: 16px;
      }
      .pc-design-empty-tips ul {
        margin: 0;
        padding-left: 20px;
        list-style: none;
      }
      .pc-design-empty-tips li {
        margin-bottom: 8px;
        font-size: 13px;
        color: #6b7280;
        line-height: 1.5;
        position: relative;
        padding-left: 20px;
      }
      .pc-design-empty-tips li:before {
        content: "•";
        position: absolute;
        left: 0;
        color: var(--pc-action-primary);
        font-weight: bold;
        font-size: 16px;
      }
      .pc-design-empty-tips li:last-child {
        margin-bottom: 0;
      }

      /* Responsive Design - 4/3/2/1 columns */
      @media (max-width: 1200px) {
        .pc-design-grid {
          grid-template-columns: repeat(3, 1fr);
        }
      }

      @media (max-width: 992px) {
        .pc-modal-content {
          max-width: 700px;
        }
        .pc-design-grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }

      @media (max-width: 576px) {
        .pc-modal-content {
          max-width: 95%;
          max-height: 90vh;
        }
        .pc-design-grid {
          grid-template-columns: 1fr;
        }
        .pc-design-preview {
          height: 180px;
        }
      }

      /* Custom Alert Modal Styles */
      .pc-alert-modal {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 999999;
        display: flex;
        align-items: center;
        justify-content: center;
        animation: pcAlertFadeIn 0.2s ease;
      }
      @keyframes pcAlertFadeIn {
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
      }
      .pc-alert-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px);
      }
      .pc-alert-content {
        position: relative;
        background: #ffffff;
        border-radius: 12px;
        max-width: 420px;
        width: 90%;
        padding: 32px;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
        text-align: center;
        animation: pcAlertSlideUp 0.3s ease;
      }
      @keyframes pcAlertSlideUp {
        from {
          transform: translateY(20px);
          opacity: 0;
        }
        to {
          transform: translateY(0);
          opacity: 1;
        }
      }
      .pc-alert-icon {
        font-size: 48px;
        margin-bottom: 20px;
      }
      .pc-alert-icon.info {
        color: var(--pc-action-primary);
      }
      .pc-alert-icon.success {
        color: #10b981;
      }
      .pc-alert-icon.warning {
        color: #f59e0b;
      }
      .pc-alert-icon.error {
        color: #ef4444;
      }
      .pc-alert-icon.question {
        color: var(--pc-action-primary);
      }
      .pc-alert-message {
        font-size: 16px;
        line-height: 1.6;
        color: #374151;
        margin-bottom: 24px;
      }
      .pc-alert-message strong {
        font-weight: 600;
        color: #1f2937;
      }
      .pc-alert-buttons {
        display: flex;
        gap: 12px;
        justify-content: center;
      }
      .pc-alert-buttons .pc-btn {
        min-width: 100px;
      }
      @media (max-width: 480px) {
        .pc-alert-content {
          padding: 24px;
          max-width: 320px;
        }
        .pc-alert-icon {
          font-size: 40px;
          margin-bottom: 16px;
        }
        .pc-alert-message {
          font-size: 14px;
          margin-bottom: 20px;
        }
        .pc-alert-buttons {
          flex-direction: column;
        }
        .pc-alert-buttons .pc-btn {
          width: 100%;
        }
      }

      /* Clipart Panel Responsive Styles for screens <= 800px */
      @media (max-width: 800px) {
        #clipartPanel {
          top: 0;
          left: 0;
          right: 0;
          width: 100%;
          max-width: 100%;
          max-height: 90vh;
          border-radius: 0;
          transform: none;
		  height: 90vh !important;
        }
        #clipartPanel .clipart-grid {
          grid-template-columns: repeat(4, 1fr);
          gap: 8px;
        }
        #clipartPanel .clipart-panel-header {
          padding: 16px;
        }
        #clipartPanel .clipart-panel-body {
          padding: 12px 16px;
        }
      }

      @media (max-width: 600px) {
        #designCanvas {
            width: 100%;
            max-width: 100%;
            margin: 0 auto;
            position: relative;
        }
        #layerPanel {
            width: calc(100% - 32px);
            left: 16px;
            right: auto;
            top: 120px;
        }
        #textQuickPanel {
            width: calc(100% - 32px);
            left: 16px;
            right: 16px;
            top: 96px;
        }
        .pc-toolbar {
            gap: 15px;
        }
        .pc-toolbar__btn {
            font-size: 14px;
        }
        .canvas-container,
        .front-design-canvas {
            max-width: 100%;
        }
        .tr-w-full{
          height: auto;
        }
        .mobile-block{
            display: block;
        }
    }

    .product__title h1 {
        margin: 0;
        margin-bottom: 1rem;
    }
    .customText{
        margin: 10px 5px;
    }
    .pod_exit{
        color: red;
        cursor: pointer;
        text-decoration: none;
        padding: 5px 10px;
        border: 1px solid red;
    }
    .pod_exit:hover{
        background: red;
        color:#fff !important;
    }
	
    @media (max-width: 608px) {
        #productDetail-outter {
            margin-top: 0 !important;
        }
        .\#price {
            display: none !important;
        }
    } 
@media (min-width: 768px) {
    .tagBox{
         margin: 0 60px;
    }
}
@media (max-width: 608px) {
     .only-mobile { display: block!important; }
	 #addToCartBtn { position: fixed; bottom: 0px; left: 0px; z-index: 99999 }
	 #tr-featured-product { padding: 0px!important; }
}


@media (min-width: 1000px) {
	 .only-dekstop { display: block!important; }
}

/* Price Row Styling */
.price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Main Product Price */
.productPrice,
#productPrice {
  font-size: 24px;
  font-weight: 700;
  color: #f97316; /* Orange color */
}

/* Compare Price (Original Price) */
.product-compare-price,
#productComparePrice {
  font-size: 18px;
  color: #9ca3af;
  text-decoration: line-through;
  font-weight: 400;
  opacity: 0.8;
}

.price-compare-hidden {
  display: none;
}

/* WaitMe Loading Overlay - Must appear above all modals */
.waitMe_container {
  z-index: 9999999 !important;
}

body > .waitMe_container {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Button Spinner Animation */
.pc-btn .btn-spinner i {
  margin-right: 6px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.pc-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
