/* Think Gifts Figma Experience — Clean Bridge 4.1.14 */

:root {
  --tgfe-ink: #301618;
  --tgfe-deep: #3d0a01;
  --tgfe-cream: #fef7ef;
  --tgfe-card: #FFFFFF;
  --tgfe-border: #ded4ce;
  --tgfe-muted: #6f625d;
  --tgfe-soft: #f7f1eb;
}

/* One outer viewport and one measured site frame. The JavaScript updates the
   two inset variables from the live header controls (Collections to Account). */
body .tgms {
  --tgms-site-left: 20px;
  --tgms-site-right: 20px;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.tgfe-clean-entry,
.tgfe-clean-shell {
  box-sizing: border-box;
  font-family: Karla, Arial, sans-serif;
  color: var(--tgfe-ink);
}

.tgfe-clean-entry *,
.tgfe-clean-shell * {
  box-sizing: border-box;
}

/* Gift Genie entry screen — one responsive system for desktop, tablet and mobile. */
body .tgms:not(.is-workspace-open) .tgms-entry-choice.tgfe-clean-entry-mounted {
  position: relative !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .tgms:not(.is-workspace-open) .tgms-entry-choice.tgfe-clean-entry-mounted > :not(.tgfe-clean-entry) {
  position: absolute !important;
  inset: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body .tgfe-clean-entry {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  margin: 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(229, 218, 209, .24), transparent 34%),
    #fbf8f5 !important;
}

body .tgfe-entry-inner {
  width: 100% !important;
  margin: 0 auto !important;
}

body .tgfe-entry-hero {
  text-align: center !important;
}

body .tgfe-entry-hero h2 {
  margin: 0 !important;
  color: #301618 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 700 !important;
  line-height: .95 !important;
  letter-spacing: -.03em !important;
  text-transform: none !important;
}

body .tgfe-entry-brand {
  display: block !important;
  color: #301618 !important;
  font-family: Karla, Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

body .tgfe-entry-hero p {
  color: #6f4a46 !important;
  font-family: Karla, Arial, sans-serif !important;
  font-weight: 600 !important;
}

body .tgfe-entry-grid {
  display: grid !important;
  align-items: stretch !important;
}

body button.tgfe-entry-card {
  appearance: none !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body button.tgfe-entry-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 24px 58px rgba(48, 22, 24, .14) !important;
  }
}

body button.tgfe-entry-card:active {
  transform: translateY(-1px) !important;
}

body button.tgfe-entry-card:focus-visible {
  outline: 3px solid rgba(211, 166, 128, .9) !important;
  outline-offset: 4px !important;
}

body button.tgfe-entry-card-ai {
  border: 1px solid rgba(255, 249, 245, .10) !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 249, 245, .07), transparent 25%),
    linear-gradient(165deg, rgba(255, 249, 245, .025), transparent 42%),
    linear-gradient(135deg, #522327 0%, #301618 52%, #220e10 100%) !important;
  color: #fff9f5 !important;
  box-shadow: 0 18px 50px rgba(48, 22, 24, .14) !important;
}

body button.tgfe-entry-card-ai::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: .12 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(120deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(30deg, rgba(255,255,255,.05) 1px, transparent 1px) !important;
  background-size: 18px 18px !important;
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 78%) !important;
  mask-image: linear-gradient(to bottom, black, transparent 78%) !important;
}

body button.tgfe-entry-card-manual {
  border: 1px solid #e5dad1 !important;
  background: #fff !important;
  color: #4f4742 !important;
  box-shadow: 0 18px 50px rgba(48, 22, 24, .09) !important;
}

body .tgfe-entry-card-top,
body .tgfe-entry-card-content,
body .tgfe-entry-card-footer {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
}

body .tgfe-entry-card-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
}

body .tgfe-entry-mode-icon {
  display: grid !important;
  place-items: center !important;
}

body .tgfe-entry-mode-icon svg {
  stroke-width: 1.8 !important;
}

body .tgfe-entry-card-ai .tgfe-entry-mode-icon {
  border: 1px solid rgba(255,249,245,.18) !important;
  background: rgba(255,249,245,.055) !important;
  color: #d7a84d !important;
}

body .tgfe-entry-card-manual .tgfe-entry-mode-icon {
  border: 1px solid #e5dad1 !important;
  background: #f7f1ec !important;
  color: #301618 !important;
}

body .tgfe-entry-recommended {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  background: #f6e9df !important;
  color: #301618 !important;
  font-family: Karla, Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.08) !important;
}

body .tgfe-entry-recommended svg {
  fill: currentColor !important;
}

body .tgfe-entry-card-title {
  display: block !important;
  margin: 0 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  overflow-wrap: anywhere !important;
}

body .tgfe-entry-card-ai .tgfe-entry-card-title { color: #fff9f5 !important; }
body .tgfe-entry-card-manual .tgfe-entry-card-title { color: #301618 !important; }

body .tgfe-entry-description {
  display: block !important;
  max-width: 520px !important;
  font-family: Karla, Arial, sans-serif !important;
  font-weight: 500 !important;
}

body .tgfe-entry-card-ai .tgfe-entry-description { color: #f3e8e2 !important; }
body .tgfe-entry-card-manual .tgfe-entry-description { color: #4f4742 !important; }

body .tgfe-entry-benefits {
  display: grid !important;
}

body .tgfe-entry-benefits > span {
  display: flex !important;
  align-items: flex-start !important;
  font-family: Karla, Arial, sans-serif !important;
  font-weight: 500 !important;
}

body .tgfe-entry-card-ai .tgfe-entry-benefits > span { color: #f3e8e2 !important; }
body .tgfe-entry-card-manual .tgfe-entry-benefits > span { color: #4f4742 !important; }

body .tgfe-entry-benefits i {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: 1px !important;
  border-radius: 50% !important;
  font-style: normal !important;
}

body .tgfe-entry-card-ai .tgfe-entry-benefits i {
  background: rgba(215,168,77,.14) !important;
  color: #d7a84d !important;
}

body .tgfe-entry-card-manual .tgfe-entry-benefits i {
  background: #f7f1ec !important;
  color: #301618 !important;
}

body .tgfe-entry-benefits i svg {
  width: 13px !important;
  height: 13px !important;
  stroke-width: 2.3 !important;
}

body .tgfe-entry-card-footer {
  display: block !important;
  margin-top: auto !important;
}

body .tgfe-entry-mode-label {
  display: block !important;
  font-family: Karla, Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body .tgfe-entry-card-ai .tgfe-entry-mode-label { color: rgba(243,232,226,.64) !important; }
body .tgfe-entry-card-manual .tgfe-entry-mode-label { color: #887d76 !important; }

body .tgfe-entry-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  font-family: Karla, Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: transform .18s ease, background-color .18s ease !important;
}

body .tgfe-entry-cta svg {
  flex: 0 0 auto !important;
  stroke-width: 2 !important;
}

body .tgfe-entry-card-ai .tgfe-entry-cta {
  border: 1px solid rgba(255,249,245,.34) !important;
  background: #f6e9df !important;
  color: #301618 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
}

body .tgfe-entry-card-manual .tgfe-entry-cta {
  border: 1px solid #301618 !important;
  background: #fff !important;
  color: #301618 !important;
}

@media (hover: hover) and (pointer: fine) {
  body button.tgfe-entry-card-ai:hover .tgfe-entry-cta {
    background: #eed9cb !important;
  }

  body button.tgfe-entry-card-manual:hover .tgfe-entry-cta {
    background: #f7f1ec !important;
  }
}

/* Desktop */
@media (min-width: 1200px) {
  body .tgfe-clean-entry { padding: 52px 64px 64px !important; }
  body .tgfe-entry-inner { max-width: 1240px !important; }
  body .tgfe-entry-hero { margin: 0 0 52px !important; }
  body .tgfe-entry-hero h2 { font-size: clamp(54px, 6vw, 76px) !important; }
  body .tgfe-entry-brand { margin-top: 18px !important; font-size: 13px !important; }
  body .tgfe-entry-hero p { margin: 18px 0 0 !important; font-size: 18px !important; line-height: 1.5 !important; }
  body .tgfe-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px !important; }
  body button.tgfe-entry-card { min-height: 580px !important; padding: 40px !important; border-radius: 24px !important; }
  body .tgfe-entry-card-top { gap: 18px !important; margin-bottom: 28px !important; }
  body .tgfe-entry-mode-icon { flex: 0 0 64px !important; width: 64px !important; height: 64px !important; border-radius: 18px !important; }
  body .tgfe-entry-mode-icon svg { width: 30px !important; height: 30px !important; }
  body .tgfe-entry-recommended { gap: 8px !important; min-height: 32px !important; padding: 0 14px !important; font-size: 12px !important; }
  body .tgfe-entry-recommended svg { width: 13px !important; height: 13px !important; }
  body .tgfe-entry-card-title { font-size: 38px !important; }
  body .tgfe-entry-description { margin-top: 16px !important; font-size: 16px !important; line-height: 1.55 !important; }
  body .tgfe-entry-benefits { gap: 16px !important; margin-top: 30px !important; }
  body .tgfe-entry-benefits > span { gap: 12px !important; font-size: 15px !important; line-height: 1.45 !important; }
  body .tgfe-entry-card-footer { padding-top: 34px !important; }
  body .tgfe-entry-mode-label { margin-bottom: 10px !important; font-size: 12px !important; }
  body .tgfe-entry-cta { gap: 12px !important; height: 56px !important; padding: 0 22px !important; border-radius: 14px !important; font-size: 15px !important; }
  body .tgfe-entry-cta svg { width: 17px !important; height: 17px !important; }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1199px) {
  body .tgfe-clean-entry { min-height: 0 !important; height: auto !important; padding: 48px 32px 32px !important; }
  body .tgfe-entry-inner { max-width: 1080px !important; }
  body .tgfe-entry-hero { margin: 0 0 36px !important; }
  body .tgfe-entry-hero h2 { font-size: 52px !important; }
  body .tgfe-entry-brand { margin-top: 15px !important; font-size: 12px !important; }
  body .tgfe-entry-hero p { margin: 16px 0 0 !important; font-size: 17px !important; line-height: 1.45 !important; }
  body .tgfe-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
  body button.tgfe-entry-card { min-height: 520px !important; padding: 30px !important; border-radius: 20px !important; }
  body .tgfe-entry-card-top { gap: 14px !important; margin-bottom: 24px !important; }
  body .tgfe-entry-mode-icon { flex: 0 0 56px !important; width: 56px !important; height: 56px !important; border-radius: 16px !important; }
  body .tgfe-entry-mode-icon svg { width: 27px !important; height: 27px !important; }
  body .tgfe-entry-recommended { gap: 7px !important; min-height: 30px !important; padding: 0 11px !important; font-size: 11px !important; }
  body .tgfe-entry-recommended svg { width: 12px !important; height: 12px !important; }
  body .tgfe-entry-card-title { font-size: 32px !important; }
  body .tgfe-entry-description { margin-top: 14px !important; font-size: 15px !important; line-height: 1.55 !important; }
  body .tgfe-entry-benefits { gap: 14px !important; margin-top: 24px !important; }
  body .tgfe-entry-benefits > span { gap: 11px !important; font-size: 14px !important; line-height: 1.45 !important; }
  body .tgfe-entry-card-footer { padding-top: 28px !important; }
  body .tgfe-entry-mode-label { margin-bottom: 10px !important; font-size: 11px !important; }
  body .tgfe-entry-cta { gap: 10px !important; height: 50px !important; padding: 0 20px !important; border-radius: 12px !important; font-size: 15px !important; }
  body .tgfe-entry-cta svg { width: 16px !important; height: 16px !important; }
}

/* Narrow tablet: stack before the cards become cramped. */
@media (min-width: 768px) and (max-width: 959px) {
  body .tgfe-entry-inner { max-width: 720px !important; }
  body .tgfe-entry-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body button.tgfe-entry-card { min-height: 0 !important; }
}

/* Mobile */
@media (max-width: 767px) {
  body .tgfe-clean-entry { min-height: 0 !important; height: auto !important; padding: 32px 20px 24px !important; }
  body .tgfe-entry-inner { max-width: 100% !important; }
  body .tgfe-entry-hero { margin: 0 0 28px !important; }
  body .tgfe-entry-hero h2 { font-size: 38px !important; line-height: 1 !important; }
  body .tgfe-entry-brand { margin-top: 12px !important; font-size: 11px !important; }
  body .tgfe-entry-hero p { margin: 13px 0 0 !important; font-size: 16px !important; line-height: 1.45 !important; }
  body .tgfe-entry-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  body button.tgfe-entry-card { min-height: 0 !important; padding: 20px !important; border-radius: 16px !important; }
  body .tgfe-entry-card-top { gap: 12px !important; margin-bottom: 18px !important; }
  body .tgfe-entry-mode-icon { flex: 0 0 48px !important; width: 48px !important; height: 48px !important; border-radius: 14px !important; }
  body .tgfe-entry-mode-icon svg { width: 24px !important; height: 24px !important; }
  body .tgfe-entry-recommended { gap: 6px !important; min-height: 28px !important; padding: 0 10px !important; font-size: 10px !important; }
  body .tgfe-entry-recommended svg { width: 11px !important; height: 11px !important; }
  body .tgfe-entry-card-title { font-size: 30px !important; }
  body .tgfe-entry-description { margin-top: 12px !important; font-size: 15px !important; line-height: 1.5 !important; }
  body .tgfe-entry-benefits { gap: 12px !important; margin-top: 22px !important; }
  body .tgfe-entry-benefits > span { gap: 10px !important; font-size: 14px !important; line-height: 1.4 !important; }
  body .tgfe-entry-card-footer { padding-top: 28px !important; }
  body .tgfe-entry-mode-label { margin-bottom: 9px !important; font-size: 11px !important; }
  body .tgfe-entry-cta { gap: 9px !important; height: 48px !important; padding: 0 18px !important; border-radius: 10px !important; font-size: 15px !important; }
  body .tgfe-entry-cta svg { width: 16px !important; height: 16px !important; }
}


/* Approved Gift Genie Full Image AI Edit entry screen.
   Keep this section visually isolated from the other two experiences. */
body .tgms.tgms-full-image-ai .tgfe-clean-entry {
  min-height: 0 !important;
  height: auto !important;
  padding: 38px 24px 34px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-inner {
  max-width: 900px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-hero {
  margin: 0 0 28px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-hero h2 {
  font-size: clamp(56px, 7vw, 82px) !important;
  line-height: .94 !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-brand {
  margin-top: 14px !important;
  font-size: 13px !important;
  letter-spacing: .2em !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-hero p {
  margin: 16px 0 0 !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  color: #7c5954 !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-content: center !important;
  gap: 0 !important;
}

body .tgms.tgms-full-image-ai button.tgfe-entry-card-ai {
  width: 100% !important;
  max-width: 786px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 40px 42px 24px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background:
    radial-gradient(circle at 16% 10%, rgba(255,255,255,.06), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 40%),
    linear-gradient(145deg, #71151b 0%, #4c1115 56%, #301014 100%) !important;
  box-shadow: 0 18px 54px rgba(48, 22, 24, .12) !important;
}

body .tgms.tgms-full-image-ai button.tgfe-entry-card-ai::after {
  opacity: .08 !important;
  background-size: 20px 20px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-card-top {
  gap: 18px !important;
  margin-bottom: 24px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-mode-icon {
  flex: 0 0 70px !important;
  width: 70px !important;
  height: 70px !important;
  border-radius: 20px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-mode-icon svg {
  width: 31px !important;
  height: 31px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-recommended {
  gap: 8px !important;
  min-height: 34px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  background: #f5dfcf !important;
  font-size: 12px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-recommended svg {
  width: 12px !important;
  height: 12px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-card-title {
  font-family: Karla, Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  line-height: 1.14 !important;
  letter-spacing: -.02em !important;
  color: #fff8f3 !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-description {
  max-width: 600px !important;
  margin-top: 16px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: rgba(255,250,246,.92) !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-benefits {
  gap: 16px !important;
  margin-top: 24px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-benefits > span {
  gap: 12px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: rgba(255,250,246,.95) !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-benefits i {
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin-top: 0 !important;
  background: rgba(244,201,95,.2) !important;
  color: #f0bb4a !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-card-footer {
  padding-top: 24px !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-mode-label {
  margin-bottom: 12px !important;
  font-size: 12px !important;
  letter-spacing: .18em !important;
  color: rgba(255,250,246,.56) !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-cta {
  gap: 12px !important;
  height: 60px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: linear-gradient(90deg, #efc7a9 0%, #f6e8de 100%) !important;
  color: #301618 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

body .tgms.tgms-full-image-ai .tgfe-entry-cta svg {
  width: 18px !important;
  height: 18px !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  body .tgms.tgms-full-image-ai .tgfe-clean-entry {
    padding: 30px 20px 24px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-inner {
    max-width: 740px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-hero {
    margin: 0 0 22px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-hero h2 {
    font-size: 54px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-brand {
    margin-top: 11px !important;
    font-size: 12px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-hero p {
    margin-top: 12px !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
  }

  body .tgms.tgms-full-image-ai button.tgfe-entry-card-ai {
    max-width: 640px !important;
    padding: 30px 26px 22px !important;
    border-radius: 24px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-card-top {
    gap: 16px !important;
    margin-bottom: 20px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-mode-icon {
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-card-title {
    font-size: 28px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-description {
    max-width: 540px !important;
    margin-top: 14px !important;
    font-size: 15px !important;
    line-height: 1.52 !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-benefits {
    gap: 14px !important;
    margin-top: 20px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-benefits > span {
    gap: 11px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-card-footer {
    padding-top: 20px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-mode-label {
    margin-bottom: 10px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-cta {
    height: 54px !important;
    font-size: 15px !important;
  }
}

@media (max-width: 767px) {
  body .tgms.tgms-full-image-ai .tgfe-clean-entry {
    padding: 22px 14px 14px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-inner {
    max-width: 100% !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-hero {
    margin: 0 0 18px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-hero h2 {
    font-size: 40px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-brand {
    margin-top: 9px !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-hero p {
    margin-top: 10px !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
  }

  body .tgms.tgms-full-image-ai button.tgfe-entry-card-ai {
    max-width: 100% !important;
    padding: 20px 18px 16px !important;
    border-radius: 20px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-card-top {
    gap: 12px !important;
    margin-bottom: 16px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-mode-icon {
    flex: 0 0 50px !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 15px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-mode-icon svg {
    width: 24px !important;
    height: 24px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-recommended {
    min-height: 28px !important;
    padding: 0 11px !important;
    font-size: 10px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-card-title {
    font-size: 24px !important;
    line-height: 1.16 !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-description {
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-benefits {
    gap: 12px !important;
    margin-top: 18px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-benefits > span {
    gap: 10px !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-benefits i {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-mode-label {
    margin-bottom: 8px !important;
    font-size: 10px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-card-footer {
    padding-top: 18px !important;
  }

  body .tgms.tgms-full-image-ai .tgfe-entry-cta {
    height: 50px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
  }
}

/* Full Image AI shared font and color controls — one component foundation on all devices. */
body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-field {
  min-width: 0 !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-font[hidden] {
  display: none !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-trigger i {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font: 700 15px/1 Karla, Arial, sans-serif !important;
  font-style: normal !important;
  box-shadow: none !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-modes {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-mode {
  appearance: none !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 0 9px !important;
  overflow: hidden !important;
  border: 1px solid #e2d7d0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #6f625d !important;
  font: 700 13px/1.15 Karla, Arial, sans-serif !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-mode.is-active {
  border-color: #301618 !important;
  background: #301618 !important;
  color: #fff !important;
  box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-mode:not(.is-active):hover {
    border-color: #cdbdb5 !important;
    background: #f8f4f1 !important;
    color: #301618 !important;
  }
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-mode:focus-visible {
  outline: 2px solid rgba(48,22,24,.35) !important;
  outline-offset: 2px !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-row {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-row[hidden] {
  display: none !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color,
body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-hex {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 72px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--tgfe-border) !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color::-webkit-color-swatch-wrapper {
  padding: 3px !important;
  border: 0 !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color::-webkit-color-swatch {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color::-moz-color-swatch {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-mode-help {
  display: block !important;
  margin: 0 !important;
  color: #887d76 !important;
  font: 500 12px/1.45 Karla, Arial, sans-serif !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-customize-card.is-ai-auto .tgfe-color-field {
  opacity: 1 !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-customize-card.is-ai-auto .tgfe-color-mode[data-color-mode="ai"] {
  border-color: #ded4ce !important;
  background: #f2ebe6 !important;
  color: #6f625d !important;
  box-shadow: none !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-customize-card.is-ai-auto .tgfe-color-mode[data-color-mode="single"] {
  border-color: #e6ddd7 !important;
  background: #fff !important;
  color: #887d76 !important;
}

body .tgms[data-experience-mode="full_image_ai"] .tgfe-customize-card.is-ai-auto .tgfe-color-mode-help {
  color: #8f837c !important;
}


/* Full Image AI has one visible renderer: tgfe-clean. Keep the native tgms-v2
   form/generation engine alive off-canvas without relying on obsolete renderer CSS. */
body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-panel[data-panel="ai"] {
  position: fixed !important;
  left: -220vw !important;
  top: 0 !important;
  display: block !important;
  width: 1200px !important;
  min-width: 900px !important;
  height: 900px !important;
  min-height: 900px !important;
  overflow: visible !important;
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

@media (min-width: 901px) {
  /* Keep the native AI panel live, fully sized and event-capable, but off-canvas. */
  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgms-workspace-shell.tgfe-clean-workspace-mounted,
  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-workspace-shell.tgfe-clean-workspace-mounted {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 0 64px !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgfe-clean-native-panel {
    position: fixed !important;
    left: -220vw !important;
    top: 0 !important;
    display: block !important;
    width: min(1600px, calc(100vw - 128px)) !important;
    min-width: 1100px !important;
    height: 900px !important;
    min-height: 900px !important;
    overflow: visible !important;
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
  }

  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgfe-clean-shell,
  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgfe-clean-shell {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: var(--tgms-site-left) !important;
    margin-right: var(--tgms-site-right) !important;
  }

  body .tgfe-clean-header {
    position: relative !important;
    margin: 0 0 38px !important;
    text-align: center !important;
  }

  body .tgfe-intro-copy {
    max-width: 980px !important;
    margin: 0 auto !important;
  }

  body .tgfe-intro-copy,
  body .tgfe-clean-progress,
  body .tgfe-clean-grid,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-panel[data-panel="upload"] {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity .64s cubic-bezier(.22, 1, .36, 1), transform .64s cubic-bezier(.22, 1, .36, 1) !important;
    will-change: opacity, transform !important;
  }

  body .tgms.tgfe-intro-switching .tgfe-intro-copy,
  body .tgms.tgfe-intro-switching .tgfe-clean-progress,
  body .tgms.tgfe-intro-switching .tgfe-clean-grid,
  body .tgms.tgfe-intro-switching .tgms-panel[data-panel="upload"] {
    opacity: 0 !important;
    transform: translateY(8px) !important;
    pointer-events: none !important;
  }

  body .tgfe-brand-kicker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 0 9px !important;
    color: #7b5650 !important;
    font: 700 12px/1 Karla, Arial, sans-serif !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
  }

  body .tgfe-brand-kicker strong,
  body .tgfe-brand-kicker span,
  body .tgfe-brand-kicker i {
    color: inherit !important;
    font: inherit !important;
  }

  body .tgfe-brand-kicker i {
    font-style: normal !important;
    opacity: .6 !important;
  }

  body .tgfe-clean-header h2 {
    margin: 0 0 8px !important;
    color: var(--tgfe-ink) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 48px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
  }

  body .tgfe-clean-header .tgfe-intro-copy > p {
    max-width: 820px !important;
    margin: 0 auto !important;
    color: #292323 !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  body .tgfe-clean-back {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border: 1px solid #dfd2ca !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--tgfe-ink) !important;
    font: 700 12px/1 Karla, Arial, sans-serif !important;
    cursor: pointer !important;
  }

  body .tgfe-clean-progress {
    display: grid !important;
    grid-template-columns: max-content minmax(90px, 1fr) max-content minmax(90px, 1fr) max-content !important;
    align-items: center !important;
    width: min(760px, 80%) !important;
    margin: 58px auto 0 !important;
    gap: 28px !important;
  }

  body .tgfe-clean-progress > i {
    display: block !important;
    height: 2px !important;
    background: var(--tgfe-ink) !important;
  }

  body .tgfe-progress-step {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: var(--tgfe-ink) !important;
  }

  body .tgfe-progress-step span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border: 2px solid var(--tgfe-ink) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--tgfe-ink) !important;
    font: 700 14px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-progress-step strong {
    color: inherit !important;
    font: 600 14px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-progress-step.is-active span,
  body .tgfe-progress-step.is-complete span {
    background: var(--tgfe-ink) !important;
    color: #fff !important;
  }

  body .tgfe-clean-grid {
    display: grid !important;
    grid-template-columns: 28% 28% 40.8% !important;
    grid-auto-rows: auto !important;
    gap: 1.6% !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  body .tgfe-clean-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 32px !important;
    overflow: hidden !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 18px !important;
    background: var(--tgfe-card) !important;
    box-shadow: 0 10px 22px rgba(48, 22, 24, .08) !important;
  }

  body .tgfe-clean-card h3,
  body .tgfe-clean-card h4 {
    margin: 0 !important;
    color: var(--tgfe-ink) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  }

  body .tgfe-clean-card h3 { font-size: 30px !important; }
  body .tgfe-clean-card h4 { font-size: 17px !important; }

  /* Describe card */
  body .tgfe-prompt-wrap {
    position: relative !important;
    margin-top: 28px !important;
  }

  body .tgfe-prompt {
    display: block !important;
    width: 100% !important;
    height: 132px !important;
    min-height: 132px !important;
    padding: 18px 20px 40px !important;
    resize: none !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font: 400 16px/1.5 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
  }

  body .tgfe-prompt::placeholder {
    color: #ada9a7 !important;
    font: 400 13px/1.5 Karla, Arial, sans-serif !important;
    opacity: 1 !important;
  }

  body .tgfe-prompt-count {
    position: absolute !important;
    right: 10px !important;
    bottom: 9px !important;
    color: #8b7e78 !important;
    font: 400 12px/1 Karla, Arial, sans-serif !important;
  }


  body .tgfe-voice-button {
    position: absolute !important;
    left: 10px !important;
    bottom: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 1px solid #e5dad1 !important;
    border-radius: 50% !important;
    background: #fffaf6 !important;
    color: #301618 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease !important;
  }

  body .tgfe-voice-button:hover,
  body .tgfe-voice-button:focus-visible {
    border-color: #301618 !important;
    background: #f7f1ec !important;
    transform: translateY(-1px) !important;
    outline: none !important;
  }

  body .tgfe-voice-button.is-listening {
    border-color: #301618 !important;
    background: #301618 !important;
    color: #fff !important;
    animation: tgfeVoicePulse 1.25s ease-in-out infinite !important;
  }

  body .tgfe-voice-button svg {
    width: 15px !important;
    height: 15px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body .tgfe-voice-status {
    position: absolute !important;
    left: 46px !important;
    bottom: 10px !important;
    max-width: calc(100% - 120px) !important;
    overflow: hidden !important;
    color: #887d76 !important;
    font: 500 11px/1.2 Karla, Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    pointer-events: none !important;
  }

  @keyframes tgfeVoicePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(48,22,24,.2); }
    50% { box-shadow: 0 0 0 6px rgba(48,22,24,0); }
  }

  body .tgfe-quick { margin-top: 28px !important; }
  body .tgfe-quick h4,
  body .tgfe-upload h4 {
    margin-bottom: 10px !important;
    font-family: Karla, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  body .tgfe-upload h4 span {
    color: #887d76 !important;
    font-weight: 400 !important;
  }

  body .tgfe-quick-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body .tgfe-quick-grid button {
    height: 42px !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    border: 1px solid #dccfc8 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #594b46 !important;
    font: 600 13px/1.2 Karla, Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
  }

  body .tgfe-quick-grid button:hover,
  body .tgfe-quick-grid button:focus-visible {
    border-color: #cdbdb5 !important;
    background: #f7f1ec !important;
  }

  body .tgfe-quick-grid button.is-active {
    border-color: var(--tgfe-ink) !important;
    background: var(--tgfe-ink) !important;
    color: #fff !important;
  }

  body .tgfe-upload { margin-top: 28px !important; }

  body .tgfe-upload-drop {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 92px !important;
    padding: 9px !important;
    overflow: hidden !important;
    border: 1px dashed #cbb8ae !important;
    border-radius: 7px !important;
    background: #fff !important;
    text-align: center !important;
    cursor: pointer !important;
  }

  body .tgfe-upload-drop.is-dragging {
    border-color: var(--tgfe-ink) !important;
    background: var(--tgfe-cream) !important;
  }

  body .tgfe-upload-input {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
  }

  body .tgfe-upload-icon {
    margin-bottom: 2px !important;
    color: #8a635a !important;
    font-size: 21px !important;
    line-height: 1 !important;
  }

  body .tgfe-upload-drop strong {
    color: #514642 !important;
    font: 700 13px/1.2 Karla, Arial, sans-serif !important;
  }

  body .tgfe-upload-drop em {
    max-width: none !important;
    margin-top: 3px !important;
    color: #8b7e78 !important;
    font: 400 12px/1.35 Karla, Arial, sans-serif !important;
  }

  body .tgfe-upload-name {
    min-height: 14px !important;
    margin: 5px 0 0 !important;
    overflow: hidden !important;
    color: #74645e !important;
    font: 500 12px/1.3 Karla, Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body .tgfe-clear {
    width: auto !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 24px auto 0 !important;
    padding: 0 8px !important;
    align-self: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--tgfe-ink) !important;
    font: 700 13px/1 Karla, Arial, sans-serif !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
  }

  body .tgfe-clear:hover,
  body .tgfe-clear:focus-visible {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tgfe-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    filter: none !important;
  }

  body .tgfe-clear:disabled,
  body .tgfe-clear.is-busy,
  body .tgfe-clear:disabled:hover,
  body .tgfe-clear:disabled:focus-visible {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #887D76 !important;
    opacity: .46 !important;
    cursor: not-allowed !important;
    text-decoration: none !important;
    filter: none !important;
  }

  /* Customize card */
  body .tgfe-card-subtitle {
    margin: 8px 0 0 !important;
    color: #5e514c !important;
    font: 500 14px/1.5 Karla, Arial, sans-serif !important;
  }

  body .tgfe-customize-fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    margin-top: 28px !important;
  }

  body .tgfe-style-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body .tgfe-style-button {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    height: 44px !important;
    min-width: 0 !important;
    padding: 0 10px !important;
    border: 1px solid #E5DAD1 !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: #4F4742 !important;
    cursor: pointer !important;
  }

  body .tgfe-style-button.is-active {
    border: 2px solid #301618 !important;
    padding: 0 9px !important;
    background: #F7F1EC !important;
    color: #301618 !important;
    box-shadow: none !important;
  }

  body .tgfe-style-icon {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
  }

  body .tgfe-style-icon svg {
    width: 100% !important;
    height: 100% !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body .tgfe-style-button strong {
    overflow: hidden !important;
    color: inherit !important;
    font: 600 13px/1.2 Karla, Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body .tgfe-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
  }

  body .tgfe-field > span {
    color: #514642 !important;
    font: 700 14px/1.2 Karla, Arial, sans-serif !important;
  }

  body .tgfe-font,
  body .tgfe-color-hex {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 16px !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font: 500 13px/1.2 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
  }

  body .tgfe-color-row {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .tgfe-color-hex {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body .tgfe-color {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block !important;
    width: 72px !important;
    height: 46px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    background-color: #301618;
    box-shadow: 0 0 0 1px var(--tgfe-border) !important;
    cursor: pointer !important;
  }

  body .tgfe-ai-auto {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #443a36 !important;
    font: 600 14px/1.3 Karla, Arial, sans-serif !important;
    cursor: pointer !important;
  }

  body .tgfe-ai-auto-input {
    appearance: none !important;
    position: relative !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    margin: 0 !important;
    border: 1px solid #cdbdb5 !important;
    border-radius: 5px !important;
    background: #fff !important;
    cursor: pointer !important;
  }

  body .tgfe-ai-auto-input:checked {
    border-color: var(--tgfe-ink) !important;
    background: var(--tgfe-ink) !important;
  }

  body .tgfe-ai-auto-input:checked::after {
    content: "✓" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    color: #fff !important;
    font: 700 17px/1 Karla, Arial, sans-serif !important;
    transform: translate(-50%, -50%) !important;
  }

  body .tgfe-customize-card.is-ai-auto .tgfe-font,
  body .tgfe-customize-card.is-ai-auto .tgfe-color,
  body .tgfe-customize-card.is-ai-auto .tgfe-color-hex {
    opacity: .48 !important;
  }

  body .tgfe-generate-wrap {
    margin-top: auto !important;
  }

  body .tgfe-generate {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(90deg, #301618 0%, #5a211b 50%, #301618 100%) !important;
    color: #fff7ef !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
    cursor: pointer !important;
  }

  body .tgfe-generate:disabled {
    cursor: wait !important;
    opacity: .72 !important;
  }

  body .tgfe-status {
    min-height: 16px !important;
    margin: 7px 0 0 !important;
    color: #74645e !important;
    font: 500 12px/1.35 Karla, Arial, sans-serif !important;
    text-align: center !important;
  }

  body .tgfe-status.is-error { color: #a21f27 !important; }
  body .tgfe-status.is-success { color: #28713d !important; }
  body .tgfe-status.is-busy { color: #6f4a2e !important; }

  /* Output card */
  body .tgfe-output-card {
    gap: 12px !important;
    padding: 18px !important;
  }

  body .tgfe-artwork-section {
    display: flex !important;
    flex: 0 0 278px !important;
    flex-direction: column !important;
    min-height: 278px !important;
    overflow: hidden !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body .tgfe-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 13px 15px 10px !important;
  }

  body .tgfe-section-head h3 { font-size: 30px !important; }
  body .tgfe-section-head p {
    margin: 3px 0 0 !important;
    color: #776963 !important;
    font: 400 14px/1.5 Karla, Arial, sans-serif !important;
  }

  body .tgfe-download {
    flex: 0 0 auto !important;
    height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid var(--tgfe-ink) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: var(--tgfe-ink) !important;
    font: 700 12px/1 Karla, Arial, sans-serif !important;
    cursor: pointer !important;
  }

  body .tgfe-download:disabled {
    border-color: #d8ccc5 !important;
    color: #a89b94 !important;
    cursor: not-allowed !important;
  }

  body .tgfe-artwork-stage {
    position: relative !important;
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    margin: 0 12px 12px !important;
    overflow: hidden !important;
    border: 1px dashed #d5c8c0 !important;
    border-radius: 7px !important;
    background: #faf7f4 !important;
  }

  body .tgfe-artwork-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 10px !important;
    object-fit: contain !important;
  }

  body .tgfe-artwork-image[hidden] { display: none !important; }

  body .tgfe-output-empty,
  body .tgfe-product-empty {
    max-width: 230px !important;
    color: #9b8c85 !important;
    font: 500 12px/1.45 Karla, Arial, sans-serif !important;
    text-align: center !important;
  }

  body .tgfe-options-section {
    flex: 0 0 91px !important;
    min-height: 91px !important;
  }

  body .tgfe-options-section h4 {
    margin-bottom: 8px !important;
    font-family: Karla, Arial, sans-serif !important;
    font-size: 11px !important;
  }

  body .tgfe-artwork-options {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  body .tgfe-artwork-option,
  body .tgfe-artwork-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 65px !important;
    min-width: 0 !important;
    padding: 3px !important;
    overflow: hidden !important;
    border: 1px solid #ddd1ca !important;
    border-radius: 7px !important;
    background: #fff !important;
  }

  body .tgfe-artwork-option {
    cursor: pointer !important;
  }

  body .tgfe-artwork-option.is-active {
    border: 2px solid var(--tgfe-ink) !important;
    padding: 2px !important;
  }

  body .tgfe-artwork-option img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body .tgfe-artwork-placeholder {
    background: linear-gradient(135deg, #faf7f4, #f2ebe6) !important;
  }

  body .tgfe-product-section {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body .tgfe-product-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 10px 13px 7px !important;
  }

  body .tgfe-product-head h4 { font-size: 16px !important; }
  body .tgfe-product-head span {
    color: #8b7e78 !important;
    font: 500 12px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-product-stage {
    position: relative !important;
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    margin: 0 10px 10px !important;
    overflow: hidden !important;
    border-radius: 7px !important;
    background: #f7f4f1 !important;
  }

  body .tgfe-product-stage-clone {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body .tgfe-product-stage-clone img,
  body .tgfe-product-stage-clone canvas {
    max-width: 100% !important;
    max-height: 100% !important;
  }

  body .tgfe-add-cart {
    flex: 0 0 48px !important;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(90deg, #301618 0%, #5a211b 50%, #301618 100%) !important;
    color: #fff7ef !important;
    font: 700 16px/1 Karla, Arial, sans-serif !important;
    cursor: pointer !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgfe-clean-shell {
    width: auto !important;
    margin-left: var(--tgms-site-left) !important;
    margin-right: var(--tgms-site-right) !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps {
    width: min(760px, calc(100% - 64px)) !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body .tgfe-clean-grid {
    grid-template-columns: 29% 29% 38.8% !important;
    gap: 1.6% !important;
  }

  body .tgfe-clean-card { padding: 24px !important; }
  body .tgfe-style-grid { gap: 6px !important; }
  body .tgfe-style-button { height: 78px !important; }

  body .tgfe-clean-header h2,
  body .tgfe-diy-intro h2 {
    font-size: 42px !important;
  }

  body .tgfe-clean-header .tgfe-intro-copy > p,
  body .tgfe-diy-intro .tgfe-intro-copy > p {
    font-size: 17px !important;
  }

  body .tgfe-clean-card h3,
  body .tgfe-card-heading h3,
  body .tgfe-section-head h3 {
    font-size: 30px !important;
  }
}

@media (max-width: 900px) {
  body .tgms:not([data-experience-mode="full_image_ai"]) .tgfe-clean-shell {
    display: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-workspace-shell.tgfe-clean-workspace-mounted {
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 48px 32px !important;
    overflow: visible !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"].tgfe-clean-ai-mode.is-workspace-open .tgfe-clean-native-panel {
    position: fixed !important;
    left: -220vw !important;
    top: 0 !important;
    display: block !important;
    width: 900px !important;
    min-width: 900px !important;
    height: 900px !important;
    min-height: 900px !important;
    overflow: visible !important;
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-figma-ai-header,
  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-workspace-topbar,
  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-studio-hero,
  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-studio-tabs,
  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-clean-journey {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-header {
    position: relative !important;
    margin: 0 0 32px !important;
    text-align: center !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-intro-copy {
    max-width: 720px !important;
    margin: 0 auto !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-brand-kicker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 0 0 9px !important;
    color: #7b5650 !important;
    font: 700 11px/1 Karla, Arial, sans-serif !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-back {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    margin: 0 0 22px !important;
    padding: 0 16px !important;
    border: 1px solid #dfd2ca !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #301618 !important;
    font: 700 12px/1 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 24px !important;
    overflow: visible !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(48,22,24,.07) !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-card-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-prompt-wrap {
    position: relative !important;
    margin-top: 24px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-prompt {
    display: block !important;
    width: 100% !important;
    height: 132px !important;
    min-height: 132px !important;
    padding: 18px 20px 40px !important;
    resize: none !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font: 400 16px/1.5 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-prompt::placeholder {
    color: #ada9a7 !important;
    font: 400 13px/1.5 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-prompt-count {
    position: absolute !important;
    right: 10px !important;
    bottom: 9px !important;
    color: #8b7e78 !important;
    font: 400 12px/1 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-voice-button {
    position: absolute !important;
    left: 10px !important;
    bottom: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 1px solid #e5dad1 !important;
    border-radius: 50% !important;
    background: #fffaf6 !important;
    color: #301618 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-voice-button svg {
    width: 15px !important;
    height: 15px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-quick,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-upload {
    margin-top: 24px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-quick h4,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-upload h4,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-style-label,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-field > span {
    margin: 0 0 10px !important;
    color: #514642 !important;
    font: 700 14px/1.2 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-upload-drop {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 96px !important;
    padding: 12px !important;
    overflow: hidden !important;
    border: 1px dashed #cbb8ae !important;
    border-radius: 8px !important;
    background: #fff !important;
    text-align: center !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-upload-input {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-upload-drop strong {
    color: #514642 !important;
    font: 700 13px/1.2 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-upload-drop em,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-upload-name {
    color: #8b7e78 !important;
    font: 400 12px/1.35 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-customize-fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-top: 24px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-style-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-style-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0 10px !important;
    border: 1px solid #e5dad1 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #4f4742 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-style-button.is-active {
    border: 2px solid #301618 !important;
    padding: 0 9px !important;
    background: #f7f1ec !important;
    color: #301618 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-field,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-picker {
    position: relative !important;
    width: 100% !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-trigger,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-hex {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 15px !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font: 500 16px/1 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-menu {
    position: absolute !important;
    z-index: 80 !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    padding: 10px !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fffdfb !important;
    box-shadow: 0 16px 34px rgba(48,22,24,.16) !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-menu[hidden] {
    display: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-options {
    max-height: 280px !important;
    overflow-y: auto !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-font-option {
    display: block !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-row {
    grid-template-columns: 72px minmax(0,1fr) !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color {
    height: 50px !important;
    border-radius: 8px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-ai-auto {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-generate-wrap {
    margin-top: 24px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-generate,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-add-cart {
    width: 100% !important;
    min-height: 50px !important;
    height: 50px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #301618 !important;
    color: #fff !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-output-card {
    gap: 20px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-wrap,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-mockups-section,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-cart-gate {
    width: 100% !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-section {
    display: block !important;
    width: 100% !important;
    min-height: 360px !important;
    padding: 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-stage {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 334px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px dashed #d5c8c0 !important;
    border-radius: 8px !important;
    background: #faf7f4 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-image:not([hidden]) {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-product-mockups {
    display: grid !important;
    grid-template-columns: minmax(0,220px) !important;
    gap: 12px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-mockup-option,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-mockup-placeholder {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    border: 1px solid #e5dad1 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-order-confirm {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    color: #4f4742 !important;
    font: 600 13px/1.45 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-cart-gate {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  body .tgfe-brand-kicker {
    font-size: 11px !important;
  }

  body .tgfe-clean-header h2,
  body .tgfe-diy-intro h2 {
    font-size: 34px !important;
  }

  body .tgfe-clean-header .tgfe-intro-copy > p,
  body .tgfe-diy-intro .tgfe-intro-copy > p {
    font-size: 16px !important;
  }

  body .tgfe-clean-card h3,
  body .tgfe-card-heading h3,
  body .tgfe-section-head h3 {
    font-size: 25px !important;
  }

  body .tgfe-card-subtitle,
  body .tgfe-section-head p {
    font-size: 13px !important;
  }

  body .tgfe-field > span,
  body .tgfe-quick h4,
  body .tgfe-upload h4,
  body .tgfe-ai-auto {
    font-size: 13px !important;
  }

  body .tgfe-prompt,
  body .tgfe-font,
  body .tgfe-font-trigger,
  body .tgfe-color-hex {
    font-size: 16px !important;
  }

  body .tgfe-style-button strong,
  body .tgfe-quick-grid button,
  body .tgfe-clean-mode-switch .tgfe-mode-button {
    font-size: 14px !important;
  }

  body .tgfe-prompt-count,
  body .tgfe-status,
  body .tgfe-upload-drop em,
  body .tgfe-upload-name {
    font-size: 11px !important;
  }

  body .tgfe-print-note {
    font-size: 12px !important;
  }

  body .tgfe-order-confirm {
    font-size: 13px !important;
  }

  body .tgfe-clean-native-panel {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 1199px) {
  body .tgms {
    --tgms-site-left: 32px;
    --tgms-site-right: 32px;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps {
    width: 100% !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps .tgfe-clean-grid {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps .tgfe-clean-card {
    display: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps[data-responsive-step="1"] .tgfe-describe-card,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps[data-responsive-step="2"] .tgfe-customize-card,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps[data-responsive-step="3"] .tgfe-output-card {
    display: flex !important;
    animation: tgfeResponsiveCardIn .24s ease both !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-progress {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 26px auto 0 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-progress > i,
  body .tgms[data-experience-mode="full_image_ai"] .tgfe-progress-step:not(.is-active) {
    display: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-progress-step.is-active {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #6f4a46 !important;
    font: 700 13px/1 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-progress-step.is-active::before {
    content: "Step " attr(data-step) " of 3 ·" !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-progress-step.is-active span {
    display: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-progress-step.is-active strong {
    color: #301618 !important;
    font: 700 13px/1 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-step-nav:not([hidden]) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-step-nav button {
    min-height: 50px !important;
    padding: 0 20px !important;
    border-radius: 8px !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-step-nav button[hidden] {
    display: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-back {
    border: 1px solid #d9cbc4 !important;
    background: #fff !important;
    color: #301618 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-next {
    margin-left: auto !important;
    border: 1px solid #301618 !important;
    background: #301618 !important;
    color: #fff !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-next:disabled {
    border-color: #e5dad1 !important;
    background: #e5dad1 !important;
    color: #887d76 !important;
    cursor: not-allowed !important;
  }
}

@keyframes tgfeResponsiveCardIn {
  from { opacity: 0; transform: translate3d(14px,0,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@media (max-width: 767px) {
  body .tgms {
    --tgms-site-left: 20px;
    --tgms-site-right: 20px;
  }

  body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgms-workspace-shell.tgfe-clean-workspace-mounted {
    padding: 40px 20px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-shell.tgfe-full-image-responsive-steps {
    width: 100% !important;
    max-width: none !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-card {
    padding: 20px !important;
    border-radius: 14px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-section {
    min-height: 300px !important;
    padding: 10px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-stage {
    min-height: 278px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-step-nav:not([hidden]) {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-step-nav button {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-responsive-next {
    margin-left: 0 !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-modes {
    grid-template-columns: 1fr !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-mode {
    min-height: 44px !important;
    white-space: normal !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color-row {
    grid-template-columns: 60px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  body .tgms[data-experience-mode="full_image_ai"] .tgfe-color {
    width: 60px !important;
  }
}

@media (min-width: 901px) and (max-width: 1240px) {
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab .tgds-shell {
    grid-template-columns: minmax(230px, .9fr) minmax(360px, 1.25fr) minmax(230px, .9fr) !important;
    gap: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .tgfe-clean-shell *,
  body .tgfe-clean-entry * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}


/* 2.0.2 — mode-safe workspace visibility. AI uses the clean bridge;
   Design It Yourself keeps the complete native editor and controls. */
body .tgms .tgfe-clean-shell {
  display: none !important;
}

body .tgms[data-experience-mode="full_image_ai"].is-workspace-open .tgfe-clean-shell {
  display: block !important;
  visibility: visible !important;
}

@media (min-width: 901px) {
  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgfe-clean-shell {
    display: block !important;
    visibility: visible !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgfe-clean-shell {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Hide only the native AI chrome while the clean AI interface is active. */
  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgms-workspace-topbar,
  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgms-studio-hero,
  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgms-studio-tabs,
  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgms-clean-journey {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Older companion headers are duplicates in every mode. */
  body .tgms [data-tgfe-duplicate-header="true"],
  body .tgms .tgfe-ai-header,
  body .tgms .tgms-figma-ai-header {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgfe-clean-shell ~ .tgfe-clean-shell {
    display: none !important;
  }
}


/* Native Design It Yourself mode stays inside the shortcode/site content
   container. This prevents a 100vw child from being clipped by the product
   page container and keeps the toolbar and all three editor cards visible. */
@media (min-width: 901px) {
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-workspace-shell.tgfe-clean-workspace-mounted {
    position: relative !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 0 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-panel[data-panel="upload"] {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: var(--tgms-site-left) !important;
    margin-right: var(--tgms-site-right) !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-upload-studio-embed,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab .tgds-studio-toolbar,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab .tgds-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab .tgds-studio-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 16px !important;
    overflow: visible !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab .tgds-shell > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab .tgds-toolbar-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgds-embedded-in-upload-tab .tgds-more-tools {
    min-width: 0 !important;
    margin-left: 0 !important;
    justify-self: end !important;
  }

  /* The Back control now lives in the shared DIY introduction, so the old
     toolbar must not reserve an empty row above the mode switch. */
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-workspace-topbar,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-studio-hero,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-studio-tabs {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}


/* 2.0.3 — centered mode switch between intro text and progress steps. */
@media (min-width: 901px) {
  body .tgfe-clean-mode-switch {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(650px, 76%) !important;
    height: 52px !important;
    margin: 26px auto 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfd2ca !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 12px 24px rgba(48, 22, 24, .07) !important;
  }

  body .tgfe-clean-mode-switch .tgfe-mode-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--tgfe-ink) !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  body .tgfe-clean-mode-switch .tgfe-mode-button + .tgfe-mode-button {
    border-left: 1px solid #dfd2ca !important;
  }

  body .tgfe-clean-mode-switch .tgfe-mode-button.is-active {
    border-color: var(--tgfe-ink) !important;
    background: var(--tgfe-ink) !important;
    color: #fff7ef !important;
  }

  body .tgfe-clean-mode-switch .tgfe-mode-button:focus-visible {
    position: relative !important;
    z-index: 2 !important;
    outline: 3px solid rgba(211, 166, 128, .85) !important;
    outline-offset: -3px !important;
  }

  body .tgfe-clean-progress {
    margin-top: 36px !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body .tgfe-clean-mode-switch {
    width: min(620px, 82%) !important;
  }

  body .tgfe-clean-mode-switch .tgfe-mode-button {
    padding-inline: 16px !important;
    font-size: 15px !important;
  }
}


/* 2.0.4 — functional native mode bridge feedback. */
body .tgfe-clean-mode-switch .tgfe-mode-button:disabled {
  cursor: wait !important;
  opacity: .72 !important;
}

body .tgfe-clean-shell.is-mode-switching .tgfe-clean-mode-switch {
  pointer-events: none !important;
}


/* 2.0.5 — repeat the page introduction above Design It Yourself. */
body .tgfe-diy-intro {
  display: none !important;
  box-sizing: border-box !important;
  font-family: Karla, Arial, sans-serif !important;
  color: var(--tgfe-ink) !important;
}

body .tgfe-diy-intro * {
  box-sizing: border-box !important;
}

@media (min-width: 901px) {
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgfe-diy-intro {
    position: relative !important;
    display: block !important;
    visibility: visible !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: var(--tgms-site-left) !important;
    margin-right: var(--tgms-site-right) !important;
    margin-bottom: 34px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body .tgms.tgfe-clean-ai-mode.is-workspace-open .tgfe-diy-intro,
  body .tgms:not(.tgfe-clean-diy-mode) .tgfe-diy-intro {
    display: none !important;
    visibility: hidden !important;
  }

  body .tgfe-diy-intro h2 {
    margin: 0 0 8px !important;
    color: var(--tgfe-ink) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 48px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
  }

  body .tgfe-diy-intro .tgfe-intro-copy > p {
    max-width: 820px !important;
    margin: 0 auto !important;
    color: #292323 !important;
    font-family: Karla, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  body .tgfe-diy-back {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border: 1px solid #dfd2ca !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--tgfe-ink) !important;
    font: 700 12px/1 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  body .tgfe-diy-back:focus-visible {
    outline: 3px solid rgba(211, 166, 128, .85) !important;
    outline-offset: 3px !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgfe-diy-intro {
    width: auto !important;
    margin-left: var(--tgms-site-left) !important;
    margin-right: var(--tgms-site-right) !important;
  }
}


/* v2.0.6 — third-card generation animation and temporary-capacity recovery */
body .tgfe-generation-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: var(--tgfe-generation-overlay-bg, rgba(254, 247, 239, .92)) !important;
  backdrop-filter: blur(var(--tgfe-generation-overlay-blur, 2px)) !important;
  -webkit-backdrop-filter: blur(var(--tgfe-generation-overlay-blur, 2px)) !important;
  color: #301618 !important;
  text-align: center !important;
}

body .tgfe-generation-overlay[hidden] {
  display: none !important;
}

body .tgfe-generation-mark {
  position: relative !important;
  width: 66px !important;
  height: 66px !important;
  margin-bottom: 13px !important;
}

body .tgfe-generation-mark b {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(48, 22, 24, .22) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #301618 !important;
  font: 700 15px/1 Karla, Arial, sans-serif !important;
  transform: translate(-50%, -50%) !important;
  box-shadow: 0 7px 18px rgba(48, 22, 24, .10) !important;
}

body .tgfe-generation-mark span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  margin: -4px 0 0 -4px !important;
  border-radius: 50% !important;
  background: #d89a2b !important;
  transform-origin: 4px 4px !important;
  animation: tgfe-ai-orbit 1.9s linear infinite !important;
}

body .tgfe-generation-mark span:nth-child(1) { transform: rotate(0deg) translateX(29px) !important; }
body .tgfe-generation-mark span:nth-child(2) { transform: rotate(120deg) translateX(29px) !important; animation-delay: -.63s !important; }
body .tgfe-generation-mark span:nth-child(3) { transform: rotate(240deg) translateX(29px) !important; animation-delay: -1.26s !important; }

body .tgfe-generation-overlay.is-retrying .tgfe-generation-mark span {
  animation-duration: 1.25s !important;
}

body .tgfe-generation-title {
  color: #301618 !important;
  font: 700 15px/1.2 Karla, Arial, sans-serif !important;
}

body .tgfe-generation-message {
  max-width: 290px !important;
  margin-top: 6px !important;
  color: #74645e !important;
  font: 500 12px/1.45 Karla, Arial, sans-serif !important;
}

body .tgfe-generation-bar {
  position: relative !important;
  width: min(260px, 76%) !important;
  height: 5px !important;
  margin-top: 16px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(48, 22, 24, .10) !important;
}

body .tgfe-generation-bar i {
  position: absolute !important;
  left: -42% !important;
  top: 0 !important;
  width: 42% !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #301618 0%, #8e4b34 50%, #301618 100%) !important;
  animation: tgfe-ai-progress 1.45s ease-in-out infinite !important;
}

body .tgfe-output-error {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 4 !important;
  padding: 9px 11px !important;
  border: 1px solid rgba(162, 31, 39, .24) !important;
  border-radius: 7px !important;
  background: rgba(255, 246, 246, .96) !important;
  color: #a21f27 !important;
  font: 600 10px/1.4 Karla, Arial, sans-serif !important;
  text-align: center !important;
  box-shadow: 0 5px 14px rgba(48, 22, 24, .08) !important;
}

body .tgfe-output-error[hidden] {
  display: none !important;
}

@keyframes tgfe-ai-orbit {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

@keyframes tgfe-ai-progress {
  0% { left: -42%; }
  55% { left: 58%; }
  100% { left: 110%; }
}

@media (prefers-reduced-motion: reduce) {
  body .tgfe-generation-mark span,
  body .tgfe-generation-bar i {
    animation-duration: 3.5s !important;
  }
}


/* v2.0.7 — numbered generation progress and selection-gated cart */
body .tgfe-generation-progress-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: min(260px, 76%) !important;
  margin-top: 15px !important;
  color: #5f514c !important;
  font: 600 14px/1.2 Karla, Arial, sans-serif !important;
}

body .tgfe-generation-percent {
  color: #301618 !important;
  font: 700 14px/1 Karla, Arial, sans-serif !important;
}

body .tgfe-generation-bar {
  margin-top: 7px !important;
}

body .tgfe-generation-bar i {
  left: 0 !important;
  width: var(--tgfe-progress, 0%) !important;
  animation: none !important;
  transition: width .45s ease !important;
}

body .tgfe-cart-gate {
  position: relative !important;
  display: flex !important;
  flex: 0 0 48px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
}

body .tgfe-cart-hint {
  margin: 0 !important;
  color: #786a64 !important;
  font: 600 12px/1.35 Karla, Arial, sans-serif !important;
  text-align: center !important;
}

body .tgfe-cart-hint[hidden],
body .tgfe-add-cart[hidden] {
  display: none !important;
}

body .tgfe-cart-gate .tgfe-add-cart {
  position: absolute !important;
  inset: 0 !important;
  flex: none !important;
}

body .tgfe-cart-gate.is-ready .tgfe-add-cart {
  animation: tgfe-cart-reveal .26s ease-out both !important;
}

body .tgfe-add-cart:disabled {
  cursor: not-allowed !important;
  opacity: .5 !important;
}

@keyframes tgfe-cart-reveal {
  from { opacity: 0; transform: translateY(7px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  body .tgfe-generation-bar i {
    transition: none !important;
  }
  body .tgfe-cart-gate.is-ready .tgfe-add-cart {
    animation: none !important;
  }
}


/* v2.0.8 — clean, dedicated product preview box */
@media (min-width: 901px) {
  body .tgfe-output-card {
    overflow: hidden !important;
  }

  body .tgfe-options-section {
    flex: 0 0 91px !important;
    min-height: 91px !important;
    overflow: hidden !important;
  }

  body .tgfe-product-section {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 156px !important;
    overflow: hidden !important;
    border: 1px solid #ded4ce !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body .tgfe-product-head {
    flex: 0 0 42px !important;
    min-height: 42px !important;
    padding: 11px 14px 8px !important;
    border-bottom: 0 !important;
  }

  body .tgfe-product-head h4 {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }

  body .tgfe-product-stage {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 12px 12px !important;
    overflow: hidden !important;
    border: 1px solid #eee6e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body .tgfe-product-canvas {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body .tgfe-product-side {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border: 1px solid #e4d8d1 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    color: #301618 !important;
    font: 700 12px/1 Karla, Arial, sans-serif !important;
    pointer-events: none !important;
  }

  body .tgfe-product-stage-clone {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: transparent !important;
  }

  body .tgfe-product-stage-clone .tgms-ai-product-img,
  body .tgfe-product-stage-clone .tgms-product-img,
  body .tgfe-product-stage-clone img,
  body .tgfe-product-stage-clone canvas {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body .tgfe-product-stage-clone .tgms-ai-product-img,
  body .tgfe-product-stage-clone .tgms-product-img {
    object-fit: contain !important;
  }

  body .tgfe-product-fallback-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 72% !important;
    max-height: 78% !important;
    object-fit: contain !important;
  }

  body .tgfe-product-empty {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* v2.0.9 — one product-mockup row only; no separate artwork-options/product rows */
@media (min-width: 901px) {
  body .tgfe-options-section,
  body .tgfe-product-section {
    display: none !important;
  }

  body .tgfe-mockups-section {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body .tgfe-mockups-section > h4 {
    flex: 0 0 auto !important;
    margin: 0 0 10px !important;
    color: #301618 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  body .tgfe-product-mockups {
    display: grid !important;
    flex: 1 1 auto !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    min-height: 0 !important;
  }

  body .tgfe-mockup-option,
  body .tgfe-mockup-placeholder {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 118px !important;
    max-height: 150px !important;
    margin: 0 !important;
    padding: 4px !important;
    overflow: hidden !important;
    border: 1px solid #ddd4cf !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body .tgfe-mockup-option {
    cursor: zoom-in !important;
  }

  body .tgfe-mockup-option.is-active {
    border: 2px solid #301618 !important;
    padding: 3px !important;
    box-shadow: 0 5px 10px rgba(48,22,24,.10) !important;
  }

  body .tgfe-mockup-placeholder {
    background: #fff !important;
  }

  body .tgfe-mockup-stage-clone {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: none !important;
    background: transparent !important;
  }

  body .tgfe-mockup-stage-clone .tgms-ai-product-img,
  body .tgfe-mockup-stage-clone .tgms-product-img,
  body .tgfe-mockup-stage-clone img,
  body .tgfe-mockup-stage-clone canvas,
  body .tgfe-mockup-stage-clone svg {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body .tgfe-mockup-stage-clone .tgms-ai-product-img,
  body .tgfe-mockup-stage-clone .tgms-product-img {
    object-fit: contain !important;
  }

  body .tgfe-mockup-product-fallback {
    display: block !important;
    width: 86% !important;
    height: 86% !important;
    object-fit: contain !important;
  }

  body .tgfe-mockup-artwork-fallback {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 4 !important;
    display: block !important;
    width: 54% !important;
    height: 32% !important;
    object-fit: contain !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
  }

  body .tgfe-mockup-unavailable {
    color: #9b8c85 !important;
    font: 600 10px/1.35 Karla, Arial, sans-serif !important;
    text-align: center !important;
  }
}


/* v2.1.1 — AI choice is the default primary control. */
body .tgfe-ai-auto-top {
  order: -1 !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--tgfe-border) !important;
  border-radius: 10px !important;
  background: #F7F1EC !important;
}

body .tgfe-ai-auto-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
}

body .tgfe-ai-auto-copy strong {
  color: var(--tgfe-ink) !important;
  font: 700 13px/1.2 Karla, Arial, sans-serif !important;
}

body .tgfe-ai-auto-copy small {
  color: #766862 !important;
  font: 500 12px/1.3 Karla, Arial, sans-serif !important;
}


/* v2.1.2 — force the AI-choice control to the top of reused/migrated cards. */
body .tgfe-customize-card .tgfe-customize-fields {
  display: flex !important;
  flex-direction: column !important;
}

body .tgfe-customize-card .tgfe-ai-auto-top {
  order: -999 !important;
  flex: 0 0 auto !important;
  margin: 0 0 2px !important;
}

body .tgfe-customize-card .tgfe-ai-auto-top .tgfe-ai-auto-input:checked + span {
  font-weight: 700 !important;
}

body .tgfe-customize-card.is-ai-auto .tgfe-font,
body .tgfe-customize-card.is-ai-auto .tgfe-color,
body .tgfe-customize-card.is-ai-auto .tgfe-color-hex {
  opacity: .58 !important;
  cursor: not-allowed !important;
}

/* v2.1.3 — visually harmonize the native Design It Yourself workspace.
   Structure and native behavior stay untouched; only typography, colour,
   surfaces, form controls and button treatment are normalized. */
@media (min-width: 901px) {
  body .tgms.tgfe-clean-diy-mode.is-workspace-open {
    --tgfe-diy-ink: #301618;
    --tgfe-diy-deep: #3d0a01;
    --tgfe-diy-cream: #fef7ef;
    --tgfe-diy-card: #FFFFFF;
    --tgfe-diy-border: #ded4ce;
    --tgfe-diy-muted: #6f625d;
    --tgfe-diy-soft: #f7f1eb;
    overflow-x: visible !important;
    color: var(--tgfe-diy-ink) !important;
    font-family: Karla, Arial, sans-serif !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open .tgms-workspace-shell.tgfe-clean-workspace-mounted {
    color: var(--tgfe-diy-ink) !important;
    font-family: Karla, Arial, sans-serif !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]),
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) * {
    box-sizing: border-box !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) {
    color: var(--tgfe-diy-ink) !important;
    font-family: Karla, Arial, sans-serif !important;
  }

  /* Heading hierarchy mirrors the Create with AI cards. */
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h1,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h2,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h3,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h4,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h5,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h6 {
    margin-top: 0 !important;
    color: var(--tgfe-diy-ink) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -.01em !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h1,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h2 {
    font-size: 32px !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h3 {
    font-size: 24px !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h4,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h5,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h6 {
    font-size: 20px !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) p,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) li,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) small,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) em {
    color: var(--tgfe-diy-muted) !important;
    font-family: Karla, Arial, sans-serif !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) p,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) li {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) label,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) legend {
    color: #514642 !important;
    font: 600 14px/1.3 Karla, Arial, sans-serif !important;
  }

  /* Native cards and editor surfaces receive the same cream/white system. */
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(
    [class*="card"],
    [class*="panel"],
    [class*="sidebar"],
    [class*="toolbox"],
    [class*="tools"],
    [class*="controls"],
    [class*="layers"],
    [class*="note"],
    [class*="preview-wrap"],
    [class*="canvas-wrap"]
  ) {
    border-color: var(--tgfe-diy-border) !important;
    border-radius: 15px !important;
    background-color: var(--tgfe-diy-card) !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(
    [class*="card"],
    [class*="sidebar"],
    [class*="toolbox"],
    [class*="layer-panel"],
    [class*="preview-card"]
  ) {
    box-shadow: 0 10px 22px rgba(48, 22, 24, .08) !important;
  }

  /* Inputs match the AI card fields without altering their placement. */
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(
    input[type="text"],
    input[type="email"],
    input[type="number"],
    input[type="search"],
    input[type="url"],
    select
  ) {
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 16px !important;
    border: 1px solid var(--tgfe-diy-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font: 500 16px/1 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) textarea {
    min-height: 120px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--tgfe-diy-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font: 400 16px/1.55 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
    resize: vertical !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(input, select, textarea):focus {
    border-color: #8a4a45 !important;
    outline: 3px solid rgba(111, 43, 39, .10) !important;
    outline-offset: 1px !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) input[type="color"] {
    min-width: 58px !important;
    min-height: 52px !important;
    height: 52px !important;
    padding: 6px !important;
    border: 1px solid var(--tgfe-diy-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--tgfe-diy-ink) !important;
  }

  /* Buttons share the AI typography/radius. Native primary/secondary roles remain. */
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) button {
    min-height: 44px !important;
    border-radius: 8px !important;
    color: var(--tgfe-diy-ink) !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) button:is(
    [class*="primary"],
    [class*="add-cart"],
    [class*="apply"],
    [class*="save"],
    [class*="continue"],
    [class*="preview-gift"]
  ) {
    border: 1px solid var(--tgfe-diy-ink) !important;
    background: var(--tgfe-diy-ink) !important;
    color: #fff7ef !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) button:not(
    [class*="primary"]
  ):not([class*="add-cart"]):not([class*="apply"]):not([class*="save"]):not([class*="continue"]):not([class*="preview-gift"]) {
    border-color: var(--tgfe-diy-border) !important;
    background-color: #fff !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) button:is(:hover, :focus-visible) {
    border-color: #6f2b27 !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(
    button.is-active,
    button.active,
    button[aria-pressed="true"],
    [role="button"].is-active,
    [role="button"][aria-pressed="true"]
  ) {
    border-color: #6f2b27 !important;
    color: #6f2b27 !important;
    box-shadow: 0 4px 10px rgba(48, 22, 24, .10) !important;
  }

  /* Upload areas and editor preview use the same quiet dashed treatment. */
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(
    [class*="upload"],
    [class*="dropzone"],
    [class*="drop-zone"]
  ) {
    border-color: #d8c7bd !important;
    border-radius: 10px !important;
    background-color: #fff !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(
    [class*="preview"],
    [class*="canvas"],
    [class*="stage"]
  ) {
    border-color: var(--tgfe-diy-border) !important;
    background-color: #fffdfb !important;
  }

  /* Tabs/tool choices get the same selected state as the style buttons. */
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) :is(
    [class*="tab"],
    [class*="tool-option"],
    [class*="choice"],
    [class*="tile"]
  ) {
    color: var(--tgfe-diy-ink) !important;
    font-family: Karla, Arial, sans-serif !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h1,
  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h2 {
    font-size: 28px !important;
  }

  body .tgms.tgfe-clean-diy-mode.is-workspace-open
  .tgms-panel[data-panel]:not([data-panel="ai"]) h3 {
    font-size: 22px !important;
  }
}


/* v2.1.4 — clearer hierarchy, true AI/manual states, balanced cards and visible cart gate. */
@media (min-width: 901px) {
  body .tgfe-describe-card .tgfe-clear {
    margin-top: 0 !important;
  }

  body .tgfe-describe-card .tgfe-quick {
    margin-top: 28px !important;
  }

  body .tgfe-describe-card .tgfe-quick-grid {
    gap: 7px !important;
  }

  body .tgfe-describe-card .tgfe-quick-grid button {
    height: 34px !important;
  }

  body .tgfe-describe-card .tgfe-upload {
    margin-top: 28px !important;
  }

  body .tgfe-describe-card .tgfe-upload-drop {
    height: 86px !important;
  }

  body .tgfe-customize-fields {
    gap: 28px !important;
    margin-top: 28px !important;
  }

  body .tgfe-ai-auto-note {
    display: none !important;
  }

  body .tgfe-style-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  body .tgfe-style-label {
    color: #514642 !important;
    font: 700 14px/1.2 Karla, Arial, sans-serif !important;
  }

  body .tgfe-style-grid {
    gap: 8px !important;
  }

  body .tgfe-style-button {
    min-height: 56px !important;
    height: auto !important;
    gap: 0 !important;
    padding: 8px 10px !important;
  }

  body .tgfe-style-icon {
    display: none !important;
  }

  body .tgfe-style-button strong {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body .tgfe-customize-card.is-ai-auto .tgfe-style-group,
  body .tgfe-customize-card.is-ai-auto .tgfe-field {
    opacity: .58 !important;
  }

  body .tgfe-customize-card.is-ai-auto .tgfe-style-button {
    border-color: #e5dcd7 !important;
    background: #fbf8f6 !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
  }

  body .tgfe-output-card {
    gap: 28px !important;
  }

  body .tgfe-section-head {
    padding: 15px 16px 11px !important;
  }

  body .tgfe-section-head h3 {
    font-size: 30px !important;
  }

  body .tgfe-section-head p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body .tgfe-download {
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }

  body .tgfe-output-empty {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
    max-width: 280px !important;
  }

  body .tgfe-output-empty .tgfe-empty-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 2px !important;
    border-radius: 50% !important;
    background: #fef7ef !important;
    color: #8a2e27 !important;
    font-size: 18px !important;
  }

  body .tgfe-output-empty strong {
    color: #514642 !important;
    font: 700 14px/1.2 Karla, Arial, sans-serif !important;
  }

  body .tgfe-output-empty small {
    color: #978983 !important;
    font: 500 12px/1.35 Karla, Arial, sans-serif !important;
  }

  body .tgfe-mockups-section > h4 {
    font-size: 20px !important;
    margin-bottom: 12px !important;
  }

  body .tgfe-mockup-option::after {
    content: none !important;
  }

  body .tgfe-mockup-check {
    position: absolute !important;
    right: 7px !important;
    top: 7px !important;
    z-index: 20 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #301618 !important;
    color: #fff !important;
    font: 700 12px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-mockup-option.is-active .tgfe-mockup-check {
    display: inline-flex !important;
  }

  body .tgfe-mockup-option.is-active {
    border-width: 2px !important;
    box-shadow: 0 7px 16px rgba(48,22,24,.14) !important;
  }

  body .tgfe-mockup-stage-clone {
    transform: scale(1.06) !important;
    transform-origin: center !important;
  }

  body .tgfe-cart-gate {
    display: grid !important;
    flex: 0 0 76px !important;
    grid-template-rows: 18px 48px !important;
    gap: 8px !important;
    height: 76px !important;
    min-height: 76px !important;
  }

  body .tgfe-cart-gate .tgfe-add-cart {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body .tgfe-cart-hint {
    display: block !important;
    color: #786a64 !important;
    font-size: 11px !important;
  }

  body .tgfe-cart-gate.is-ready .tgfe-cart-hint {
    color: #28713d !important;
  }

  body .tgfe-add-cart:disabled {
    background: #d6c8c1 !important;
    color: #fffaf6 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
  }
}


body .tgfe-describe-footer {
  display: grid !important;
  grid-template-rows: 16px 46px !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 70px !important;
  min-height: 70px !important;
  margin-top: 0 !important;
}

body .tgfe-generation-allowance {
  width: 100% !important;
  margin: 0 !important;
  color: #887D76 !important;
  font: 500 11px/1.35 Karla, Arial, sans-serif !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body .tgfe-describe-footer .tgfe-clear {
  margin: 0 auto !important;
}

body .tgfe-generation-allowance.is-exhausted {
  color: #8A342F !important;
}

/* v2.1.5 — professional card alignment, compact AI choice, full colour swatch and Google Fonts. */
@media (min-width: 901px) {
  body .tgfe-clean-card {
    padding: 32px !important;
  }

  body .tgfe-card-heading {
    display: flex !important;
    flex: 0 0 88px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-height: 88px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  body .tgfe-card-heading h3 {
    margin: 0 !important;
    color: #301618 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
  }

  body .tgfe-card-heading .tgfe-card-subtitle {
    margin: 7px 0 0 !important;
    color: #5E514C !important;
    font: 500 14px/1.45 Karla, Arial, sans-serif !important;
  }


  body .tgfe-describe-footer {
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  body .tgfe-generation-allowance {
    width: 100% !important;
    margin: 0 !important;
    color: #887D76 !important;
    font: 500 11px/1.35 Karla, Arial, sans-serif !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body .tgfe-generation-allowance.is-exhausted {
    color: #8A342F !important;
  }

  body .tgfe-customize-heading {
    flex: 0 0 88px !important;
    min-height: 88px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  body .tgfe-customize-heading .tgfe-card-subtitle {
    margin: 7px 0 0 !important;
    color: #5E514C !important;
    font: 500 14px/1.45 Karla, Arial, sans-serif !important;
  }

  body .tgfe-card-subtitle-spacer {
    visibility: visible !important;
  }

  body .tgfe-describe-card .tgfe-card-heading {
    flex: 0 0 88px !important;
    min-height: 88px !important;
  }

  body .tgfe-describe-card .tgfe-card-heading h3 {
    color: #301618 !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  }

  body .tgfe-describe-card .tgfe-prompt-wrap {
    margin-top: 28px !important;
  }

  body .tgfe-output-heading {
    flex-direction: row !important;
    gap: 16px !important;
  }

  body .tgfe-output-heading > div {
    min-width: 0 !important;
  }

  body .tgfe-output-card {
    gap: 28px !important;
    padding: 32px !important;
  }

  body .tgfe-artwork-section {
    flex: 0 0 228px !important;
    min-height: 228px !important;
  }

  body .tgfe-artwork-stage {
    margin: 12px !important;
  }

  body .tgfe-download {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 15px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
  }

  body .tgfe-prompt-wrap {
    margin-top: 28px !important;
  }

  body .tgfe-customize-fields {
    margin-top: 28px !important;
  }

  body .tgfe-ai-auto-top {
    min-height: 52px !important;
    height: 52px !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
  }

  body .tgfe-ai-auto-copy strong {
    font-size: 13px !important;
  }

  body .tgfe-ai-auto-input {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 5px !important;
  }

  body .tgfe-ai-auto-input:checked::after {
    font-size: 14px !important;
  }

  body .tgfe-color {
    width: 94px !important;
    height: 50px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 7px !important;
    background: transparent !important;
  }

  body .tgfe-color::-webkit-color-swatch-wrapper {
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
  }

  body .tgfe-color::-webkit-color-swatch {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
  }

  body .tgfe-color::-moz-color-swatch {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
  }

  body .tgfe-generate,
  body .tgfe-add-cart {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    border-radius: 8px !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-generate-wrap,
  body .tgfe-cart-gate {
    flex: 0 0 76px !important;
    height: 76px !important;
    min-height: 76px !important;
    margin-top: auto !important;
  }

  body .tgfe-generate-wrap {
    display: grid !important;
    grid-template-rows: 16px 52px !important;
    gap: 8px !important;
  }

  body .tgfe-status {
    min-height: 16px !important;
    margin: 0 !important;
  }

  body .tgfe-cart-gate {
    grid-template-rows: 16px 52px !important;
  }

  body .tgfe-cart-gate .tgfe-add-cart {
    position: static !important;
    inset: auto !important;
  }
}

/* v2.1.6 — lock all three card actions to one baseline and match cart styling. */
@media (min-width: 901px) {
  body .tgfe-customize-card,
  body .tgfe-output-card {
    padding-bottom: 116px !important;
  }

  body .tgfe-describe-card {
    position: relative !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 32px 32px 116px !important;
  }

  body .tgfe-customize-card .tgfe-generate-wrap,
  body .tgfe-output-card .tgfe-cart-gate {
    position: absolute !important;
    left: 32px !important;
    right: 32px !important;
    bottom: 32px !important;
    width: auto !important;
    margin: 0 !important;
  }

  body .tgfe-describe-card .tgfe-describe-footer {
    position: absolute !important;
    left: 32px !important;
    right: 32px !important;
    bottom: 32px !important;
    width: auto !important;
    margin: 0 !important;
  }

  body .tgfe-describe-card .tgfe-clear {
    position: static !important;
    width: auto !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 auto !important;
    padding: 0 8px !important;
  }

  body .tgfe-customize-card .tgfe-generate-wrap,
  body .tgfe-output-card .tgfe-cart-gate {
    display: block !important;
    flex: none !important;
    height: 76px !important;
    min-height: 76px !important;
  }

  body .tgfe-customize-card .tgfe-status,
  body .tgfe-output-card .tgfe-cart-hint {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
  }

  body .tgfe-customize-card .tgfe-generate,
  body .tgfe-output-card .tgfe-add-cart {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    inset-block-start: auto !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(90deg, #301618 0%, #5a211b 50%, #301618 100%) !important;
    color: #fff7ef !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
  }

  body .tgfe-output-card .tgfe-add-cart:disabled {
    background: linear-gradient(90deg, #301618 0%, #5a211b 50%, #301618 100%) !important;
    color: #fff7ef !important;
    opacity: .38 !important;
    cursor: not-allowed !important;
  }

  body .tgfe-output-card .tgfe-add-cart:not(:disabled) {
    opacity: 1 !important;
    cursor: pointer !important;
  }
}


/* v2.1.7 — visual Google Fonts picker, compact AI chooser, taller upload box. */
@media (min-width: 901px) {
  body .tgfe-describe-card .tgfe-upload-drop {
    height: 96px !important;
    min-height: 96px !important;
    padding: 12px !important;
  }

  body .tgfe-describe-card .tgfe-quick h4,
  body .tgfe-describe-card .tgfe-upload h4 {
    margin-bottom: 10px !important;
  }

  body .tgfe-describe-card .tgfe-clear {
    margin-top: 0 !important;
  }

  body .tgfe-describe-card .tgfe-upload-icon {
    margin-bottom: 4px !important;
    font-size: 28px !important;
  }

  body .tgfe-describe-card .tgfe-upload-drop strong {
    font-size: 13px !important;
  }

  body .tgfe-describe-card .tgfe-upload-drop em {
    max-width: none !important;
    margin-top: 4px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body .tgfe-ai-auto-top {
    height: 52px !important;
    min-height: 52px !important;
    padding: 8px 12px !important;
    gap: 10px !important;
  }

  body .tgfe-ai-auto-copy strong {
    font-size: 13px !important;
  }

  body .tgfe-ai-auto-top .tgfe-ai-auto-input {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
  }

  body .tgfe-ai-auto-note {
    margin-top: -10px !important;
    font-size: 12px !important;
  }

  body .tgfe-font-field,
  body .tgfe-font-picker {
    position: relative !important;
  }

  body .tgfe-font-picker {
    width: 100% !important;
  }

  body .tgfe-font {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    left: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
  }

  body .tgfe-font-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 15px !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  body .tgfe-font-trigger i {
    flex: 0 0 auto !important;
    margin-left: 12px !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
    font-style: normal !important;
  }

  body .tgfe-font-trigger:disabled {
    opacity: .58 !important;
    cursor: not-allowed !important;
  }

  body .tgfe-font-menu {
    position: absolute !important;
    z-index: 80 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(100% + 8px) !important;
    padding: 10px !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #fffdfb !important;
    box-shadow: 0 16px 34px rgba(48, 22, 24, .16) !important;
  }

  body .tgfe-font-menu[hidden] {
    display: none !important;
  }

  body .tgfe-font-search {
    display: block !important;
    width: 100% !important;
    height: 40px !important;
    margin: 0 0 8px !important;
    padding: 0 12px !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #3b3330 !important;
    font: 500 13px/1 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
  }

  body .tgfe-font-options {
    display: block !important;
    max-height: 300px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
  }

  body .tgfe-font-option {
    display: block !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #2f2926 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    cursor: pointer !important;
  }

  body .tgfe-font-option:hover,
  body .tgfe-font-option.is-selected {
    background: #fef7ef !important;
    color: var(--tgfe-ink) !important;
  }

  body .tgfe-font-option.is-selected {
    box-shadow: inset 3px 0 0 var(--tgfe-ink) !important;
  }

  body .tgfe-font-option[hidden] {
    display: none !important;
  }
}


/* v2.1.8 — enforce real font previews against theme button overrides. */
body .tgfe-font-option[data-font-value]:not([data-font-value=""]),
body .tgfe-font-trigger[data-font-value]:not([data-font-value=""]) {
  font-family: var(--tgfe-preview-font, Karla, Arial, sans-serif) !important;
}

body .tgfe-font-option.is-font-loading {
  opacity: .72 !important;
}

body .tgfe-font-option.is-font-loaded {
  opacity: 1 !important;
}


/* v2.1.9 — polished Add to Cart button and spacing. */
@media (min-width: 901px) {
  body .tgfe-output-card .tgfe-cart-gate {
    height: 86px !important;
    min-height: 86px !important;
  }

  body .tgfe-output-card .tgfe-cart-hint {
    top: 0 !important;
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 8px !important;
    color: #776964 !important;
    font: 600 12px/1.25 Karla, Arial, sans-serif !important;
    text-align: center !important;
  }

  body .tgfe-output-card .tgfe-add-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 24px !important;
  }

  body .tgfe-output-card .tgfe-cart-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
  }

  body .tgfe-output-card .tgfe-cart-icon svg {
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body .tgfe-output-card .tgfe-cart-label {
    display: inline-block !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: .01em !important;
  }

  body .tgfe-output-card .tgfe-add-cart:disabled {
    opacity: .48 !important;
  }
}


/* v4.0.89 — compact generated-artwork card with clean pre/post-generation states. */
body .tgfe-ai-disclaimer {
  margin: 12px 0 0 !important;
  color: #776964 !important;
  font: 500 13px/1.5 Karla, Arial, sans-serif !important;
  text-align: left !important;
}

body .tgfe-ai-disclaimer strong {
  color: #301618 !important;
  font: 700 13px/1.5 Karla, Arial, sans-serif !important;
}

body .tgfe-download[hidden],
body .tgfe-mockups-section[hidden],
body .tgfe-print-note[hidden],
body .tgfe-cart-gate[hidden] {
  display: none !important;
}

/* Full Image AI uses more-specific layout rules, so its hidden cart gate must
   also win at the same component scope on desktop, tablet and mobile. */
body .tgms[data-experience-mode="full_image_ai"] .tgfe-cart-gate[hidden] {
  display: none !important;
}

body .tgfe-print-note {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #887D76 !important;
  font: 500 11px/1.35 Karla, Arial, sans-serif !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body .tgfe-order-confirm {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #4F4742 !important;
  font: 600 14px/1.45 Karla, Arial, sans-serif !important;
  cursor: pointer !important;
}

body .tgfe-order-confirm input {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 1px 0 0 !important;
  accent-color: #301618 !important;
  cursor: pointer !important;
}

body .tgfe-order-confirm span {
  color: inherit !important;
  font: inherit !important;
}

body .tgfe-mockup-skeleton {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid #E5DAD1 !important;
  border-radius: 12px !important;
  background: linear-gradient(100deg, #F7F1EC 20%, #FFFFFF 38%, #F7F1EC 56%) !important;
  background-size: 220% 100% !important;
  animation: tgfeMockupSkeleton 1.2s ease-in-out infinite !important;
}

@keyframes tgfeMockupSkeleton {
  to { background-position-x: -220% !important; }
}

@media (min-width: 901px) {
  body .tgfe-output-card {
    align-self: stretch !important;
    gap: 28px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 32px !important;
    padding-bottom: 32px !important;
  }

  body .tgfe-output-heading {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
  }

  body .tgfe-output-heading h3 {
    margin: 0 !important;
    color: #301618 !important;
    font: 700 30px/1.1 "Cormorant Garamond", Georgia, serif !important;
  }

  body .tgfe-output-heading .tgfe-card-subtitle {
    margin: 7px 0 0 !important;
    color: #5E514C !important;
    font: 500 14px/1.45 Karla, Arial, sans-serif !important;
  }

  body .tgfe-download {
    position: static !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    border: 1px solid #301618 !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    color: #301618 !important;
    font: 700 14px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-artwork-section {
    display: block !important;
    flex: none !important;
    min-height: 300px !important;
    padding: 20px !important;
    overflow: hidden !important;
    border: 1px solid var(--tgfe-border) !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
  }

  body .tgfe-artwork-stage {
    width: 100% !important;
    min-height: 258px !important;
    margin: 0 !important;
    border: 1px dashed #CDBDB5 !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
  }

  body .tgfe-output-empty {
    gap: 8px !important;
    max-width: 360px !important;
  }

  body .tgfe-output-empty .tgfe-empty-icon {
    width: 38px !important;
    height: 38px !important;
    margin-bottom: 4px !important;
  }

  body .tgfe-output-empty strong {
    color: #4F4742 !important;
    font: 700 16px/1.25 Karla, Arial, sans-serif !important;
  }

  body .tgfe-output-empty small {
    color: #887D76 !important;
    font: 500 14px/1.45 Karla, Arial, sans-serif !important;
  }

  body .tgfe-mockups-section {
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body .tgfe-mockups-section > h4 {
    margin: 0 0 14px !important;
    color: #301618 !important;
    font: 700 30px/1.1 "Cormorant Garamond", Georgia, serif !important;
  }

  body .tgfe-product-mockups {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    min-height: 0 !important;
  }

  body .tgfe-mockup-option,
  body .tgfe-mockup-placeholder {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    padding: 10px !important;
    border: 1px solid #E5DAD1 !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
  }

  body .tgfe-mockup-option.is-active {
    padding: 9px !important;
    border: 2px solid #301618 !important;
    box-shadow: 0 0 0 3px rgba(48, 22, 24, .08) !important;
  }

  body .tgfe-mockup-check {
    right: 9px !important;
    top: 9px !important;
    width: 24px !important;
    height: 24px !important;
  }

  body .tgfe-output-card > .tgfe-artwork-wrap {
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body .tgfe-artwork-wrap > .tgfe-print-note {
    position: static !important;
    inset: auto !important;
    flex: none !important;
    width: 100% !important;
  }

  body .tgfe-output-card .tgfe-cart-gate {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    gap: 28px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: auto 0 0 !important;
  }

  body .tgfe-output-card .tgfe-order-confirm {
    position: static !important;
    inset: auto !important;
    min-height: 0 !important;
  }

  body .tgfe-output-card .tgfe-add-cart {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #301618 !important;
    color: #FFFFFF !important;
    font: 700 16px/1 Karla, Arial, sans-serif !important;
    box-shadow: none !important;
  }

  body .tgfe-output-card .tgfe-add-cart:disabled {
    background: #E5DAD1 !important;
    color: #887D76 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
  }

  body .tgfe-output-card .tgfe-add-cart:not(:disabled) {
    background: #301618 !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
    cursor: pointer !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body .tgfe-card-heading,
  body .tgfe-customize-heading,
  body .tgfe-describe-card .tgfe-card-heading {
    flex-basis: 104px !important;
    min-height: 104px !important;
  }

  body .tgfe-clean-card,
  body .tgfe-describe-card,
  body .tgfe-customize-card,
  body .tgfe-output-card {
    padding: 24px !important;
  }

  body .tgfe-describe-card .tgfe-card-heading h3 {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }

  body .tgfe-describe-card .tgfe-upload-drop em {
    font-size: 11px !important;
  }

  body .tgfe-output-card {
    gap: 28px !important;
    padding: 24px !important;
    padding-bottom: 24px !important;
  }

  body .tgfe-output-heading h3 {
    font-size: 30px !important;
  }

  body .tgfe-output-heading .tgfe-card-subtitle {
    font-size: 14px !important;
  }

  body .tgfe-mockups-section > h4 {
    font-size: 30px !important;
  }

  body .tgfe-product-mockups {
    gap: 12px !important;
  }
}

/* v2.1.14 — persistent artwork slots, compact controls, clean states and enlarged mockups. */
body .tgfe-output-empty[hidden],
body .tgfe-artwork-stage.has-artwork .tgfe-output-empty {
  display: none !important;
}

@media (min-width: 901px) {
  body .tgfe-customize-card {
    padding-bottom: 118px !important;
  }

  body .tgfe-customize-card .tgfe-ai-disclaimer {
    position: static !important;
    inset: auto !important;
    margin: 28px 0 0 !important;
    padding: 10px 12px !important;
    min-height: 0 !important;
    border: 1px solid #E5DAD1 !important;
    border-radius: 10px !important;
    background: #F7F1EC !important;
    color: #4F4742 !important;
    font: 500 11px/1.4 Karla, Arial, sans-serif !important;
    text-align: left !important;
  }

  body .tgfe-customize-card .tgfe-ai-disclaimer strong {
    color: #301618 !important;
    font-weight: 700 !important;
  }

  body .tgfe-customize-card .tgfe-generate-wrap {
    bottom: 32px !important;
    height: 76px !important;
    min-height: 76px !important;
  }

  body .tgfe-customize-card .tgfe-status {
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  body .tgfe-font-trigger,
  body .tgfe-color-hex,
  body .tgfe-color {
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 10px !important;
  }

  body .tgfe-font-trigger {
    padding: 0 13px !important;
    font-size: 16px !important;
  }

  body .tgfe-color-row {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .tgfe-color {
    width: 72px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  body .tgfe-color-hex {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .tgfe-color::-webkit-color-swatch-wrapper {
    padding: 0 !important;
  }

  body .tgfe-color::-webkit-color-swatch {
    border: 0 !important;
    border-radius: 6px !important;
  }

  body .tgfe-color::-moz-color-swatch {
    border: 0 !important;
    border-radius: 6px !important;
  }
}

html.tgfe-modal-open,
html.tgfe-modal-open body {
  overflow: hidden !important;
}

body .tgfe-mockup-modal[hidden] {
  display: none !important;
}

body .tgfe-mockup-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .22s ease !important;
}

body .tgfe-mockup-modal.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

body .tgfe-mockup-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(24, 13, 14, .72) !important;
  backdrop-filter: blur(5px) !important;
}

body .tgfe-mockup-modal-panel {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  width: min(1080px, calc(100vw - 48px)) !important;
  height: min(780px, calc(100dvh - 48px)) !important;
  max-height: calc(100dvh - 48px) !important;
  margin: auto !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #eadfd8 !important;
  border-radius: 18px !important;
  background: #FFFFFF !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .34) !important;
  transform: scale(.97) !important;
  transition: transform .28s cubic-bezier(.2,.75,.25,1) !important;
}

body .tgfe-mockup-modal.is-open .tgfe-mockup-modal-panel {
  transform: scale(1) !important;
}

body .tgfe-mockup-modal-head {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 22px 24px 20px !important;
  border-bottom: 1px solid #eee4de !important;
  background: #FFFFFF !important;
}

body .tgfe-mockup-modal-heading {
  min-width: 0 !important;
}

body .tgfe-mockup-modal-kicker {
  display: block !important;
  margin: 0 0 4px !important;
  color: #8a756d !important;
  font: 700 11px/1.3 Karla, Arial, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body .tgfe-mockup-modal-heading h3 {
  margin: 0 !important;
  color: #301618 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(25px, 2.4vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}

body .tgfe-mockup-modal-heading p {
  margin: 7px 0 0 !important;
  color: #766963 !important;
  font: 400 13px/1.45 Karla, Arial, sans-serif !important;
}

body .tgfe-mockup-modal .tgfe-mockup-modal-close,
body .tgfe-mockup-modal .tgfe-mockup-modal-close:hover,
body .tgfe-mockup-modal .tgfe-mockup-modal-close:focus,
body .tgfe-mockup-modal .tgfe-mockup-modal-close:focus-visible,
body .tgfe-mockup-modal .tgfe-mockup-modal-close:active {
  position: static !important;
  z-index: 3 !important;
  display: grid !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border: 1px solid #301618 !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  color: #301618 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transform: none !important;
}

body .tgfe-mockup-modal .tgfe-mockup-modal-close:hover {
  background: #fbf6f2 !important;
}

body .tgfe-mockup-modal .tgfe-mockup-modal-close:focus-visible {
  outline: 2px solid rgba(48, 22, 24, .28) !important;
  outline-offset: 3px !important;
}

body .tgfe-mockup-modal-close svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}

body .tgfe-mockup-modal-body {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  touch-action: pan-x pan-y !important;
  cursor: grab !important;
  padding: 0 !important;
  background: #fbf8f6 !important;
}

body .tgfe-mockup-modal-body.is-panning { cursor: grabbing !important; user-select: none !important; }


/* Gift Genie Full Image AI Edit only: this modal is a finished-image viewer, not an artwork editor. */
body .tgfe-mockup-modal--full-image .tgfe-artwork-tool-actions,
body .tgfe-mockup-modal--full-image .tgfe-artwork-preview-toggle,
body .tgfe-mockup-modal--full-image .tgfe-artwork-reset {
  display: none !important;
}

/* Full Image AI is a finished-image viewer. At 100% the whole generated image
   must fit inside the modal; scrolling/panning is only useful after zooming in. */
body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-body {
  min-height: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: auto !important;
  cursor: default !important;
  background: #fbf8f6 !important;
}

body .tgfe-mockup-modal--full-image.is-zoomed .tgfe-mockup-modal-body {
  cursor: grab !important;
}

body .tgfe-mockup-modal--full-image.is-zoomed .tgfe-mockup-modal-body.is-panning {
  cursor: grabbing !important;
}

body .tgfe-mockup-modal-stage {
  position: relative !important;
  display: block !important;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  box-sizing: border-box !important;
  overflow: visible !important;
  padding: 14px !important;
}

body .tgfe-enlarged-mockup {
  position: absolute !important;
  display: block !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid #eadfd8 !important;
  border-radius: 13px !important;
  background: #FFFFFF !important;
  box-shadow: 0 14px 34px rgba(48, 22, 24, .08) !important;
  transform: none !important;
  transform-origin: 0 0 !important;
  will-change: transform, left, top !important;
}

body .tgfe-enlarged-mockup .tgfe-mockup-stage-clone,
body .tgfe-enlarged-mockup .tgfe-mockup-stage-clone--modal {
  position: relative !important;
  transform: none !important;
  transform-origin: center center !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body .tgfe-enlarged-mockup .tgms-ai-product-img,
body .tgfe-enlarged-mockup .tgms-product-img,
body .tgfe-enlarged-mockup .tgfe-mockup-product-fallback {
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* The Full Image result is a single finished image, not a product-layer clone.
   Give it an explicit box so mobile/tablet browsers never paint it at natural size. */
body .tgfe-mockup-modal--full-image .tgfe-full-image-modal-preview {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #FFFFFF !important;
  transform: none !important;
  pointer-events: none !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-layer {
  position: absolute !important;
  z-index: 12 !important;
  display: block !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  transform-origin: center center !important;
  pointer-events: none !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-target {
  position: absolute !important;
  z-index: 12 !important;
  display: block !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  border: 1px dashed transparent !important;
  background: transparent !important;
  transform-origin: center center !important;
  pointer-events: auto !important;
  cursor: grab !important;
  touch-action: none !important;
  outline: 0 !important;
  opacity: 0 !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-target.is-ready {
  opacity: 1 !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-target:active {
  cursor: grabbing !important;
}

body .tgfe-mockup-modal .tgms-ai-product-artwork,
body .tgfe-mockup-modal .tgms-product-artwork,
body .tgfe-mockup-modal [data-role="artwork"] img,
body .tgfe-mockup-modal [data-artwork] img,
body .tgfe-mockup-modal .tgfe-mockup-artwork-fallback {
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  will-change: transform !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-target.is-editing {
  border-color: #301618 !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.92), 0 0 0 4px rgba(48,22,24,.28) !important;
}

body .tgfe-mockup-modal .tgfe-artwork-resize-handle {
  position: absolute !important;
  z-index: 20 !important;
  display: block !important;
  width: 11px !important;
  height: 11px !important;
  border: 2px solid #FFFFFF !important;
  border-radius: 3px !important;
  background: #301618 !important;
  box-shadow: 0 2px 7px rgba(48,22,24,.3) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(-50%,-50%) !important;
  transition: opacity .14s ease !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-target.is-editing .tgfe-artwork-resize-handle {
  opacity: 1 !important;
  pointer-events: auto !important;
}

body .tgfe-mockup-modal .tgfe-artwork-resize-handle.is-nw { left: 0 !important; top: 0 !important; cursor: nwse-resize !important; }
body .tgfe-mockup-modal .tgfe-artwork-resize-handle.is-ne { left: 100% !important; top: 0 !important; cursor: nesw-resize !important; }
body .tgfe-mockup-modal .tgfe-artwork-resize-handle.is-se { left: 100% !important; top: 100% !important; cursor: nwse-resize !important; }
body .tgfe-mockup-modal .tgfe-artwork-resize-handle.is-sw { left: 0 !important; top: 100% !important; cursor: nesw-resize !important; }


body .tgfe-mockup-modal .tgfe-artwork-original-source-is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-image {
  position: absolute !important;
  display: block !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: 0 0 !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

body .tgfe-mockup-modal .tgfe-artwork-rotate-handle {
  position: absolute !important;
  z-index: 22 !important;
  left: 50% !important;
  top: -26px !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #FFFFFF !important;
  border-radius: 50% !important;
  background: #301618 !important;
  box-shadow: 0 2px 8px rgba(48,22,24,.28) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(-50%,0) !important;
  transition: opacity .14s ease !important;
  cursor: grab !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-target.is-editing .tgfe-artwork-rotate-handle {
  opacity: 1 !important;
  pointer-events: auto !important;
}

body .tgfe-mockup-modal .tgfe-artwork-edit-target:focus-visible {
  box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 5px rgba(48,22,24,.38) !important;
}

body .tgfe-mockup-modal .tgfe-artwork-preview-toggle,
body .tgfe-mockup-modal .tgfe-artwork-reset {
  appearance: none !important;
  min-height: 34px !important;
  padding: 7px 16px !important;
  border: 1px solid #d8c7bd !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  color: #301618 !important;
  font: 600 13px/1.2 Karla, sans-serif !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body .tgfe-mockup-modal .tgfe-artwork-preview-toggle:hover,
body .tgfe-mockup-modal .tgfe-artwork-preview-toggle:focus-visible,
body .tgfe-mockup-modal .tgfe-artwork-reset:hover,
body .tgfe-mockup-modal .tgfe-artwork-reset:focus-visible {
  border-color: #301618 !important;
  background: #f8f1ed !important;
  outline: none !important;
}

body .tgfe-mockup-modal .tgfe-artwork-tool-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

body .tgfe-mockup-modal .tgfe-artwork-preview-toggle[aria-pressed="true"] {
  border-color: #301618 !important;
  background: #301618 !important;
  color: #FFFFFF !important;
}

body .tgfe-mockup-modal.is-artwork-preview-mode .tgfe-artwork-edit-target {
  border-color: transparent !important;
  box-shadow: none !important;
  cursor: default !important;
  pointer-events: none !important;
}


body .tgfe-mockup-modal.is-artwork-preview-mode .tgms-ai-product-mask,
body .tgfe-mockup-modal.is-artwork-preview-mode .tgms-product-mask,
body .tgfe-mockup-modal.is-artwork-preview-mode .tgfe-custom-outline {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body .tgfe-mockup-modal.is-artwork-preview-mode .tgfe-artwork-resize-handle,
body .tgfe-mockup-modal.is-artwork-preview-mode .tgfe-artwork-rotate-handle {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body .tgfe-mockup-modal-tools {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 24px 14px !important;
  border-top: 1px solid #eee4de !important;
  background: #FFFFFF !important;
}

body .tgfe-artwork-edit-hint {
  margin: 0 !important;
  color: #756963 !important;
  font: 500 12px/1.35 Karla, Arial, sans-serif !important;
  text-align: center !important;
}

body .tgfe-artwork-edit-hint strong {
  color: #301618 !important;
  font-weight: 700 !important;
}

body .tgfe-mockup-modal-zoom-control {
  display: grid !important;
  width: min(100%, 590px) !important;
  grid-template-columns: auto minmax(180px, 1fr) 48px !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 0 !important;
}

body .tgfe-mockup-modal-zoom-control > span {
  color: #301618 !important;
  font: 700 13px/1.2 Karla, Arial, sans-serif !important;
  white-space: nowrap !important;
}

body .tgfe-zoom-output {
  color: #665853 !important;
  font: 700 12px/1 Karla, Arial, sans-serif !important;
  text-align: right !important;
}

body .tgfe-zoom-range {
  width: 100% !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

body .tgfe-zoom-range::-webkit-slider-runnable-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #301618 0 var(--tgfe-modal-zoom-progress, 0%), #e7d9d0 var(--tgfe-modal-zoom-progress, 0%) 100%) !important;
}

body .tgfe-zoom-range::-webkit-slider-thumb {
  width: 18px !important;
  height: 18px !important;
  margin-top: -7px !important;
  border: 3px solid #FFFFFF !important;
  border-radius: 50% !important;
  background: #301618 !important;
  box-shadow: 0 0 0 1px #301618, 0 2px 7px rgba(48, 22, 24, .2) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body .tgfe-zoom-range::-moz-range-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: #e7d9d0 !important;
}

body .tgfe-zoom-range::-moz-range-progress {
  height: 4px !important;
  border-radius: 999px !important;
  background: #301618 !important;
}

body .tgfe-zoom-range::-moz-range-thumb {
  width: 14px !important;
  height: 14px !important;
  border: 3px solid #FFFFFF !important;
  border-radius: 50% !important;
  background: #301618 !important;
  box-shadow: 0 0 0 1px #301618, 0 2px 7px rgba(48, 22, 24, .2) !important;
}

body .tgfe-zoom-range:focus-visible {
  outline: none !important;
}

body .tgfe-zoom-range:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #301618, 0 0 0 5px rgba(48, 22, 24, .13) !important;
}

body .tgfe-mockup-modal-foot {
  flex: 0 0 auto !important;
  padding: 11px 24px 13px !important;
  border-top: 1px solid #eee4de !important;
  background: #FFFFFF !important;
}

body .tgfe-mockup-modal-foot p {
  margin: 0 !important;
  color: #887a73 !important;
  font: 400 12px/1.4 Karla, Arial, sans-serif !important;
  text-align: center !important;
}

body.admin-bar .tgfe-mockup-modal {
  top: 32px !important;
  height: calc(100dvh - 32px) !important;
}

@media (max-width: 782px) {
  body.admin-bar .tgfe-mockup-modal {
    top: 46px !important;
    height: calc(100dvh - 46px) !important;
  }
}

@media (max-width: 767px) {
  body .tgfe-mockup-modal {
    padding: 10px !important;
  }

  body .tgfe-mockup-modal-panel {
    width: calc(100vw - 20px) !important;
    height: calc(100dvh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }

  body .tgfe-mockup-modal-head {
    gap: 14px !important;
    padding: 18px 18px 16px !important;
  }

  body .tgfe-mockup-modal-heading h3 {
    font-size: 25px !important;
  }

  body .tgfe-mockup-modal-heading p {
    font-size: 12px !important;
  }

  body .tgfe-mockup-modal .tgfe-mockup-modal-close,
  body .tgfe-mockup-modal .tgfe-mockup-modal-close:hover,
  body .tgfe-mockup-modal .tgfe-mockup-modal-close:focus,
  body .tgfe-mockup-modal .tgfe-mockup-modal-close:focus-visible,
  body .tgfe-mockup-modal .tgfe-mockup-modal-close:active {
    flex-basis: 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  body .tgfe-mockup-modal-body {
    min-height: 0 !important;
    padding: 10px !important;
  }

  body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-head {
    padding: 16px 16px 14px !important;
  }

  body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-heading h3 {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-heading p {
    margin-top: 6px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-body {
    padding: 0 !important;
  }

  body .tgfe-mockup-modal-stage {
    padding: 8px !important;
  }

  body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-stage {
    padding: 10px !important;
  }

  body .tgfe-mockup-modal-tools {
    padding: 12px 18px !important;
  }

  body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-tools {
    padding: 10px 16px 12px !important;
  }

  body .tgfe-mockup-modal-zoom-control {
    grid-template-columns: 1fr 44px !important;
    gap: 9px !important;
  }

  body .tgfe-mockup-modal-zoom-control > span {
    grid-column: 1 / -1 !important;
  }

  body .tgfe-mockup-modal-foot {
    padding: 9px 18px 11px !important;
  }

  body .tgfe-mockup-modal--full-image .tgfe-mockup-modal-foot {
    padding: 8px 16px 10px !important;
  }
}


/* v2.1.16 — compact action buttons and Add to Cart progress feedback. */
@media (min-width: 901px) {
  body .tgfe-customize-card .tgfe-generate {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 20px !important;
  }

  body .tgfe-output-card .tgfe-add-cart {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 24px !important;
  }

  body .tgfe-describe-card .tgfe-clear {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 8px !important;
    font: 700 15px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-customize-card .tgfe-generate,
  body .tgfe-output-card .tgfe-add-cart {
    font: 700 16px/1 Karla, Arial, sans-serif !important;
  }

  body .tgfe-customize-card .tgfe-generate-wrap {
    height: 70px !important;
    min-height: 70px !important;
  }

  body .tgfe-output-card .tgfe-cart-gate {
    height: auto !important;
    min-height: 104px !important;
    gap: 12px !important;
  }

  body .tgfe-output-card .tgfe-order-confirm {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    margin: 0 !important;
  }

  body .tgfe-output-card .tgfe-add-cart {
    flex: 0 0 46px !important;
    margin-top: auto !important;
  }
}

body .tgfe-cart-spinner {
  display: none !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  border: 2px solid rgba(255, 247, 239, .38) !important;
  border-top-color: #fff7ef !important;
  border-radius: 50% !important;
  animation: tgfeCartSpin .72s linear infinite !important;
}

body .tgfe-add-cart.is-loading .tgfe-cart-icon {
  display: none !important;
}

body .tgfe-add-cart.is-loading .tgfe-cart-spinner {
  display: inline-block !important;
}

body .tgfe-output-card .tgfe-add-cart.is-loading,
body .tgfe-output-card .tgfe-add-cart.is-loading:disabled {
  opacity: 1 !important;
  cursor: wait !important;
}

@keyframes tgfeCartSpin {
  to { transform: rotate(360deg); }
}


/* v4.0.14 — responsive AI thumbnail geometry and custom mask visibility. */
body .tgfe-mockup-stage-clone,
body .tgfe-enlarged-mockup .tgfe-mockup-stage-clone {
  position: relative !important;
  isolation: isolate !important;
}
body .tgfe-mockup-stage-clone .tgms-ai-product-img,
body .tgfe-mockup-stage-clone .tgms-product-img,
body .tgfe-mockup-stage-clone .tgfe-mockup-product-fallback {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .tgfe-mockup-stage-clone .tgms-ai-product-mask,
body .tgfe-mockup-stage-clone .tgms-product-mask {
  position: absolute !important;
  z-index: 3 !important;
  display: block !important;
  overflow: hidden !important;
  border: 1px dashed rgba(152,93,66,.62) !important;
  background: rgba(245,231,225,.05) !important;
  transform-origin: center center !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .tgfe-mockup-stage-clone .tgms-ai-product-mask.is-custom-drawn,
body .tgfe-mockup-stage-clone .tgms-product-mask.is-custom-drawn {
  border-color: transparent !important;
}
body .tgfe-mockup-stage-clone .tgms-ai-product-artwork,
body .tgfe-mockup-stage-clone .tgms-product-artwork {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body .tgfe-custom-outline {
  position: absolute !important;
  z-index: 6 !important;
  display: block !important;
  overflow: visible !important;
  pointer-events: none !important;
  transform-origin: center center !important;
}
body .tgfe-custom-outline polygon {
  fill: rgba(245,231,225,.04) !important;
  stroke: rgba(152,93,66,.72) !important;
  stroke-width: 1.5 !important;
  stroke-dasharray: 5 4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}


/* v4.0.17 — show the base product and saved print-area mask before AI generation. */
body .tgfe-initial-product-preview,
body .tgfe-initial-product-preview:disabled {
  cursor: default !important;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: none !important;
}
body .tgfe-initial-product-preview .tgms-ai-product-artwork,
body .tgfe-initial-product-preview .tgms-product-artwork,
body .tgfe-initial-product-preview [data-role="artwork"] img,
body .tgfe-initial-product-preview [data-artwork] img {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
body .tgfe-initial-product-preview .tgms-ai-product-mask,
body .tgfe-initial-product-preview .tgms-product-mask {
  background: rgba(245,231,225,.10) !important;
}


/* v4.0.95 — persistent preview slots, text-only styles and aligned card states. */
body .tgfe-style-icon {
  display: none !important;
}

body .tgfe-style-button {
  gap: 0 !important;
}

body .tgfe-mockup-placeholder {
  position: relative !important;
  display: block !important;
  background: #FFFFFF !important;
}

body .tgfe-mockup-placeholder::before,
body .tgfe-mockup-placeholder::after {
  content: none !important;
  display: none !important;
}

body .tgfe-cart-gate.is-pre-generation .tgfe-order-confirm {
  opacity: .52 !important;
  cursor: not-allowed !important;
}

body .tgfe-cart-gate.is-pre-generation .tgfe-order-confirm input {
  cursor: not-allowed !important;
}

@media (min-width: 901px) {
  body .tgfe-style-button {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 10px !important;
  }

  body .tgfe-style-button strong {
    color: #4F4742 !important;
    font: 600 13px/1.2 Karla, Arial, sans-serif !important;
  }

  body .tgfe-style-button.is-active strong {
    color: #301618 !important;
  }

  body .tgfe-customize-card.is-ai-auto .tgfe-style-group,
  body .tgfe-customize-card.is-ai-auto .tgfe-field {
    opacity: .58 !important;
  }
}


/* v4.0.99 — text-personalizer preview, 13px placeholder and one-line styles. */
@media (min-width: 901px) {
  body .tgfe-quick-grid button,
  body .tgfe-style-button strong,
  body .tgfe-font-trigger,
  body .tgfe-color-hex,
  body .tgfe-upload-drop strong,
  body .tgfe-ai-auto-copy strong {
    font-size: 13px !important;
  }

  body .tgfe-quick h4,
  body .tgfe-upload h4,
  body .tgfe-style-label,
  body .tgfe-field > span {
    font-size: 14px !important;
  }

  body .tgfe-order-confirm,
  body .tgfe-output-empty small {
    font-size: 13px !important;
  }
}



/* v4.1.00 — make Quick Ideas match the Style boxes */
body .tgfe-quick-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body .tgfe-quick-grid button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 10px !important;
  border: 1px solid #E5DAD1 !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  color: #4F4742 !important;
  font: 600 13px/1.2 Karla, Arial, sans-serif !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

body .tgfe-quick-grid button:hover,
body .tgfe-quick-grid button:focus-visible {
  border-color: #E5DAD1 !important;
  background: #FFFFFF !important;
  color: #4F4742 !important;
  box-shadow: none !important;
}

body .tgfe-quick-grid button.is-active,
body .tgfe-quick-grid button[aria-pressed="true"] {
  border: 2px solid #301618 !important;
  padding: 0 9px !important;
  background: #F7F1EC !important;
  color: #301618 !important;
  box-shadow: none !important;
}


/* v4.1.11 — logged-out access overlay for both personalization paths */
html.tgfe-auth-overlay-open,
body.tgfe-auth-overlay-open {
  overflow: hidden !important;
}

body .tgfe-auth-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(48, 22, 24, .42) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .2s ease, visibility .2s ease !important;
}

body .tgfe-auth-overlay[hidden] {
  display: none !important;
}

body .tgfe-auth-overlay.is-open {
  opacity: 1 !important;
  visibility: visible !important;
}

body .tgfe-auth-dialog {
  position: relative !important;
  width: min(100%, 480px) !important;
  padding: 40px !important;
  border: 1px solid #E5DAD1 !important;
  border-radius: 22px !important;
  background: #FFFFFF !important;
  box-shadow: 0 28px 80px rgba(48, 22, 24, .24) !important;
  text-align: center !important;
  transform: translateY(12px) scale(.98) !important;
  transition: transform .22s ease !important;
}

body .tgfe-auth-overlay.is-open .tgfe-auth-dialog {
  transform: translateY(0) scale(1) !important;
}

body .tgfe-auth-close {
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #887D76 !important;
  font: 400 28px/1 Karla, Arial, sans-serif !important;
  cursor: pointer !important;
}

body .tgfe-auth-close:hover,
body .tgfe-auth-close:focus-visible {
  background: #F7F1EC !important;
  color: #301618 !important;
  outline: none !important;
}

body .tgfe-auth-kicker {
  display: block !important;
  margin: 0 0 10px !important;
  color: #887D76 !important;
  font: 700 12px/1.2 Karla, Arial, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body .tgfe-auth-dialog h2 {
  margin: 0 !important;
  color: #301618 !important;
  font: 700 36px/1.08 "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: -.02em !important;
}

body .tgfe-auth-dialog p {
  max-width: 380px !important;
  margin: 14px auto 0 !important;
  color: #5E514C !important;
  font: 500 14px/1.55 Karla, Arial, sans-serif !important;
}

body .tgfe-auth-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 26px !important;
}

body .tgfe-auth-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  font: 700 14px/1 Karla, Arial, sans-serif !important;
  text-decoration: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

body .tgfe-auth-login {
  border: 1px solid #301618 !important;
  background: #301618 !important;
  color: #FFFFFF !important;
}

body .tgfe-auth-signup {
  border: 1px solid #301618 !important;
  background: #FFFFFF !important;
  color: #301618 !important;
}

body .tgfe-auth-actions a:hover,
body .tgfe-auth-actions a:focus-visible {
  transform: translateY(-1px) !important;
  outline: none !important;
}

body .tgfe-auth-login:hover,
body .tgfe-auth-login:focus-visible {
  background: #4A2426 !important;
}

body .tgfe-auth-signup:hover,
body .tgfe-auth-signup:focus-visible {
  background: #F7F1EC !important;
}

@media (max-width: 600px) {
  body .tgfe-auth-overlay {
    align-items: flex-end !important;
    padding: 12px !important;
  }

  body .tgfe-auth-dialog {
    width: 100% !important;
    padding: 36px 22px 24px !important;
    border-radius: 20px !important;
  }

  body .tgfe-auth-dialog h2 {
    font-size: 32px !important;
  }

  body .tgfe-auth-actions {
    grid-template-columns: 1fr !important;
  }
}


/* v4.1.53 — keep automatic error scrolling clear of sticky site headers. */
body .tgfe-status.is-error,
body .tgfe-output-error:not([hidden]) {
  scroll-margin-top: 120px !important;
  scroll-margin-bottom: 80px !important;
}

/* Full-image AI is a single-purpose workflow, so no AI/upload mode switch is shown. */
body .tgms[data-experience-mode="full_image_ai"] .tgfe-clean-mode-switch,
body .tgms.tgms-full-image-ai .tgfe-clean-mode-switch {
  display: none !important;
}


/* v4.1.144 — preview-box error state for Full Image AI generation failures. */
body .tgfe-output-card.is-error .tgfe-generation-overlay,
body .tgfe-output-card.is-error .tgfe-output-empty,
body .tgfe-output-card.is-error .tgfe-artwork-image {
  display: none !important;
}

body .tgfe-output-card.is-error .tgfe-artwork-stage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  min-height: 220px !important;
}

body .tgfe-output-card.is-error .tgfe-output-error {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(162, 31, 39, .22) !important;
  border-radius: 12px !important;
  background: #fff6f6 !important;
  color: #8f1d25 !important;
  font: 600 14px/1.6 Karla, Arial, sans-serif !important;
  text-align: center !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  body .tgfe-output-card.is-error .tgfe-artwork-stage {
    min-height: 180px !important;
    padding: 14px !important;
  }

  body .tgfe-output-card.is-error .tgfe-output-error {
    padding: 14px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
}


/* v4.1.146 — dedicated Full Image AI loading status line. */
body .tgfe-generation-inline-status {
  display: block !important;
  margin: 16px 0 0 !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(48,22,24,.12) !important;
  border-radius: 14px !important;
  background: #f7f1ed !important;
  color: #301618 !important;
  font: 700 15px/1.4 Karla, Arial, sans-serif !important;
  text-align: center !important;
}

body .tgfe-generation-inline-status[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  body .tgfe-generation-inline-status {
    margin-top: 14px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
  }
}


/* v4.1.197 — Full Image AI keeps the configured product + printable-area guide visible while generating. */
body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-stage {
  --tgfe-generation-overlay-bg: rgba(254, 247, 239, .70);
  --tgfe-generation-overlay-blur: 0px;
}
body .tgms[data-experience-mode="full_image_ai"] .tgfe-full-image-initial-preview {
  position: absolute !important;
  inset: 10px !important;
  z-index: 1 !important;
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
body .tgms[data-experience-mode="full_image_ai"] .tgfe-full-image-initial-preview[hidden] {
  display: none !important;
}
body .tgms[data-experience-mode="full_image_ai"] .tgfe-full-image-initial-preview .tgfe-initial-product-stage {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  transform: none !important;
  transform-origin: center center !important;
}
body .tgms[data-experience-mode="full_image_ai"] .tgfe-full-image-initial-preview .tgms-ai-product-mask,
body .tgms[data-experience-mode="full_image_ai"] .tgfe-full-image-initial-preview .tgms-product-mask {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
  border: 1.5px dashed rgba(152,93,66,.82) !important;
  background: rgba(245,231,225,.10) !important;
}
body .tgms[data-experience-mode="full_image_ai"] .tgfe-artwork-stage.has-initial-preview .tgfe-output-empty {
  display: none !important;
}
