/* ============================================================
   ajt-ui-chrome.css – Ajándéktárgy stúdió UI (v4)
   ============================================================ */

/* ===== Bögre kiterített zóna-jelölő (canvas szélességéhez igazodik) ===== */
#mugMessage.mug-bar{
  display:none;
  flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;
  width:auto;max-width:100%!important;margin:0 auto 8px!important;padding:0!important;
  background:transparent!important;border:none!important;box-shadow:none!important;gap:0!important;
  flex:0 0 auto!important;order:3;
}
/* mug-bar a canvas FÖLÖTT (smart dock alatt) */
.ajt-stage-cluster .canvas-container { order: 4; }
#mugMessage.mug-bar[style*="flex"],
#mugMessage.mug-bar[style*="block"]{ display:flex!important; }
#mugMessage .mug-bar-caption{ display:none!important; }
#mugMessage .mug-bar-track{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;
  width:100%!important;min-height:34px!important;height:auto!important;
  background:#f8fafc!important;border:1px solid #e5e7eb!important;
  border-radius:999px!important;overflow:visible!important;flex:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  box-sizing:border-box!important;
}
#mugMessage .mug-bar-track>.mug-left,
#mugMessage .mug-bar-track>.mug-center,
#mugMessage .mug-bar-track>.mug-right{
  min-width:0!important;display:flex!important;align-items:center!important;
  justify-content:center!important;gap:4px!important;text-align:center!important;
  padding:8px 10px!important;margin:0!important;line-height:1.2!important;
  font-size:11px!important;font-weight:600!important;letter-spacing:.02em!important;
  border-radius:0!important;float:none!important;
  white-space:nowrap!important;box-sizing:border-box!important;pointer-events:none!important;
  color:#6b7280!important;background:transparent!important;box-shadow:none!important;
}
#mugMessage .mug-bar-track>.mug-left,
#mugMessage .mug-bar-track>.mug-center,
#mugMessage .mug-bar-track>.mug-right{
  flex:1 1 0%!important;
  width:auto!important;
  max-width:none!important;
}
#mugMessage .mug-bar-track>.mug-left{ border-right:1px dashed #d1d5db!important; }
#mugMessage .mug-bar-track>.mug-center{
  color:#374151!important;font-weight:700!important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,247,237,.9))!important;
  box-shadow:inset 0 -2px 0 #ff6600!important;
}
#mugMessage .mug-bar-track>.mug-right{ border-left:1px dashed #d1d5db!important; }
#mugMessage .mug-bar-track>.mug-center small{
  display:inline!important;font-size:10px!important;font-weight:500!important;
  color:#9ca3af!important;margin-left:4px!important;line-height:1.2!important;
}
#mugMessage .mug-bar-track i{ font-size:10px!important;color:#c4c9d1!important; line-height:1!important; }
@media (max-width: 420px) {
  #mugMessage .mug-bar-track>.mug-center small { display: none !important; }
  #mugMessage .mug-bar-track>.mug-left,
  #mugMessage .mug-bar-track>.mug-center,
  #mugMessage .mug-bar-track>.mug-right {
    padding: 7px 6px !important;
    font-size: 10px !important;
  }
}
#uploadTrigger.btn-upload{background:#ff6600!important;color:#fff!important;border:none!important;font-weight:700!important;}
#toggleGridButton.btn-grid,#autoArrangeButton.btn-auto{
  background:#fff!important;color:#4b5563!important;border:1px solid #d1d5db!important;
}
#autoArrangeButton.btn-auto:disabled{background:#f3f4f6!important;color:#9ca3af!important;}
/* Naptár obj-buttons: fehér pill, színes ikonok */
.obj-buttons{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:2px!important;
  grid-template-columns:none!important;
  background:#fff!important;
  border:1px solid #e4e6e8!important;
  border-radius:22px!important;
  box-shadow:0 8px 24px rgba(15,18,28,.08)!important;
  padding:4px 10px!important;
}
.obj-buttons.is-disabled{
  opacity:.42!important;
  filter:grayscale(.25);
  pointer-events:none!important;
}
.obj-buttons button{
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:none!important;
  border-radius:8px!important;
  color:#555!important;
  box-shadow:none!important;
  flex-direction:row!important;
  gap:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  transition:background .15s ease, transform .15s ease!important;
}
.obj-buttons button:hover{
  background:rgba(0,0,0,.05)!important;
  transform:none!important;
  box-shadow:none!important;
}
.obj-buttons button i{font-size:13px!important;color:#555!important;margin:0!important;}
.obj-buttons button small{display:none!important;}
/* Asztal: funkciógombok (~15%-kal kisebb a korábbi 52px-nél) */
body.ajt-desktop .obj-buttons,
body.ajt-desktop #desktopControllerDock .obj-buttons{
  gap:5px!important;
  padding:6px 12px!important;
  border-radius:22px!important;
}
body.ajt-desktop .obj-buttons button,
body.ajt-desktop #desktopControllerDock .obj-buttons button{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  border-radius:10px!important;
}
body.ajt-desktop .obj-buttons button i,
body.ajt-desktop #desktopControllerDock .obj-buttons button i{
  font-size:18px!important;
}
#scaleUp i,#scaleDown i{color:#555!important;}
#rotateLeft i,#rotateRight i{color:#27ae60!important;}
#bringToFront i,#sendToBack i{color:#555!important;}
#cropImage i{color:#3498db!important;}
#ajtEditObjectBtn i{color:#555!important;}
#deleteObject{background:transparent!important;border:none!important;}
#deleteObject i{color:#e74c3c!important;}
#deleteObject small{color:#e74c3c!important;}
#deleteObject:hover{background:rgba(231,76,60,.08)!important;}
#exportButton.btn-cart,#exportButtonMobile.btn-cart{background:#2f9e3a!important;color:#fff!important;}
#saveButton.btn-save{background:#fff!important;color:#374151!important;border:1px solid #d1d5db!important;}
#openSavedProductsButton.btn-load{background:transparent!important;color:#6b7280!important;border:1px solid transparent!important;}
@media (max-width:1100px){.obj-buttons{flex-wrap:nowrap!important;overflow-x:auto!important;}}
.modalcart{z-index:10050!important;}
#previewToCartBtn{background:#2f9e3a!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:10px 18px!important;font-weight:700!important;}
/* Vágás modal – kis képernyőn arányosan férjen ki */
.modal_vagas{display:none;position:fixed;inset:0;z-index:10050;background:rgba(0,0,0,.55);overflow:auto;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;}
.modal_vagas.is-open{display:flex!important;}
.modal-content_vagas{background:#fff;margin:0 auto;padding:16px;border-radius:14px;max-width:560px;width:100%;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);box-shadow:0 16px 40px rgba(15,23,42,.2);position:relative;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;}
.crop-image-wrap{width:100%;height:min(62vh,calc(100dvh - 150px));min-height:180px;overflow:hidden;background:#f3f4f6;border-radius:10px;position:relative;}
.crop-image-wrap img,#imageToCrop{display:block;max-width:100%;max-height:100%;height:auto;}
.crop-image-wrap .cropper-container{width:100%!important;height:100%!important;max-width:100%!important;}
#confirmCrop{width:100%;padding:12px 14px;border:none;border-radius:10px;background:#ff6600;color:#fff;font-weight:700;cursor:pointer;}

/* Mentett termékek – függőleges lista (cache ellen) */
#savedProductsModal.saved-products-modal{
  align-items:flex-start!important;justify-content:center!important;
  padding:20px 10px 36px!important;box-sizing:border-box!important;
  background:rgba(15,23,42,.55)!important;
}
#savedProductsModal .saved-products-modal-content{
  width:100%!important;max-width:640px!important;margin:0 auto!important;
  padding:20px 16px 16px!important;border-radius:16px!important;
}
#savedProductsList.saved-products-list,
#savedAutoProductsList.saved-products-list,
.saved-products-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  max-height:min(62vh,560px)!important;
  -webkit-overflow-scrolling:touch!important;
  padding:4px 0!important;
}
@media (min-width:700px){
  #savedProductsList.saved-products-list,
  #savedAutoProductsList.saved-products-list,
  .saved-products-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
#savedProductsList .saved-product-item,
#savedAutoProductsList .saved-product-item,
.saved-product-item{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:100%!important;
  text-align:left!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
#savedProductsList .saved-product-item.is-selected,
#savedAutoProductsList .saved-product-item.is-selected{border-color:#ff6600!important;box-shadow:0 0 0 2px rgba(255,102,0,.18)!important;}
.saved-products-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important;margin:0 0 10px!important;padding:10px 12px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:12px!important;}
.saved-bulk-delete-btn{border:none!important;border-radius:8px!important;background:#dc2626!important;color:#fff!important;font-size:12px!important;font-weight:700!important;height:36px!important;padding:0 12px!important;cursor:pointer!important;}
.saved-bulk-delete-btn:disabled{opacity:.45!important;cursor:not-allowed!important;}
.saved-select-wrap{position:absolute!important;top:8px!important;left:8px!important;z-index:3!important;width:28px!important;height:28px!important;border-radius:8px!important;background:rgba(255,255,255,.94)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
#savedProductsList .saved-product-media,
#savedAutoProductsList .saved-product-media{
  width:100%!important;
  aspect-ratio:4/3!important;
  min-height:0!important;
  background:#eef2f7!important;
  overflow:hidden!important;
  flex:none!important;
}
#savedProductsList .saved-product-item img,
#savedAutoProductsList .saved-product-item img{
  width:100%!important;height:100%!important;min-height:0!important;
  object-fit:cover!important;display:block!important;
}
#savedProductsList .saved-product-meta,
#savedAutoProductsList .saved-product-meta{
  padding:10px 12px 12px!important;
  display:flex!important;flex-direction:column!important;gap:4px!important;
}
#savedProductsList .saved-product-date,
#savedAutoProductsList .saved-product-date{
  color:#64748b!important;font-size:12px!important;margin:0!important;line-height:1.3!important;
}
#savedProductsList .saved-product-item>.delete-button,
#savedAutoProductsList .saved-product-item>.delete-button{
  position:absolute!important;top:8px!important;right:8px!important;
  width:32px!important;height:32px!important;border:none!important;border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;color:#dc2626!important;z-index:2!important;
}
#savedProductsList .saved-product-buttons,
#savedAutoProductsList .saved-product-buttons,
#savedProductsList .open-button,
#savedAutoProductsList .open-button{display:none!important;}
@media (max-width:600px){
  #savedProductsList.saved-products-list,
  #savedAutoProductsList.saved-products-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Modális ablakok – mobilon */
@media (max-width:768px){
  .modalcart-content{margin:3% auto;padding:20px 20px 10px;max-height:96vh;}
  .modalcart-previews{flex-direction:column;max-height:55vh;overflow:visible;}
  .modalcart-preview-img img{max-height:30vh;}
  .modalcart-preview-3d{max-height:40vh;overflow:hidden;}
  #3d-viewer{max-height:38vh!important;}
  .dual-side-choice-buttons{flex-direction:row;align-items:stretch;gap:6px;}
  .enable-dual-btn,.disable-dual-btn{width:auto;flex:1 1 0;max-width:none;min-width:0;}
  .dual-preview-wrapper{flex-direction:column;gap:10px;padding:10px;}
  .preview-side{max-width:100%;}
}


/* ============================================================
   AJÁNDÉKTÁRGY STÚDIÓ – UI chrome (naptár-stúdió koncepció)
   Mobil: felső sticky sáv (termék-sáv) + canvas + alsó #tabMenu
   Desktop (≥769px): bal 76px sín | közép stúdió | jobb ~252px sín
   (≥1600px): sínek +15% (MacBook M1 1440px változatlan)
   A body osztályokat az ajt-ui-chrome.js kezeli:
   ajt-open / ajt-desktop / desktop-panel-open / tab-sheet-open
   ============================================================ */

/* ---------- Rejtett kompatibilitási konténer (script.js ID-k) ---------- */
#ajtCompat { display: none !important; }

/* ---------- Gyökér ---------- */
#ajtStudioRoot {
  position: relative;
  background: #e8eaed;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--dark-color, #333);
}
body.ajt-open,
body.ajt-desktop { overflow: hidden; padding: 0; }

/* Theme chat / kosár badge elrejtése a stúdióban (naptár: nincs theme keret) */
body.ajt-open .cw-root,
body.ajt-desktop .cw-root,
body.ajt-open .cw-bubble,
body.ajt-desktop .cw-bubble,
body.ajt-open .cart-module,
body.ajt-desktop .cart-module,
body.ajt-open .cart-badge,
body.ajt-desktop .cart-badge,
body.ajt-open #chat-widget,
body.ajt-desktop #chat-widget,
body.ajt-open .chat-widget,
body.ajt-desktop .chat-widget {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.ajt-open #ajtStudioRoot,
body.ajt-desktop #ajtStudioRoot {
  position: fixed;
  inset: 0;
  z-index: 9000;
  min-height: 0;
  overflow: hidden;
}

/* Beágyazott (belső include) mód: ne takarja el a gazdaoldalt */
body.ajt-open #ajtStudioRoot.ajt-internal,
body.ajt-desktop #ajtStudioRoot.ajt-internal {
  position: relative;
  inset: auto;
  height: 100vh;
  z-index: auto;
  transform: translateZ(0);
}
body.ajt-open:has(#ajtStudioRoot.ajt-internal),
body.ajt-desktop:has(#ajtStudioRoot.ajt-internal) { overflow: auto; }

/* ---------- Kritikus modális z-index-ek (a gyökér fölé) ---------- */
#overlay { z-index: 10070 !important; }
#uploadOverlay { display: none !important; pointer-events: none !important; visibility: hidden !important; }
#savedProductRestoreOverlay { z-index: 12000 !important; }
.app-modal { z-index: 10060 !important; }
.saved-products-modal { z-index: 10055 !important; }
.modalcart { z-index: 10050 !important; }
.modal_vagas { z-index: 10065 !important; }
#floating-preview { z-index: 10080; }

/* ---------- Visszalépés link ---------- */
#vissza-link { flex: 0 0 auto; }
#vissza-link .back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 12px;
}
#vissza-link .back-link:visited { color: #fff; }
#vissza-link .back-link-short { display: none; }

/* ---------- Termék-sáv (mint a hónap-sáv) ---------- */
.product-switcher {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
}
.product-nav {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(15, 18, 28, 0.06);
  padding: 0;
}
.product-nav:hover:not(:disabled) { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
.product-nav:disabled,
.product-nav.is-disabled { opacity: 0.35; cursor: default; box-shadow: none; }

#productBar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  flex-wrap: nowrap;
  justify-content: flex-start;
  padding: 6px 8px;
  background: #fff;
  border: 1px solid #e8eaed;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(15, 18, 28, 0.06);
  scrollbar-width: thin;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
#productBar::-webkit-scrollbar { height: 5px; }
#productBar::-webkit-scrollbar-thumb { background: #cfd3d8; border-radius: 10px; }
#productBar.is-centered { justify-content: center; }

#productBar .product-sku {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  padding: 6px 16px 6px 6px;
  border-radius: 18px;
  background: #fff;
  color: #1f2937;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(15, 18, 28, 0.04);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
#productBar .product-sku:hover {
  background: #fff7ed;
  color: #c2410c;
  border-color: #fed7aa;
  box-shadow: 0 4px 12px rgba(255, 102, 0, 0.1);
  transform: translateY(-1px);
}
#productBar .product-sku:focus-visible { outline: none; box-shadow: var(--focus-ring); }
#productBar .product-sku.active,
#productBar .product-sku.active:hover {
  background: var(--primary-color);
  color: #fff;
  border-color: var(--primary-color);
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(255, 102, 0, 0.28);
  transform: none;
}
#productBar .product-sku.is-filtered-out,
#productBar .product-sku.is-hidden-view,
#productBar .ajt-cat-pill.is-hidden-view { display: none !important; }

/* Fő kategória pillék (termékcsíkban) */
.ajt-cat-pill {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  padding: 6px 14px 6px 6px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  color: #1f2937;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 18, 28, 0.04);
  user-select: none;
}
.ajt-cat-pill:hover {
  background: #fff7ed;
  color: #c2410c;
  border-color: #fed7aa;
}
.ajt-cat-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 10px;
  font-weight: 700;
}
.ajt-product-bar-back {
  flex: 0 0 auto;
  display: none;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.ajt-product-bar-back:hover { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }

/* Smart mini-menü: a canvas FÖLÖTT, flow-ban – NEM lóg rá a canvasra / funkció gombokra */
.ajt-smart-dock {
  display: none;
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  transform: none;
  z-index: 5;
  flex: 0 0 auto;
  flex-direction: row;
  align-items: center;
  align-self: center;
  gap: 6px;
  width: auto;
  max-width: min(1480px, calc(100% - 8px));
  min-width: 0;
  margin: 2px auto 4px;
  padding: 3px 6px 3px 8px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(229, 231, 235, 0.9);
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(15, 18, 28, 0.08);
  pointer-events: auto;
  order: 1;
}
.ajt-smart-dock:not(.is-closed):not([hidden]) { display: flex; }
.ajt-smart-dock[data-mode="szoveg"],
.ajt-smart-dock[data-mode="kep"] {
  border-radius: 12px;
  padding: 4px 8px;
  max-width: min(1480px, calc(100% - 8px));
}
/* Mobilon sheet nyitva: smart menü rejtve */
body.tab-sheet-open .ajt-smart-dock {
  display: none !important;
}
/* Mobilon nincs kép-FX smart bar */
body.ajt-open:not(.ajt-desktop) .ajt-smart-dock[data-mode="kep"] {
  display: none !important;
}
#ajtCanvasStage .ajt-stage-cluster { order: 2; min-height: 0; flex: 1 1 auto; }
#ajtCanvasStage #ajtSmartTopRow { order: 1; }
#ajtCanvasStage #ajtSmartDock { order: 1; }
#ajtCanvasStage #ajtDesktopPhotoStrip { order: 3; }
#ajtCanvasStage #desktopControllerDock { order: 4; }

/* Smart bar sor: Másik termék + reszponzív dock */
.ajt-smart-top-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 4px;
  box-sizing: border-box;
  order: 1;
}
.ajt-smart-top-row #ajtProductBarToggle {
  flex: 0 0 auto;
  margin: 0;
  display: none;
}
body.ajt-desktop.ajt-product-bar-collapsed .ajt-smart-top-row #ajtProductBarToggle:not([hidden]) {
  display: inline-flex !important;
}
body.ajt-desktop.ajt-product-bar-collapsed #desktopTopBar > #ajtProductBarToggle,
body.ajt-desktop.ajt-product-bar-collapsed #ajtStickyChrome > #desktopTopBar > #ajtProductBarToggle {
  display: none !important;
}
.ajt-smart-top-row .ajt-smart-dock {
  flex: 1 1 auto;
  min-width: 0;
  max-width: min(1480px, calc(100% - 4px));
  width: auto;
  margin: 2px 0 3px;
  align-self: center;
}
.ajt-smart-dock-nav {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  color: #4b5563;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
/* Flex order: prev | cím | tartalom | next | close — ne a cím mellé kerüljön a next */
.ajt-smart-dock-prev { order: -1; }
.ajt-smart-dock-next { order: 2; }
.ajt-smart-dock-nav:hover { background: #fff7ed; color: #c2410c; }
.ajt-smart-dock-nav.is-disabled,
.ajt-smart-dock-nav:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
.ajt-smart-dock-nav[hidden] { display: none !important; }
/* Mobilon / touch UI: lapozó nyilak SOHA – touch scroll van */
@media (max-width: 900px) {
  .ajt-smart-dock-nav,
  #ajtSmartDockPrev,
  #ajtSmartDockNext {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}
body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-nav,
body.ajt-open:not(.ajt-desktop) #ajtSmartDockPrev,
body.ajt-open:not(.ajt-desktop) #ajtSmartDockNext {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.ajt-smart-dock-chip {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
  padding: 0 0 0 2px;
  border: 0;
  background: transparent;
  max-width: none;
  order: 0;
  border-right: 1px solid #e5e7eb;
  padding-right: 8px;
  margin-right: 2px;
}
.ajt-smart-dock-title {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: #6b7280;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1;
}
.ajt-smart-dock-close {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  color: #6b7280;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  order: 3;
  margin-left: 2px;
  transition: background 0.15s ease, color 0.15s ease;
}
.ajt-smart-dock-close:hover { background: #fff7ed; color: #c2410c; }
.ajt-smart-dock-body {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
  order: 1;
}
.ajt-smart-dock-scroll {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 4px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
}
.ajt-smart-dock-scroll::-webkit-scrollbar { height: 5px; }
.ajt-smart-dock-scroll::-webkit-scrollbar-thumb { background: #cfd3d8; border-radius: 8px; }
.ajt-smart-dock-item {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.ajt-smart-dock-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #fff;
}
.ajt-smart-dock-item--danger {
  width: auto;
  min-width: 72px;
  padding: 0 8px;
  border-color: #fecaca;
  background: #fff1f2;
  color: #b91c1c;
}
.ajt-smart-dock-item--danger:hover {
  background: #ffe4e6;
  border-color: #f87171;
}
.ajt-smart-dock-icon-pill {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-size: 16px;
  line-height: 1;
}
.ajt-smart-dock-icon-pill small {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ajt-smart-dock-text {
  display: none;
  flex: 1 1 auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  scrollbar-width: thin;
  padding-bottom: 2px;
}
.ajt-smart-dock-text::-webkit-scrollbar { height: 4px; }
.ajt-smart-dock-text::-webkit-scrollbar-thumb { background: #cfd3d8; border-radius: 8px; }
.ajt-smart-dock[data-mode="szoveg"] .ajt-smart-dock-text:not([hidden]),
.ajt-smart-dock[data-mode="kep"] .ajt-smart-dock-image:not([hidden]) {
  display: flex;
}
.ajt-smart-dock[data-mode="szoveg"],
.ajt-smart-dock[data-mode="kep"] {
  max-width: min(1480px, calc(100% - 8px));
}
body.ajt-open:not(.ajt-desktop) .ajt-smart-dock[data-mode="szoveg"],
body.ajt-open:not(.ajt-desktop) .ajt-smart-dock[data-mode="kep"] {
  max-width: 100%;
}
body.ajt-desktop .ajt-smart-dock[data-mode="szoveg"] .ajt-smart-dock-text:has(.ajt-smart-text-input.is-expanded) {
  overflow: visible;
  flex-wrap: wrap;
  align-items: flex-start;
  max-width: 100%;
}
.ajt-smart-dock-text[hidden],
.ajt-smart-dock:not([data-mode="szoveg"]) .ajt-smart-dock-text,
.ajt-smart-dock-image[hidden],
.ajt-smart-dock:not([data-mode="kep"]) .ajt-smart-dock-image {
  display: none !important;
}
.ajt-smart-dock[data-mode="szoveg"] .ajt-smart-dock-scroll,
.ajt-smart-dock[data-mode="kep"] .ajt-smart-dock-scroll {
  display: none !important;
}
.ajt-smart-dock:not([data-mode="szoveg"]):not([data-mode="kep"]) .ajt-smart-dock-scroll:not([hidden]) {
  display: flex;
}
.ajt-smart-dock-image {
  display: none;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  max-width: 100%;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
}
.ajt-smart-dock-image select {
  flex: 0 0 auto;
  min-width: 110px;
  max-width: 150px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  padding: 0 8px;
  font-size: 12px;
  background: #fff;
}
.ajt-smart-fx-range {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex: 0 0 auto;
  min-height: 48px;
  padding: 6px 10px 6px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #374151;
  font-size: 11px;
}
.ajt-smart-fx-ico {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #ea580c;
  line-height: 1;
}
.ajt-smart-fx-ctrl {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}
.ajt-smart-fx-label {
  font-size: 11px;
  font-weight: 700;
  color: #111827;
  line-height: 1.1;
  white-space: nowrap;
}
.ajt-smart-fx-range input[type="range"] {
  width: 100px;
  accent-color: #ea580c;
  margin: 0;
}
.ajt-smart-fx-color input[type="color"] {
  width: 40px;
  height: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 1px;
  background: #fff;
  cursor: pointer;
}
.ajt-smart-dock-item--cat .ajt-smart-dock-icon-pill i {
  font-size: 16px;
  color: #ea580c;
}
.ajt-smart-dock-item--cat,
.ajt-smart-dock-item--back {
  flex: 0 0 auto;
  width: auto;
  min-width: 72px;
  max-width: 110px;
  height: 56px !important;
  padding: 4px 8px !important;
  box-sizing: border-box;
}
.ajt-smart-dock-item--cat .ajt-smart-dock-icon-pill,
.ajt-smart-dock-item--back .ajt-smart-dock-icon-pill {
  min-width: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  gap: 2px;
}
.ajt-smart-dock-item--cat .ajt-smart-dock-icon-pill small,
.ajt-smart-dock-item--back .ajt-smart-dock-icon-pill small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  line-height: 1.1;
  text-transform: none;
  font-size: 10px;
  font-weight: 700;
  word-break: normal;
}
.ajt-smart-text-input {
  flex: 1 1 180px;
  min-width: 140px;
  max-width: 320px;
  height: 34px;
  min-height: 34px;
  max-height: 34px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.3;
  background: #fff;
  color: #111827;
  resize: none;
  overflow: hidden;
  white-space: nowrap;
  font-family: inherit;
  box-sizing: border-box;
}
.ajt-smart-text-input:focus {
  outline: none;
  border-color: #fdba74;
  box-shadow: 0 0 0 2px rgba(251, 146, 60, 0.2);
}
body.ajt-desktop .ajt-smart-text-input.is-expanded {
  position: relative;
  z-index: 40;
  flex: 1 1 100%;
  width: min(720px, 70vw);
  min-width: min(420px, 50vw);
  max-width: min(820px, 78vw);
  height: auto;
  min-height: 120px;
  max-height: 220px;
  white-space: pre-wrap;
  overflow: auto;
  resize: vertical;
  font-size: 15px;
  line-height: 1.45;
  padding: 10px 12px;
  box-shadow: 0 10px 28px rgba(15, 18, 28, 0.16);
  border-color: #fb923c;
}
.ajt-smart-text-swatches {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}
.ajt-smart-swatch {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  padding: 0;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.35);
}
.ajt-smart-swatch[data-color="#ffffff"] {
  border-color: #cbd5e1;
}
.ajt-smart-swatch.is-active {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #ea580c;
}
.ajt-smart-dock-text select {
  flex: 0 1 auto;
  min-width: 100px;
  max-width: 160px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  padding: 0 10px;
  font-size: 12px;
  background: #fff;
}
.ajt-smart-dock-text input[type="color"] {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 2px;
  background: #fff;
  cursor: pointer;
}
.ajt-smart-text-group {
  display: inline-flex;
  align-items: center;
  gap: 0;
  flex: 0 0 auto;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.ajt-smart-text-group .ajt-smart-text-btn {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 0;
  border-right: 1px solid #e5e7eb;
  background: transparent;
  color: #374151;
  cursor: pointer;
}
.ajt-smart-text-group .ajt-smart-text-btn:last-child { border-right: 0; }
.ajt-smart-text-btn {
  width: 34px;
  height: 34px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  cursor: pointer;
}
.ajt-smart-text-btn:hover,
.ajt-smart-text-group .ajt-smart-text-btn:hover {
  background: #fff7ed;
  color: #c2410c;
}
.ajt-smart-text-btn.is-active,
.ajt-smart-text-group .ajt-smart-text-btn.is-active {
  background: #fff7ed;
  color: #c2410c;
}
.ajt-quick-sablonok-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(15, 18, 28, 0.06);
  align-self: center;
}
.ajt-quick-sablonok-btn:hover { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
.ajt-quick-template-bar { display: none !important; }

/* Toast – finom, világos, kellemes */
.ajt-toast-host {
  position: fixed;
  top: max(14px, env(safe-area-inset-top, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 12000;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  pointer-events: none;
  width: min(440px, calc(100vw - 28px));
}
.ajt-toast {
  --ajt-toast-accent: #d97706;
  --ajt-toast-accent-soft: rgba(217, 119, 6, 0.14);
  --ajt-toast-ink: #3f3a32;
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 14px 14px 12px;
  border-radius: 16px;
  background:
    linear-gradient(165deg, rgba(255, 252, 247, 0.97) 0%, rgba(255, 248, 235, 0.96) 100%);
  color: var(--ajt-toast-ink);
  border: 1px solid rgba(217, 119, 6, 0.28);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 10px 28px rgba(55, 40, 10, 0.12),
    0 2px 8px rgba(55, 40, 10, 0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 13.5px;
  line-height: 1.45;
  letter-spacing: 0.01em;
  opacity: 0;
  transform: translateY(-18px) scale(0.94);
  transform-origin: top center;
  will-change: transform, opacity;
}
.ajt-toast.is-in {
  animation: ajtToastIn 0.55s cubic-bezier(0.22, 1.15, 0.36, 1) forwards;
}
.ajt-toast.is-out {
  animation: ajtToastOut 0.32s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  pointer-events: none;
}
.ajt-toast.is-warn {
  --ajt-toast-accent: #e8890c;
  --ajt-toast-accent-soft: rgba(232, 137, 12, 0.16);
}
.ajt-toast.is-info {
  --ajt-toast-accent: #0d9488;
  --ajt-toast-accent-soft: rgba(13, 148, 136, 0.14);
  border-color: rgba(13, 148, 136, 0.26);
  background: linear-gradient(165deg, rgba(247, 255, 253, 0.97) 0%, rgba(236, 253, 245, 0.96) 100%);
}
.ajt-toast.is-ok {
  --ajt-toast-accent: #16a34a;
  --ajt-toast-accent-soft: rgba(22, 163, 74, 0.14);
  border-color: rgba(22, 163, 74, 0.26);
  background: linear-gradient(165deg, rgba(247, 255, 250, 0.97) 0%, rgba(236, 253, 245, 0.96) 100%);
}
.ajt-toast-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--ajt-toast-accent-soft);
  color: var(--ajt-toast-accent);
  box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.12);
  animation: ajtToastIconPop 0.6s cubic-bezier(0.22, 1.3, 0.36, 1) 0.08s both;
}
.ajt-toast-icon i {
  margin: 0;
  font-size: 16px;
  line-height: 1;
}
.ajt-toast-body {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 6px;
  font-weight: 500;
}
.ajt-toast-close {
  flex: 0 0 auto;
  margin: 0;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: rgba(63, 58, 50, 0.06);
  color: #6b645a;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  display: grid;
  place-items: center;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.ajt-toast-close:hover {
  background: rgba(63, 58, 50, 0.12);
  color: #3f3a32;
  transform: scale(1.06);
}
.ajt-toast-close:active { transform: scale(0.94); }
@keyframes ajtToastIn {
  0% {
    opacity: 0;
    transform: translateY(-22px) scale(0.92);
    filter: blur(4px);
  }
  60% {
    opacity: 1;
    filter: blur(0);
  }
  78% {
    transform: translateY(3px) scale(1.015);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes ajtToastOut {
  to {
    opacity: 0;
    transform: translateY(-12px) scale(0.96);
    filter: blur(3px);
  }
}
@keyframes ajtToastIconPop {
  0% { transform: scale(0.5); opacity: 0; }
  70% { transform: scale(1.12); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .ajt-toast.is-in,
  .ajt-toast.is-out,
  .ajt-toast-icon {
    animation: none !important;
  }
  .ajt-toast.is-in { opacity: 1; transform: none; }
}

/* Zoom sáv alap */
.zoom-step-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #374151;
  cursor: pointer;
}
#zoomSlider { display: none; flex: 1 1 auto; min-width: 0; accent-color: #ff6600; }
.zoom-value { display: none; min-width: 40px; font-size: 11px; font-weight: 700; color: #4b5563; text-align: center; }

.product-pill-thumb {
  position: relative;
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  border-radius: 14px;
  overflow: hidden;
  background: #f3f4f6;
  border: 1px solid rgba(0, 0, 0, 0.06);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.product-pill-thumb img {
  display: block;
  width: 64px !important;
  height: 64px !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center;
  flex: none;
}
.product-pill-thumb .product-pill-fallback {
  display: none;
  color: #9ca3af;
  font-size: 14px;
}
#productBar .product-sku.is-broken .product-pill-thumb img { display: none; }
#productBar .product-sku.is-broken .product-pill-fallback { display: inline-block; }
#productBar .product-sku.active .product-pill-thumb { border-color: rgba(255, 255, 255, 0.6); }
#productBar .product-sku .product-pill-thumb img[src^="data:image/gif"] { opacity: 0; }

.product-pill-name {
  display: inline-block;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  font-size: 13px;
}

/* ---------- Kategória chipek ---------- */
.product-category-chips {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 5px 2px 2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.product-category-chips::-webkit-scrollbar { display: none; }
.product-category-chips.is-single { display: none; }
.product-chip,
#backToCategories {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 26px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.75);
  color: #4b5563;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.product-chip:hover,
#backToCategories:hover { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
.product-chip.is-active { background: #1f2937; color: #fff; border-color: #1f2937; }
.product-chip .product-chip-count { font-size: 10px; opacity: 0.65; font-weight: 700; }
#backToCategories { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }

/* ---------- Zoom / akció sáv (mobil: Előnézet / Mentés / Mentett / Kosár) ---------- */
#zoomBar { display: none; }

/* ---------- Akció gombok ---------- */
.actionButton {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 15px;
  border: none;
  border-radius: 20px;
  background-color: var(--primary-color);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(255, 102, 0, 0.2);
  transition: var(--transition);
  -webkit-tap-highlight-color: transparent;
}
.actionButton:hover { background-color: var(--secondary-color); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(255, 102, 0, 0.3); }
.actionButton i { font-size: 14px; }

#topActionsWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* ---------- Kiválasztott termék sáv ---------- */
#selectedProductInfo {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
#selectedProductInfo .spi-heading {
  display: none;
}
#selectedProductInfo .spi-name {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.45;
  color: #374151;
  text-align: center;
  word-break: break-word;
}
#selectedProductInfo .spi-name:empty::before {
  content: 'Válassz terméket a felső sávból';
  color: #9ca3af;
  font-weight: 600;
  font-size: 12px;
}
.spi-qty-price-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.spi-quantity-control {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}
.spi-quantity-control .qty-btn {
  width: 30px;
  height: 30px;
  border: 0;
  background: #f3f4f6;
  color: #374151;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.spi-quantity-control .qty-btn:hover { background: #fff7ed; color: #c2410c; }
.spi-quantity-control .qty-input {
  width: 38px;
  height: 30px;
  border: 0;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  background: #fff;
  -moz-appearance: textfield;
  padding: 0;
}
.spi-quantity-control .qty-input::-webkit-outer-spin-button,
.spi-quantity-control .qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#selectedProductInfo .spi-price {
  font-size: 16px;
  font-weight: 800;
  color: var(--primary-color);
  white-space: nowrap;
}
#selectedProductInfo .spi-cart-btn {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  background: #2e7d32;
  box-shadow: 0 6px 14px rgba(46, 125, 50, 0.25);
  font-weight: 700;
}
#selectedProductInfo .spi-cart-btn:hover { background: #1b5e20; }

/* ---------- Tab sín elemei ---------- */
#tabItemsWrapper { display: flex; align-items: center; justify-content: center; gap: 4px; }
.tabItem {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 0;
  padding: 5px 4px 4px;
  border-radius: 10px;
  background: #6b6b6b;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  cursor: pointer;
  position: relative;
  transition: var(--transition);
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.tabItem br { display: none; }
.tabItem i { display: block; font-size: 16px; line-height: 1; }
.tabItem.active { background: #fff; color: var(--primary-color); }

/* ---------- Funkció panel / sheet ---------- */
#tabContent {
  display: none;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  min-height: 0;
}
#tabContent .tabContentHeader {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px 12px;
  background: #fff;
  border-bottom: 1px solid #f0f1f3;
  position: relative;
  z-index: 2;
}
#tabContent .tabContentHeader h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #111827;
}
#closeTabContent {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
#closeTabContent:hover { background: #eceff3; color: #111827; }
#tabContent .tabContentBody {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 14px 16px 24px;
  -webkit-overflow-scrolling: touch;
}
.ajt-pane { display: none; }
.ajt-pane.is-active { display: block; }

/* A régi panel-kártyák a sheetben: fejléc nélkül, lapos */
#tabContent .panel-card {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}
#tabContent .panel-card-header { display: none !important; }
#tabContent .panel-card-body,
#tabContent .panel-collapse-body,
#tabContent .panel-collapse-body.closed,
#tabContent .panel-collapse-body.open {
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
  display: block;
}
#tabContent .template-grid,
#tabContent .template-list:not(#productList),
#tabContent .bg-thumbnails {
  max-height: none !important;
  overflow: visible !important;
}
#tabContent .template-grid,
#tabContent #templateList,
#tabContent #clipartsList,
#tabContent .bg-thumbnails {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px;
  justify-content: stretch;
  justify-items: stretch;
  max-height: none !important;
  overflow: visible !important;
  align-content: start;
}
#tabContent #templateList .template-thumbnail,
#tabContent .template-thumbnail {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding: 10px 8px !important;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1.3;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  min-height: 52px;
  overflow: hidden;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#tabContent #templateList .template-thumbnail.template-cat-card {
  flex-direction: column !important;
  gap: 6px;
  min-height: 76px;
  padding: 12px 8px !important;
}
#tabContent .template-cat-ico {
  width: 38px;
  height: 38px;
  font-size: 20px;
  border-radius: 11px;
  background: #fff7ed;
  color: #ea580c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#tabContent .template-cat-name {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}
#tabContent #templateList .group-button,
#tabContent #templateList .template-remove-button,
#tabContent #templateActions .group-button,
#tabContent #templateActions .template-remove-button {
  grid-column: 1 / -1;
  width: 100%;
}
/* Asztali széles nézet: max. 2 kategória / sablon oszlop (ne 3) */
@media (min-width: 1200px) {
  #tabContent .template-grid,
  #tabContent #templateList,
  #tabContent #clipartsList {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  /* Sablonok / clipart modal: mobilon legalább 2 oszlop egymás mellett */
  #tabContent .template-grid,
  #tabContent #templateList,
  #tabContent #clipartsList {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px;
  }
  #tabContent #templateList .template-thumbnail {
    font-size: 12px !important;
    padding: 10px 8px !important;
    min-height: 48px;
    justify-content: center;
    text-align: center;
  }
  #tabContent #templateList .template-thumbnail.template-cat-card {
    min-height: 72px;
    padding: 10px 6px !important;
  }
  /* Maszkok: CSAK mobilon 3 oszlop */
  #tabContent #ajtMaskGrid.ajt-mask-grid,
  #tabContent .ajt-mask-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
}
/* Maszk rács: asztalin 2 oszlop (mint a többi grid), mobilon fent 3 */
#tabContent #ajtMaskGrid.ajt-mask-grid,
#tabContent .ajt-mask-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px;
  justify-items: stretch;
  align-content: start;
}
#tabContent #ajtMaskGrid .ajt-smart-dock-item,
#tabContent .ajt-mask-grid .ajt-smart-dock-item,
#tabContent #ajtMaskGrid .ajt-mask-thumb,
#tabContent .ajt-mask-grid .ajt-mask-thumb {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  min-height: 0;
  border-radius: 8px;
  padding: 4px;
}
#tabContent #ajtMaskGrid .ajt-smart-dock-item img,
#tabContent .ajt-mask-grid .ajt-smart-dock-item img,
#tabContent #ajtMaskGrid .ajt-mask-thumb img,
#tabContent .ajt-mask-grid .ajt-mask-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  aspect-ratio: 1;
  background: #f9fafb;
  border-radius: 6px;
}
#tabContent .template-grid img,
#tabContent #templateList img,
#tabContent #clipartsList img,
#tabContent .bg-thumbnails img,
#tabContent img.template-thumbnail-image {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 1;
  object-fit: contain !important;
  background: #f9fafb;
  border-radius: 8px;
  box-sizing: border-box;
}
#tabContent #clipartsList[style*="display: none"],
#tabContent #clipartsList[style*="display:none"] { display: none !important; }

/* Clipart kategória chip-ek */
.ajt-clipart-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}
.ajt-clipart-cat-btn {
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.2;
}
.ajt-clipart-cat-btn:hover { border-color: #fb923c; color: #c2410c; }
.ajt-clipart-cat-btn.is-active {
  background: #fff7ed;
  border-color: #f97316;
  color: #c2410c;
}
.ajt-cliparts-empty { line-height: 1.45; }
#ajtClipartsTabItem[hidden] { display: none !important; }
#tabContent .uploaded-images-strip,
#tabContent #uploadedImagesList {
  pointer-events: auto !important;
  opacity: 1 !important;
}
#tabContent #uploadedImagesList.disabled-images-list {
  pointer-events: auto !important;
  opacity: 1 !important;
}

/* ===== Képfeltöltés – naptár stílus (dropzone + thumbnailök) ===== */
#tabContent .ajt-upload-studio {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#tabContent .ajt-upload-dropzone {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1.5px dashed #d7dbe0;
  border-radius: 16px;
  background: linear-gradient(180deg, #fbfbfc, #f6f7f8);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
#tabContent .ajt-upload-dropzone:hover,
#tabContent .ajt-upload-dropzone.is-dragover {
  border-color: #ffb070;
  background: #fff7ed;
  box-shadow: 0 8px 20px rgba(255, 102, 0, 0.08);
}
#tabContent .ajt-upload-main-btn,
#tabContent .ajt-upload-dropzone #uploadTrigger {
  flex: 0 0 auto;
  width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ff7a1a, #f05600) !important;
  color: #fff !important;
  font-size: 20px !important;
  box-shadow: 0 8px 18px rgba(255, 102, 0, 0.28);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
#tabContent .ajt-upload-dropzone-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
#tabContent .ajt-upload-dropzone-copy strong {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
}
#tabContent .ajt-upload-dropzone-copy .clickable-upload-text {
  color: #6b7280;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 500;
}
#tabContent .ajt-upload-progress {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff7ed;
  border: 1px solid #ffd7b0;
}
#tabContent .ajt-upload-progress[hidden] { display: none !important; }
#tabContent .ajt-upload-progress-track {
  height: 8px;
  border-radius: 999px;
  background: #ffe8d1;
  overflow: hidden;
}
#tabContent .ajt-upload-progress-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff7a1a, #f05600);
  transition: width 0.22s ease;
}
#tabContent .ajt-upload-progress-text {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #9a3412;
}
#tabContent #uploadedImagesList .ajt-thumb-uploading {
  position: relative;
  background: #f3f4f6;
  border: 1px dashed #d1d5db;
  border-radius: 10px;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  font-size: 11px;
  font-weight: 600;
  animation: ajtThumbPulse 1.1s ease-in-out infinite;
}
@keyframes ajtThumbPulse {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 1; }
}
#tabContent .ajt-upload-secondary,
#tabContent .upload-actions.ajt-upload-secondary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
}
#tabContent .ajt-upload-secondary button {
  width: 100%;
  justify-content: center;
  white-space: nowrap;
  min-height: 42px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 13px;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  color: #374151 !important;
}
#tabContent .thumbnail-controls {
  display: none;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
  padding: 6px 2px;
  background: transparent;
  border: 0;
  border-radius: 0;
}
#tabContent .ajt-thumb-count {
  font-size: 12px;
  font-weight: 700;
  color: #6b7280;
}
#tabContent .delete-all-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 4px;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  color: #b91c1c !important;
  text-decoration: none !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 12px !important;
  cursor: pointer;
  box-sizing: border-box;
}
#tabContent .delete-all-button[hidden] {
  display: none !important;
}
#tabContent .delete-all-button:hover {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
}
#tabContent .delete-all-button i {
  font-size: 13px;
}
#tabContent .bg-color-row { margin-bottom: 8px; }

/* Szöveg composer – igényes bal panel */
.ajt-text-composer { display: flex; flex-direction: column; gap: 12px; }
.ajt-text-toolbar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}
.ajt-text-toolbar-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.ajt-text-toolbar select {
  flex: 1 1 auto;
  min-width: 0;
  height: 42px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 0 12px;
  font-size: 13px;
  background: #fff;
  color: #111827;
}
.ajt-text-color-wrap {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ajt-text-color-wrap input[type="color"] {
  width: 120%;
  height: 120%;
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
}
.ajt-text-toolbar-tools {
  justify-content: space-between;
  gap: 10px;
}
.ajt-text-tool-group {
  display: inline-flex;
  flex: 1 1 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.ajt-text-tool-group i {
  flex: 1 1 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-right: 1px solid #e5e7eb !important;
  background: transparent !important;
  color: #4b5563 !important;
  font-size: 14px !important;
  cursor: pointer;
  box-shadow: none !important;
}
.ajt-text-tool-group i:last-child { border-right: 0 !important; }
.ajt-text-tool-group i:hover,
.ajt-text-tool-group i.active,
.ajt-text-tool-group i.selected {
  background: #fff7ed !important;
  color: #c2410c !important;
}
.ajt-text-field-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #9ca3af;
  margin: 2px 0 -4px;
}
#tabContent .text-area,
.ajt-text-composer .text-area {
  min-height: 110px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.45;
  resize: vertical;
  background: #fff;
}
#tabContent .text-actions { justify-content: stretch; margin: 0; }
#tabContent .text-actions .btn-primary {
  width: 100%;
  justify-content: center;
  padding: 13px 16px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  min-height: 46px;
}

/* Szöveg élő előnézet */
.ajt-text-live-preview {
  margin-top: 4px;
  padding: 18px 14px 20px;
  border-radius: 16px;
  background: linear-gradient(180deg, #fafafa 0%, #f3f4f6 100%);
  border: 1px solid #e5e7eb;
  text-align: center;
}
.ajt-text-live-preview-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9ca3af;
  margin-bottom: 10px;
}
.ajt-text-live-preview-sample {
  font-size: 34px;
  line-height: 1.25;
  color: #111827;
  word-break: break-word;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Thumbnail rács – naptár méretek (104–110px) */
#tabContent #uploadedImagesList.thumbnails-wrapper,
#tabContent .thumbnails-wrapper {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, 104px) !important;
  grid-auto-rows: 104px;
  justify-content: start;
  gap: 10px !important;
  padding: 2px 2px 12px;
  align-items: start;
  max-height: none !important;
  overflow: visible !important;
}
#tabContent #uploadedImagesList .thumbnail-wrapper,
#tabContent #uploadedImagesList .image-container {
  position: relative !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 104px !important;
  height: 104px !important;
  min-width: 104px !important;
  min-height: 104px !important;
  max-width: 104px !important;
  max-height: 104px !important;
  flex: 0 0 104px !important;
  aspect-ratio: auto !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  background: #f4f2f0 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  box-sizing: border-box;
}
#tabContent #uploadedImagesList .thumbnail-wrapper:hover,
#tabContent #uploadedImagesList .image-container:hover {
  transform: scale(1.04);
  border-color: #ff6600 !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
}
#tabContent #uploadedImagesList .thumbnail-wrapper.used {
  opacity: 0.5;
}
#tabContent #uploadedImagesList .thumbnail-wrapper.is-broken-thumb {
  background: #f3f4f6 !important;
  border: 1px dashed #d1d5db !important;
}
#tabContent #uploadedImagesList .thumbnail-wrapper.is-broken-thumb img {
  object-fit: none !important;
  opacity: 0.35;
  filter: grayscale(1);
}
#tabContent #uploadedImagesList img,
#tabContent #uploadedImagesList .uploaded-image,
#tabContent #uploadedImagesList .thumbnail-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 4px !important;
  display: block !important;
  background: transparent !important;
  aspect-ratio: auto !important;
}
#tabContent #uploadedImagesList .delete-icon {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #d9534f;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  z-index: 3;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  opacity: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
#tabContent #uploadedImagesList .thumbnail-wrapper:hover .delete-icon,
#tabContent #uploadedImagesList .image-container:hover .delete-icon {
  opacity: 1;
}
#tabContent #uploadedImagesList .delete-icon:hover {
  background: #fff;
  color: #d32f2f;
  transform: scale(1.1);
}

/* ---------- Canvas színpad ---------- */
#ajtStudioContainer {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
#ajtStickyChrome {
  flex: 0 0 auto;
  position: relative;
  z-index: 20;
  background: #fff;
}
#desktopTopBar { display: flex; align-items: center; gap: 8px; width: 100%; }

/* Termékválasztó összecsukva → több hely a canvasnak */
.ajt-product-bar-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  margin: 0 auto;
  padding: 8px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #374151;
  font-size: 12px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(15, 18, 28, 0.06);
}
.ajt-product-bar-toggle:hover {
  background: #fff7ed;
  border-color: #fdba74;
  color: #c2410c;
}
.ajt-product-bar-toggle i { font-size: 12px; color: #9ca3af; }
body.ajt-product-bar-collapsed .product-switcher { display: none !important; }
body.ajt-product-bar-collapsed #ajtProductBarToggle:not([hidden]) { display: inline-flex; }
body.ajt-desktop.ajt-product-bar-collapsed #ajtProductBarToggle:not([hidden]) { display: inline-flex; }
body.ajt-product-bar-collapsed #ajtStickyChrome {
  padding-top: 6px;
  padding-bottom: 4px;
}
body.ajt-desktop.ajt-product-bar-collapsed #ajtStickyChrome {
  padding: 6px 10px 4px;
}

#ajtCanvasStage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  box-sizing: border-box;
}
.ajt-stage-cluster {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  overflow: hidden;
  box-sizing: border-box;
}
.ajt-stage-cluster.is-zoomed {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
/* Asztal: középre; mobil: felülről (ne legyen üres sáv a smartbar alatt) */
@supports (justify-content: safe center) {
  .ajt-stage-cluster { justify-content: safe center; }
}
@media (max-width: 768px) {
  .ajt-stage-cluster,
  body.ajt-open:not(.ajt-desktop) .ajt-stage-cluster {
    justify-content: flex-start !important;
    gap: 4px;
    padding-top: 0;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-top-row {
    padding: 0 !important;
    width: 100%;
    gap: 0;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock,
  body.ajt-open:not(.ajt-desktop) .ajt-smart-top-row .ajt-smart-dock {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 2px !important;
    padding: 3px 4px !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    align-self: stretch !important;
    box-shadow: 0 1px 0 rgba(15, 18, 28, 0.06);
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-item {
    width: 48px;
    height: 48px;
    border-radius: 7px;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-item--cat,
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-item--back {
    height: 48px !important;
    min-width: 64px;
    max-width: 96px;
    padding: 3px 6px !important;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-item--cat .ajt-smart-dock-icon-pill i,
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-item--back .ajt-smart-dock-icon-pill i {
    font-size: 14px;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-item--cat .ajt-smart-dock-icon-pill small,
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-item--back .ajt-smart-dock-icon-pill small {
    font-size: 9px;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-chip {
    display: none; /* több hely a sablonoknak széltől szélig */
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock-close {
    width: 22px;
    height: 22px;
    margin-left: 0;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-fx-range {
    min-height: 40px;
    padding: 3px 6px;
    gap: 5px;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-fx-ico {
    width: 22px;
    height: 22px;
    font-size: 16px;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-fx-range input[type="range"] {
    width: 72px;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-fx-label {
    font-size: 10px;
  }
  body.ajt-open:not(.ajt-desktop) #ajtProductRotateBar.ajt-rotate-bar,
  body.ajt-open:not(.ajt-desktop) .ajt-rotate-bar {
    margin: 0 0 4px !important;
    flex: 0 0 auto !important;
    position: relative;
    z-index: 2;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
  body.ajt-open:not(.ajt-desktop) #ajtProductRotateBar .ajt-rotate-btn {
    min-height: 36px;
    padding: 8px 12px;
    font-size: 13px;
  }
  body.ajt-open:not(.ajt-desktop) #mugMessage.mug-bar {
    margin: 0 auto 4px !important;
  }
}
.ajt-stage-cluster > * { flex-shrink: 0; max-width: 100%; }
.ajt-stage-cluster .canvas-container {
  margin: 0 auto;
  flex: 0 0 auto;
  max-width: 100%;
  box-sizing: border-box;
}
/* Fabric wrapper / canvas: ne nyújtsuk szét (arány megtartása) */
.ajt-stage-cluster .canvas-container .canvas-container,
.ajt-stage-cluster .canvas-container > .canvas-container {
  max-width: 100% !important;
}
.ajt-stage-cluster .canvas-container canvas,
.ajt-stage-cluster .canvas-container .upper-canvas,
.ajt-stage-cluster .canvas-container .lower-canvas {
  max-width: 100% !important;
}
@media (max-width: 768px) {
  body.ajt-open #ajtCanvasStage {
    padding-left: 2px;
    padding-right: 2px;
    overflow: hidden;
    flex: 1 1 auto;
    min-height: 0;
  }
  body.ajt-open .ajt-stage-cluster {
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
    flex: 1 1 auto;
    min-height: 0;
  }
  body.ajt-open .ajt-stage-cluster .canvas-container {
    max-width: calc(100vw - 8px) !important;
  }
}
body.ajt-open:not(.ajt-desktop) #ajtStudioContainer {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
body.ajt-open:not(.ajt-desktop) #ajtCanvasStage {
  flex: 1 1 auto;
  min-height: 0;
}

/* Asztali fotósáv (naptár mobilePhotoStrip mintájára) */
.ajt-desktop-photo-strip {
  display: none;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  padding: 0 8px 6px;
  box-sizing: border-box;
}
.ajt-desktop-photo-strip:not(.is-empty):not([hidden]) {
  display: block;
}
.ajt-desktop-photo-strip-inner,
.mobile-photo-strip-inner {
  display: flex;
  flex-direction: row;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.ajt-photo-strip-item,
.mobile-photo-strip-item,
.ajt-desktop-photo-strip-inner .ajt-photo-strip-item {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  cursor: grab;
  box-sizing: border-box;
}
.ajt-photo-strip-item img,
.mobile-photo-strip-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.saved-now-btn {
  border: none;
  border-radius: 8px;
  background: #ff6600;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  height: 36px;
  padding: 0 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.saved-now-btn:hover { background: #db5800; }

/* Nincs kiválasztott termék: üzenet */
.ajt-pick-hint {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  max-width: 340px;
  padding: 28px 22px;
  margin: 12px auto;
  text-align: center;
  color: #4b5563;
  background: #fff;
  border: 1px dashed #fed7aa;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(15, 18, 28, 0.06);
}
.ajt-pick-hint i { font-size: 30px; color: var(--primary-color); }
.ajt-pick-hint strong { font-size: 15px; color: #111827; }
.ajt-pick-hint span { font-size: 12px; line-height: 1.5; }
body.ajt-no-product .ajt-pick-hint { display: flex; }
body.ajt-no-product .ajt-stage-cluster > .canvas-container,
body.ajt-no-product #ajtProductRotateBar { display: none !important; }

.ajt-stage-cluster #infoBox { display: none !important; }
body.ajt-thumb-dragging { cursor: copying; }
.ajt-stage-cluster #dualSideChoice {
  width: 100%;
  max-width: 420px;
  margin: 0;
  background: #fff;
  border-radius: 12px;
  box-shadow: var(--shadow);
  flex: 0 0 auto;
}
/* Mobil: kompakt dual-side, ne nyomja le a canvast */
body.ajt-open .ajt-stage-cluster #dualSideChoice {
  max-width: 100%;
  padding: 0;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(15, 18, 28, 0.08);
  overflow: hidden;
}
/* Mobil: zóna / kétoldalas panel összecsukható */
body.ajt-open .ajt-stage-cluster #dualSideChoice .ajt-zone-collapse-toggle {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 0;
  background: #fff7ed;
  color: #9a3412;
  font-size: 12px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  box-sizing: border-box;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice .ajt-zone-collapse-toggle .ajt-zone-chevron {
  margin-left: auto;
  transition: transform 0.2s ease;
  font-size: 11px;
  color: #c2410c;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice.is-collapsed .ajt-zone-collapse-toggle .ajt-zone-chevron {
  transform: rotate(-90deg);
}
body.ajt-open .ajt-stage-cluster #dualSideChoice.is-collapsed .ajt-zone-collapse-body {
  display: none !important;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice .ajt-zone-collapse-body {
  padding: 8px 10px 10px;
}
body.ajt-desktop #dualSideChoice .ajt-zone-collapse-toggle { display: none !important; }
body.ajt-desktop #dualSideChoice .ajt-zone-collapse-body { display: block !important; padding: 0; }
body.ajt-open .ajt-stage-cluster #dualSideChoice .dual-side-option-container,
body.ajt-open .ajt-stage-cluster #dualSideChoice .side-selector-container {
  padding: 0;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice h5 {
  font-size: 12px;
  margin: 0 0 4px;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice p {
  font-size: 11px;
  margin: 0 0 6px;
  line-height: 1.35;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice .dual-side-choice-buttons {
  display: flex !important;
  flex-direction: row !important;
  gap: 6px;
  flex-wrap: nowrap;
  align-items: stretch;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice .enable-dual-btn,
body.ajt-open .ajt-stage-cluster #dualSideChoice .disable-dual-btn {
  flex: 1 1 0;
  min-width: 0;
  white-space: normal;
  line-height: 1.25;
}
body.ajt-open .ajt-stage-cluster #dualSideChoice .enable-dual-btn,
body.ajt-open .ajt-stage-cluster #dualSideChoice .disable-dual-btn,
body.ajt-open .ajt-stage-cluster #dualSideChoice .side-btn {
  min-height: 34px;
  padding: 6px 8px;
  font-size: 11px;
}
.ajt-stage-cluster #mugMessage {
  max-width: 100%;
  align-self: center;
}

/* Objektum vezérlő dokkok */
.desktop-controller-dock,
.mobile-controller-dock { display: none; }
.desktop-controller-dock .obj-modal,
.mobile-controller-dock .obj-modal {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin: 0;
  width: auto;
  max-width: 100%;
  background: #fff;
  border: 1px solid #e4e6e8;
  box-shadow: 0 8px 24px rgba(15, 18, 28, 0.08);
  backdrop-filter: none;
}
#ajtStudioRoot .obj-modal .obj-buttons {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 2px;
  grid-template-columns: none !important;
  background: #fff !important;
  border: 1px solid #e4e6e8 !important;
  border-radius: 22px !important;
  box-shadow: 0 8px 24px rgba(15, 18, 28, 0.08) !important;
  padding: 4px 10px !important;
}
#ajtStudioRoot .obj-modal .obj-buttons button {
  flex: 0 0 auto;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 8px !important;
  border: none !important;
  background: transparent !important;
  white-space: nowrap;
}
body.ajt-desktop #ajtStudioRoot .obj-modal .obj-buttons button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
}
body.ajt-desktop #ajtStudioRoot .obj-modal .obj-buttons button i {
  font-size: 18px !important;
}
#ajtStudioRoot .obj-modal .obj-buttons button small { display: none !important; }
#ajtStudioRoot .obj-modal.is-disabled .obj-buttons,
#ajtStudioRoot .obj-buttons.is-disabled {
  opacity: 0.42 !important;
  filter: grayscale(0.25);
  pointer-events: none !important;
}

/* Szöveg opciók / popup */
.ajt-stage-cluster .text-options { width: 100%; max-width: 560px; margin: 0; }
.ajt-stage-cluster .text-popup { position: relative; max-width: 360px; text-align: center; }

/* ============================================================
   MOBIL (≤768px)
   ============================================================ */
@media (max-width: 768px) {
  body.ajt-open #ajtStudioRoot { display: flex; flex-direction: column; height: 100vh; height: 100dvh; }
  body.ajt-open #ajtStudioContainer { flex: 1 1 auto; width: 100%; }
  body.ajt-open #desktopRightRail { display: none; }

  body.ajt-open #ajtStickyChrome {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-top: env(safe-area-inset-top, 0px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  }
  body.ajt-open #desktopTopBar {
    order: 1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    padding: 6px 8px 2px;
    background: #fff;
  }
  /* Terméknév / darabszám / Kosár: topBar alatt */
  body.ajt-open #ajtStickyChrome > #zoomBar {
    order: 2;
  }
  body.ajt-open #ajtStickyChrome > .product-category-chips {
    order: 3;
  }

  /* Házikó + Előnézet + Automata + Másik termék egy sorban */
  body.ajt-open #vissza-link {
    order: 1;
    flex: 0 0 auto;
    background: var(--primary-color);
    text-align: center;
    padding: 0;
    border-radius: 999px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(255, 102, 0, 0.3);
  }
  body.ajt-open #vissza-link .back-link {
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
    color: #fff;
    font-size: 16px;
    gap: 0;
  }
  body.ajt-open #vissza-link .back-link-text,
  body.ajt-open #vissza-link .back-link-short { display: none !important; }
  body.ajt-open #vissza-link .fa-home,
  body.ajt-open #vissza-link .fas.fa-home,
  body.ajt-open #vissza-link i { color: #fff !important; font-size: 16px; margin: 0; }

  body.ajt-open #desktopTopBar > #topActionsWrapper {
    order: 2;
    flex: 1 1 0;
    min-width: 0;
    display: flex !important;
    align-items: center;
    gap: 4px;
    padding: 0;
    justify-content: stretch;
  }
  body.ajt-open #desktopTopBar > #topActionsWrapper .actionButton {
    flex: 1 1 0;
    min-width: 0;
    height: 36px;
    min-height: 36px;
    padding: 0 6px;
    gap: 3px;
    border-radius: 999px;
    color: #fff !important;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 !important;
    transform: none !important;
  }
  body.ajt-open #desktopTopBar > #topActionsWrapper .actionButton i {
    font-size: 12px;
    color: #fff !important;
  }
  body.ajt-open #desktopTopBar > #topActionsWrapper .actionButton[data-action="mentes"] {
    display: none !important;
  }
  body.ajt-open #desktopTopBar > #topActionsWrapper .actionButton[data-action="elonezet"] {
    background: var(--primary-color) !important;
    box-shadow: 0 2px 8px rgba(255, 102, 0, 0.3);
  }
  body.ajt-open #desktopTopBar > #topActionsWrapper .actionButton[data-action="autofill"] {
    background: #9c27b0 !important;
    box-shadow: 0 2px 8px rgba(156, 39, 176, 0.3);
    display: inline-flex !important;
  }

  /* Másik termék a felső sorban (Előnézet / Automata mellett) */
  body.ajt-open #desktopTopBar > #ajtProductBarToggle {
    order: 3;
    flex: 0 1 auto;
    max-width: 34%;
    min-width: 0;
    height: 36px;
    min-height: 36px;
    margin: 0;
    padding: 0 10px;
    gap: 4px;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    box-shadow: 0 1px 3px rgba(15, 18, 28, 0.06);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
  }
  body.ajt-open #desktopTopBar > #ajtProductBarToggle i { font-size: 11px; color: #9ca3af; }
  body.ajt-open #desktopTopBar > #ajtProductBarToggle .ajt-product-bar-toggle-label {
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
  }
  body.ajt-open.ajt-product-bar-collapsed #desktopTopBar > #ajtProductBarToggle:not([hidden]) {
    display: inline-flex !important;
  }

  /* Termékválasztó nyitva: Előnézet/Automata el, hely a termék-scrollnak */
  body.ajt-open:not(.ajt-product-bar-collapsed) #desktopTopBar {
    align-items: flex-start;
  }
  body.ajt-open:not(.ajt-product-bar-collapsed) #desktopTopBar > #topActionsWrapper {
    display: none !important;
  }
  body.ajt-open #productSwitcher {
    order: 4;
    flex: 1 0 100%;
    width: 100%;
    padding: 2px 0 0;
  }
  body.ajt-open:not(.ajt-product-bar-collapsed) #productSwitcher {
    order: 2;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding: 0;
  }
  body.ajt-open .product-nav { display: none; }
  body.ajt-open #productBar {
    border-radius: 12px;
    padding: 4px 6px;
    box-shadow: none;
    background: #f6f7f8;
    border-color: #eceef0;
  }
  body.ajt-open #productBar .product-sku { min-height: 40px; padding: 3px 11px 3px 4px; font-size: 11px; gap: 6px; }
  body.ajt-open .product-pill-thumb,
  body.ajt-open .product-pill-thumb img {
    flex-basis: 56px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
  }
  body.ajt-open #productBar .product-sku,
  body.ajt-open .ajt-cat-pill { min-height: 64px; font-size: 12px; }
  body.ajt-open .product-pill-name { max-width: 180px; font-size: 12px; }
  body.ajt-open .ajt-smart-dock:not(.is-closed):not([hidden]) { display: flex; }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock {
    width: 100%;
    max-width: 100%;
    margin: 0 0 2px;
    border-radius: 0;
    align-self: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
  }
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock[data-mode="szoveg"],
  body.ajt-open:not(.ajt-desktop) .ajt-smart-dock[data-mode="kep"] {
    max-width: 100%;
    border-radius: 0;
  }
  body.ajt-open .ajt-smart-dock-image:not([hidden]) {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  body.ajt-open .ajt-smart-dock-body {
    min-width: 0;
    overflow: hidden;
  }
  body.ajt-open .ajt-smart-dock-text:not([hidden]) {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  body.ajt-open .ajt-smart-dock-text select {
    flex: 0 0 auto;
    min-width: 120px;
    max-width: 160px;
  }
  body.ajt-open #tabItemsWrapper .tabItem-autofill { display: none !important; }
  body.ajt-open #ajtDesktopPhotoStrip { display: none !important; }
  body.ajt-open .product-category-chips { padding: 5px 8px 2px; }

  body.ajt-open #zoomBar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    width: 100%;
    box-sizing: border-box;
    padding: 4px 8px 8px;
    background: #fff;
  }
  body.ajt-open #zoomBar .zoom-bar-inner {
    display: none !important;
  }
  /* Terméknév + darabszám egy sorban (korábbi elrendezés) */
  body.ajt-open #zoomBar #selectedProductInfo {
    order: 1;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 2px 2px 0;
    box-sizing: border-box;
    min-width: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }
  body.ajt-open #zoomBar #selectedProductInfo .spi-name {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: #374151;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
  }
  body.ajt-open #zoomBar #selectedProductInfo .spi-qty-price-wrapper {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }
  body.ajt-open #zoomBar #selectedProductInfo .spi-price {
    font-size: 13px;
    font-weight: 800;
    color: var(--primary-color);
    white-space: nowrap;
  }
  body.ajt-open #zoomBar #selectedProductInfo .spi-cart-btn { display: none !important; }
  body.ajt-open #zoomBar #selectedProductInfo .spi-heading { display: none !important; }
  body.ajt-open #zoomBar .spi-quantity-control {
    flex: 0 0 auto;
    border-color: #e5e7eb;
    background: #fff;
  }
  body.ajt-open #zoomBar .spi-quantity-control .qty-btn {
    width: 28px;
    height: 28px;
    font-size: 15px;
    background: #f3f4f6;
  }
  body.ajt-open #zoomBar .spi-quantity-control .qty-input {
    width: 32px;
    height: 28px;
    font-size: 13px;
    font-weight: 800;
  }
  body.ajt-open #zoomBar #ajtProductBarToggle { display: none !important; }
  body.ajt-open #zoomBar #topActionsWrapper { display: none !important; }
  body.ajt-open #zoomBar .actionButton:not(.zoom-cart-btn) { display: none !important; }
  body.ajt-open #zoomBar .zoom-step-btn,
  body.ajt-open #zoomBar #zoomSlider,
  body.ajt-open #zoomBar .zoom-value,
  .zoom-step-btn,
  #zoomSlider,
  .zoom-value { display: none !important; }
  /* Kosár külön, a darabszám / terméknév alatt */
  body.ajt-open #zoomBar > #zoomBarCartBtn.zoom-cart-btn,
  body.ajt-open #zoomBar > .zoom-cart-btn {
    order: 2;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #2e7d32 !important;
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.35);
    width: 100%;
    flex: 0 0 auto;
    min-width: 0;
    height: 40px;
    min-height: 40px;
    padding: 0 14px;
    gap: 8px;
    border-radius: 999px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    margin: 0 !important;
  }
  body.ajt-open #zoomBar > .zoom-cart-btn i { color: #fff !important; font-size: 15px; }
  body.ajt-open #tabItemsWrapper .tabItem-autofill { display: none !important; }
  body.ajt-open .ajt-quick-template-bar { display: none !important; }
  body.ajt-open .product-category-chips { display: none !important; }
  body.ajt-open .ajt-cat-pill { min-height: 40px; font-size: 11px; }

  /* Színpad – vízszintes padding 0, hogy a smart bar széltől szélig érjen */
  body.ajt-open #ajtCanvasStage { padding: 4px 0 6px; }
  body.ajt-open .ajt-stage-cluster { padding: 2px 4px 6px; }
  body.ajt-open #ajtCanvasStage #ajtSmartTopRow,
  body.ajt-open #ajtCanvasStage > #ajtSmartDock {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
  body.ajt-open #desktopControllerDock { display: none !important; }

  /* Alsó menü */
  body.ajt-open #tabMenu {
    position: relative;
    flex: 0 0 auto;
    z-index: 30;
    display: grid;
    /* Terméknév/darabszám a felső zoomBar-ban van (Automata/Kosár alatt) */
    grid-template-areas: 'controller' 'tabs';
    grid-template-columns: minmax(0, 1fr);
    background: #fff;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.08);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  body.ajt-open #tabHeader,
  body.ajt-open #headerRowTop,
  body.ajt-open #headerRowBottom { display: contents; }

  /* Alsó sávban ne jelenjen meg újra a termékinfo */
  body.ajt-open #tabMenu #selectedProductInfo,
  body.ajt-open #headerRowTop #selectedProductInfo {
    display: none !important;
  }
  body.ajt-open .spi-quantity-control .qty-btn { width: 28px; height: 28px; }
  body.ajt-open .spi-quantity-control .qty-input { height: 28px; width: 32px; }

  body.ajt-open #mobileControllerDock { grid-area: controller; min-width: 0; }
  body.ajt-open #tabItemsWrapper { min-width: 0; }
  /* Objektumgombok mindig láthatók (idle-ben elszürkítve) */
  body.ajt-open #mobileControllerDock,
  body.ajt-open.ajt-controller-active #mobileControllerDock,
  body.ajt-open.ajt-controller-idle #mobileControllerDock {
    display: block !important;
    padding: 4px 6px 0;
  }
  /* Objektum gombok: a kijelző szélességéig arányosan nagyobbak */
  body.ajt-open #mobileControllerDock { display: block !important; padding: 4px 4px 0; }
  body.ajt-open #mobileControllerDock .obj-modal {
    display: block !important;
    border-radius: 0;
    padding: 2px 0;
    box-shadow: none;
    border: 0;
    background: transparent;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  body.ajt-open #mobileControllerDock .obj-modal .close-button { display: none !important; }
  body.ajt-open #mobileControllerDock .obj-modal .obj-buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between;
    align-items: center;
    overflow-x: visible;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: clamp(2px, 1.2vw, 6px);
    background: #fff !important;
    border: 1px solid #e4e6e8 !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 14px rgba(15, 18, 28, 0.08) !important;
    padding: clamp(4px, 1.4vw, 8px) clamp(6px, 2vw, 12px) !important;
  }
  body.ajt-open #mobileControllerDock .obj-modal .obj-buttons button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 52px !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: clamp(8px, 2vw, 12px) !important;
    background: transparent !important;
    box-shadow: none !important;
    flex-direction: row !important;
    gap: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.ajt-open #mobileControllerDock .obj-modal .obj-buttons button:hover {
    background: rgba(0,0,0,.05) !important;
    transform: none;
  }
  body.ajt-open #mobileControllerDock .obj-modal .obj-buttons button small { display: none !important; }
  body.ajt-open #mobileControllerDock .obj-modal .obj-buttons button i {
    font-size: clamp(15px, 4.6vw, 22px) !important;
    color: #555 !important;
    margin: 0 !important;
    line-height: 1 !important;
  }
  body.ajt-open #mobileControllerDock #scaleUp i,
  body.ajt-open #mobileControllerDock #scaleDown i { color: #555 !important; }
  body.ajt-open #mobileControllerDock #rotateLeft i,
  body.ajt-open #mobileControllerDock #rotateRight i { color: #27ae60 !important; }
  body.ajt-open #mobileControllerDock #bringToFront i,
  body.ajt-open #mobileControllerDock #sendToBack i { color: #555 !important; }
  body.ajt-open #mobileControllerDock #cropImage i { color: #3498db !important; }
  body.ajt-open #mobileControllerDock #ajtEditObjectBtn i { color: #555 !important; }
  body.ajt-open #mobileControllerDock #deleteObject {
    background: transparent !important;
    border: none !important;
  }
  body.ajt-open #mobileControllerDock #deleteObject i { color: #e74c3c !important; }
  body.ajt-open #mobileControllerDock #deleteObject:hover { background: rgba(231,76,60,.08) !important; }
  body.ajt-open #mobileControllerDock .obj-modal.is-disabled .obj-buttons,
  body.ajt-open #mobileControllerDock .obj-buttons.is-disabled {
    opacity: 0.42 !important;
    filter: grayscale(0.25);
    pointer-events: none !important;
  }

  body.ajt-open #tabItemsWrapper {
    grid-area: tabs;
    display: flex;
    padding: 4px 6px calc(8px + env(safe-area-inset-bottom, 0px));
    gap: 4px;
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  body.ajt-open #tabItemsWrapper::-webkit-scrollbar { display: none; }
  /* Mobil: arányosan kitöltik a sort (kevesebb → nagyobbak, több → kisebbek) */
  body.ajt-open .tabItem {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 0; /* equal flex columns; shrinks long labels */
    min-height: 52px;
    padding: 6px 3px 5px;
    gap: 3px;
    border-radius: 11px;
    background: #6b6b6b !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
    font-size: 10px;
    font-weight: 600;
    box-sizing: border-box;
    overflow: hidden;
  }
  body.ajt-open #tabItemsWrapper[data-tab-count="5"] .tabItem,
  body.ajt-open #tabItemsWrapper[data-tab-count="4"] .tabItem {
    min-height: 56px;
    padding: 7px 4px 6px;
    font-size: 10px;
  }
  body.ajt-open #tabItemsWrapper[data-tab-count="3"] .tabItem,
  body.ajt-open #tabItemsWrapper[data-tab-count="2"] .tabItem {
    min-height: 60px;
    font-size: 11px;
  }
  /* 6–8 fül (Clipart + Maszk): kompakt, mind elfér scroll nélkül */
  body.ajt-open #tabItemsWrapper[data-tab-count="6"],
  body.ajt-open #tabItemsWrapper[data-tab-count="7"],
  body.ajt-open #tabItemsWrapper[data-tab-count="8"] {
    gap: 3px;
    padding-left: 4px;
    padding-right: 4px;
    overflow-x: hidden;
  }
  body.ajt-open #tabItemsWrapper[data-tab-count="6"] .tabItem,
  body.ajt-open #tabItemsWrapper[data-tab-count="7"] .tabItem,
  body.ajt-open #tabItemsWrapper[data-tab-count="8"] .tabItem {
    min-height: 50px;
    padding: 5px 1px 4px;
    gap: 2px;
    border-radius: 10px;
    font-size: 9px;
    letter-spacing: -0.02em;
  }
  body.ajt-open #tabItemsWrapper[data-tab-count="6"] .tabItem i,
  body.ajt-open #tabItemsWrapper[data-tab-count="7"] .tabItem i,
  body.ajt-open #tabItemsWrapper[data-tab-count="8"] .tabItem i {
    font-size: 13px !important;
  }
  body.ajt-open .tabItem br { display: none; }
  body.ajt-open .tabItem i { font-size: 15px; color: #fff !important; margin: 0; flex: 0 0 auto; }
  body.ajt-open .tabItem .tab-label {
    color: #fff;
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.15;
  }
  body.ajt-open .tabItem.active {
    background: #fff !important;
    color: var(--primary-color) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  }
  body.ajt-open .tabItem.active i,
  body.ajt-open .tabItem.active .tab-label { color: var(--primary-color) !important; }
  body.ajt-open .tabItem.active::before { display: none !important; }
  body.ajt-open .header-separator { display: none; }
  /* Fotósáv a funkciógombok FÖLÖTT; objektumgombok a termékinfo fölött */
  body.ajt-open #tabMenu {
    grid-template-areas: 'controller' 'selected' 'photos' 'tabs';
  }
  body.ajt-open #mobilePhotoStrip { display: none; }
  body.ajt-open #mobilePhotoStrip.mobile-photo-strip:not(.is-empty):not([hidden]) {
    display: flex !important;
    grid-area: photos;
    align-items: center;
    min-height: 52px;
    margin: 2px 8px 0;
    padding: 6px 8px 8px;
    overflow: hidden;
    border-top: 1px solid #eceef0;
    border-bottom: 1px solid #eceef0;
    background: #fafbfc;
    border-radius: 0;
    gap: 6px;
  }
  body.ajt-open #tabItemsWrapper {
    border-top: none;
    padding-top: 6px;
  }

  /* Teljes képernyős funkció-sheet */
  #tabSheetBackdrop {
    position: fixed;
    inset: 0;
    background: rgba(18, 14, 12, 0.62);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 10040;
  }
  #tabSheetBackdrop[hidden] { display: none !important; }

  body.tab-sheet-open > #tabContent {
    position: fixed;
    top: max(0px, env(safe-area-inset-top, 0px));
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    max-height: none;
    z-index: 10050;
    display: flex !important;
    flex-direction: column;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.28);
    animation: ajtTabSheetUp 0.28s ease;
  }
  body.tab-sheet-open > #tabContent .tabContentHeader::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 4px;
    border-radius: 99px;
    background: #d1d5db;
  }
  body.tab-sheet-open > #tabContent .tabContentHeader {
    padding: 22px 18px 14px;
    border-bottom: 1px solid #f0f1f3;
  }
  body.tab-sheet-open > #tabContent .tabContentHeader h4 {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
  }
  body.tab-sheet-open > #tabContent .tabContentBody {
    padding: 16px 16px calc(20px + env(safe-area-inset-bottom, 0px));
  }
  body.tab-sheet-open #tabMenu { z-index: 10030; }
  /* Mobil fényképek: naptár méretű thumbök + mindig látható törlés */
  body.tab-sheet-open > #tabContent #uploadedImagesList.thumbnails-wrapper {
    grid-template-columns: repeat(auto-fill, 104px) !important;
    grid-auto-rows: 104px;
    gap: 10px !important;
    justify-content: center;
  }
  body.tab-sheet-open > #tabContent #uploadedImagesList .thumbnail-wrapper,
  body.tab-sheet-open > #tabContent #uploadedImagesList .image-container {
    width: 104px !important;
    height: 104px !important;
    min-width: 104px !important;
    min-height: 104px !important;
    max-width: 104px !important;
    max-height: 104px !important;
  }
  body.tab-sheet-open > #tabContent #uploadedImagesList .delete-icon {
    opacity: 1;
  }
  body.tab-sheet-open > #tabContent .ajt-upload-dropzone {
    background: #fff4eb;
    border: 2px solid #ff6600;
    box-shadow: 0 4px 14px rgba(255, 102, 0, 0.16);
  }
  body.tab-sheet-open > #tabContent .ajt-upload-dropzone-copy strong {
    color: #e65c00;
  }
  body.tab-sheet-open > #tabContent .ajt-text-live-preview {
    margin-top: 18px;
    padding: 20px 16px 22px;
  }
  body.tab-sheet-open > #tabContent .ajt-text-live-preview-sample {
    font-size: clamp(28px, 8vw, 42px);
  }
}

@keyframes ajtTabSheetUp {
  from { transform: translateY(24px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* ============================================================
   DESKTOP (≥769px) – 3 oszlopos stúdió
   ============================================================ */
@media (min-width: 769px) {
  body.ajt-desktop {
    /* Keskenyebb panel: ≥3 thumbnail férjen el széltében */
    --ajt-left-w: 76px;
    --ajt-panel-w: min(248px, 17vw);
    --ajt-rail-w: 252px;
    --ajt-rail-space: 276px;
    background: #e8eaed;
  }
  body.ajt-desktop #ajtStudioRoot { display: block; }

  /* Közép */
  body.ajt-desktop #ajtStudioContainer {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--ajt-left-w);
    right: var(--ajt-rail-space);
    display: flex;
    flex-direction: column;
    transition: left 0.36s cubic-bezier(0.22, 1, 0.36, 1);
  }
  body.ajt-desktop.desktop-panel-open #ajtStudioContainer { left: calc(var(--ajt-left-w) + var(--ajt-panel-w)); }

  body.ajt-desktop #ajtStickyChrome {
    background: #e8eaed;
    padding: 10px 10px 2px;
    z-index: 1195;
  }
  body.ajt-desktop #desktopTopBar { justify-content: center; }
  body.ajt-desktop .product-switcher { flex: 1 1 auto; }
  body.ajt-desktop .product-nav { display: inline-flex; }
  body.ajt-desktop #productBar.is-overflow { justify-content: flex-start; }
  body.ajt-desktop.desktop-panel-open #productBar .product-sku { padding-right: 10px; font-size: 11px; }
  body.ajt-desktop.desktop-panel-open .product-pill-name { max-width: 200px; }
  body.ajt-desktop .product-pill-name { max-width: 240px; }
  body.ajt-desktop #tabItemsWrapper .tabItem-autofill { display: none !important; }
  body.ajt-desktop .ajt-smart-dock:not(.is-closed):not([hidden]) { display: flex; }
  body.ajt-desktop #ajt-text-edit-btn { display: none !important; }
  /* Zoom a jobb sínben (naptár), sticky-ből elrejtve */
  body.ajt-desktop #ajtStickyChrome #zoomBar { display: none !important; }
  body.ajt-desktop .product-category-chips { padding-left: 4px; }

  body.ajt-desktop #ajtCanvasStage {
    padding: 4px 8px 6px;
    flex: 1 1 auto;
    min-height: 0;
  }
  body.ajt-desktop .ajt-stage-cluster {
    padding: 2px 4px;
    overflow: hidden;
    justify-content: center;
  }
  body.ajt-desktop .ajt-stage-cluster.is-zoomed { overflow: auto; }

  /* Asztal: smart top row → cluster (mug + canvas) → controller */
  body.ajt-desktop #ajtCanvasStage #ajtSmartTopRow { order: 1; }
  body.ajt-desktop #ajtCanvasStage #ajtSmartDock { order: 1; }
  body.ajt-desktop .ajt-stage-cluster { order: 2; }
  body.ajt-desktop #desktopControllerDock { order: 3; }
  body.ajt-desktop .ajt-smart-top-row .ajt-smart-dock:not(.is-closed):not([hidden]) {
    max-width: min(1480px, calc(100% - 4px));
    width: 100%;
    border-radius: 10px;
    padding: 5px 8px;
    margin: 2px 0 4px;
  }
  body.ajt-desktop .ajt-smart-dock[data-mode="szoveg"],
  body.ajt-desktop .ajt-smart-dock[data-mode="kep"] {
    max-width: min(1480px, calc(100% - 4px));
  }
  body.ajt-desktop .ajt-smart-dock-item {
    width: 56px;
    height: 56px;
    border-radius: 8px;
  }
  body.ajt-desktop .ajt-smart-dock-item--cat,
  body.ajt-desktop .ajt-smart-dock-item--back {
    height: 56px !important;
    min-width: 78px;
    max-width: 120px;
    padding: 4px 8px !important;
  }
  body.ajt-desktop .ajt-smart-dock-scroll {
    max-width: none;
  }
  body.ajt-desktop .ajt-smart-text-input {
    flex: 1 1 240px;
    min-width: 180px;
    max-width: 420px;
  }

  body.ajt-desktop #desktopControllerDock {
    display: flex !important;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 4px 0 0;
    min-height: 44px;
  }
  body.ajt-desktop #desktopControllerDock .obj-modal {
    display: block !important;
    border-radius: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  body.ajt-desktop #desktopControllerDock .obj-modal .close-button { display: none !important; }
  body.ajt-desktop #mobileControllerDock { display: none !important; }

  /* Jobb sín – naptár kinézet */
  body.ajt-desktop #desktopRightRail {
    position: absolute;
    top: 16px;
    right: 16px;
    bottom: auto;
    width: var(--ajt-rail-w);
    max-height: calc(100% - 32px);
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 16px 16px 14px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e8eaed;
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(15, 18, 28, 0.08);
    z-index: 1100;
    box-sizing: border-box;
  }
  body.ajt-desktop #desktopRightRail #vissza-link {
    order: -10;
    flex: 0 0 auto;
    padding: 0 0 14px;
    margin: 0 0 14px;
    border-bottom: 1px solid #e5e7eb;
  }
  body.ajt-desktop #desktopRightRail #vissza-link .back-link {
    display: flex;
    width: 100%;
    padding: 9px 12px;
    border-radius: 10px;
    background: var(--primary-color);
    box-shadow: 0 6px 14px rgba(255, 102, 0, 0.22);
    line-height: 1.25;
    box-sizing: border-box;
    font-size: 12px;
  }
  body.ajt-desktop #desktopRightRail #vissza-link .back-link-short { display: none; }
  body.ajt-desktop #desktopRightRail #selectedProductInfo {
    position: relative;
    order: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4px 0 12px;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    gap: 10px;
    text-align: center;
  }
  body.ajt-desktop #desktopRightRail #selectedProductInfo .spi-heading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0 0 2px;
    padding: 8px 10px;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff7ed, #fff);
    border: 1px solid #ffe0c2;
    color: #9a3412;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-sizing: border-box;
  }
  body.ajt-desktop #desktopRightRail #selectedProductInfo .spi-heading i {
    width: 22px;
    height: 22px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #ff8a3d, #f05600);
    color: #fff;
    font-size: 11px;
    box-shadow: 0 4px 10px rgba(255, 102, 0, 0.28);
  }
  body.ajt-desktop #desktopRightRail #selectedProductInfo .spi-name {
    display: block;
    width: 100%;
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    line-height: 1.45;
    text-align: center;
  }
  body.ajt-desktop #desktopRightRail #selectedProductInfo .spi-qty-price-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    width: 100%;
  }
  body.ajt-desktop #desktopRightRail #selectedProductInfo .spi-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--primary-color);
  }
  body.ajt-desktop #desktopRightRail .spi-cart-btn {
    display: flex !important;
    width: 100%;
    justify-content: center;
    margin-top: 2px;
    padding: 12px 14px;
    min-height: 44px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 12px;
    border: none;
    background: #2e7d32 !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(46, 125, 50, 0.28);
  }
  body.ajt-desktop #desktopRightRail .spi-cart-btn:hover {
    background: #1b5e20 !important;
    transform: translateY(-1px);
  }
  /* Előnézet + Mentések a kosár ALATT, nagyobb ikonokkal */
  body.ajt-desktop #desktopRightRail #topActionsWrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    margin: 10px 0 0;
    padding: 0;
    border-top: 0;
    background: transparent;
    box-shadow: none;
    order: 0;
  }
  body.ajt-desktop #desktopRightRail #topActionsWrapper .actionButton {
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    justify-content: center;
    gap: 8px;
    padding: 11px 12px;
    min-height: 46px;
    border-radius: 12px;
    background: #fff;
    color: #374151;
    border: 1px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(15, 18, 28, 0.05);
    font-size: 13px;
    font-weight: 700;
  }
  body.ajt-desktop #desktopRightRail #topActionsWrapper .actionButton i {
    color: inherit;
    width: 1.15em;
    font-size: 18px;
    text-align: center;
  }
  body.ajt-desktop #desktopRightRail #topActionsWrapper .actionButton:hover {
    background: #f9fafb;
    color: #111827;
    border-color: #d1d5db;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(15, 18, 28, 0.08);
  }
  body.ajt-desktop #desktopRightRail #topActionsWrapper .actionButton[data-action="elonezet"] {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
  }
  body.ajt-desktop #desktopRightRail #topActionsWrapper .actionButton[data-action="elonezet"] i { color: #c2410c; }
  body.ajt-desktop #desktopRightRail #topActionsWrapper .actionButton[data-action="mentes"] {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
  }
  body.ajt-desktop #desktopRightRail #topActionsWrapper .actionButton[data-action="mentes"] i { color: #b91c1c; }
  /* Mentés a bal menüből ki – jobb oldalon van */
  body.ajt-desktop #tabItemsWrapper .tabItem[data-action="mentes"] {
    display: none !important;
  }
  /* Kétoldalas / többzónás a kosár panel alatt (inline display:block mutatja) */
  body.ajt-desktop #desktopRightRail #dualSideChoice {
    width: 100%;
    max-width: none;
    margin: 10px 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  body.ajt-desktop #desktopRightRail #dualSideChoice .dual-side-option-container,
  body.ajt-desktop #desktopRightRail #dualSideChoice .side-selector-container,
  body.ajt-desktop #desktopRightRail #dualSideChoice .ajt-zone-selector {
    padding: 10px 0 0;
    margin: 0;
    border-top: 1px solid #eceef0;
  }
  body.ajt-desktop #desktopRightRail #dualSideChoice h5 {
    font-size: 12px;
    margin: 0 0 6px;
    color: #111827;
  }
  body.ajt-desktop #desktopRightRail #dualSideChoice p {
    font-size: 11px;
    margin: 0 0 8px;
    color: #6b7280;
    line-height: 1.4;
  }
  body.ajt-desktop #desktopRightRail #dualSideChoice .dual-side-choice-buttons {
    flex-direction: column;
    gap: 6px;
  }
  body.ajt-desktop #desktopRightRail #dualSideChoice .enable-dual-btn,
  body.ajt-desktop #desktopRightRail #dualSideChoice .disable-dual-btn,
  body.ajt-desktop #desktopRightRail #dualSideChoice .side-btn,
  body.ajt-desktop #desktopRightRail #dualSideChoice .switch-single-btn {
    width: 100%;
    font-size: 11px;
    min-height: 36px;
    padding: 8px 10px;
  }
  /* Automata: az aktív obj-buttons után a controller dockban */
  body.ajt-desktop #desktopRightRail #topActionsWrapper [data-action="autofill"] {
    display: none !important;
  }
  body.ajt-desktop #tabItemsWrapper .tabItem-autofill {
    display: none !important;
  }
  body.ajt-desktop #desktopControllerDock {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
  }
  body.ajt-desktop #desktopControllerDock .obj-modal { order: 1; }
  body.ajt-desktop #desktopControllerDock .ajt-dock-autofill,
  body.ajt-desktop #desktopControllerDock .actionButton[data-action="autofill"] {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 8px 14px;
    border-radius: 12px;
    border: 1px solid #e9d5ff;
    background: #faf5ff;
    color: #7e22ce;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(126, 34, 206, 0.12);
    cursor: pointer;
  }
  body.ajt-desktop #desktopControllerDock .ajt-dock-autofill i,
  body.ajt-desktop #desktopControllerDock .actionButton[data-action="autofill"] i {
    font-size: 16px;
    color: #7e22ce;
  }
  body.ajt-desktop #desktopControllerDock .ajt-dock-autofill:hover,
  body.ajt-desktop #desktopControllerDock .actionButton[data-action="autofill"]:hover {
    background: #f3e8ff;
    transform: translateY(-1px);
  }
  /* Automata: feltöltött képnél látszik (idle kijelölés mellett is) */
  body.ajt-desktop #desktopControllerDock .ajt-dock-autofill.is-disabled,
  body.ajt-desktop #desktopControllerDock .actionButton[data-action="autofill"].is-disabled {
    opacity: 0.45;
    pointer-events: none;
  }
  body.ajt-desktop:not(.ajt-has-uploaded-photos) #desktopControllerDock .ajt-dock-autofill,
  body.ajt-desktop:not(.ajt-has-uploaded-photos) #desktopControllerDock .actionButton[data-action="autofill"] {
    display: none !important;
  }
  /* Zoom UI eltávolítva – zoomBar asztalin rejtve (kosár a termékinfo gombon van) */
  body.ajt-desktop #desktopRightRail #zoomBar,
  body.ajt-desktop #desktopRightRail #zoomBar.zoom-bar {
    display: none !important;
  }
  body.ajt-desktop #desktopRightRail .zoom-step-btn,
  body.ajt-desktop #desktopRightRail #zoomSlider,
  body.ajt-desktop #desktopRightRail .zoom-value {
    display: none !important;
  }

  /* Bal sín – felülről indul */
  body.ajt-desktop #tabMenu {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: var(--ajt-left-w);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #f4f5f7;
    border-right: 1px solid #e4e6e8;
    z-index: 1200;
    overflow: visible;
  }
  body.ajt-desktop #tabHeader,
  body.ajt-desktop #headerRowTop,
  body.ajt-desktop #headerRowBottom { display: contents; }
  body.ajt-desktop #tabMenu #selectedProductInfo { display: none; }
  body.ajt-desktop #desktopRightRail #selectedProductInfo { display: flex; }
  body.ajt-desktop #tabItemsWrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    padding: 14px 8px 20px;
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    box-sizing: border-box;
  }
  body.ajt-desktop .tabItem {
    flex: 0 0 auto;
    width: 100%;
    min-height: 56px;
    padding: 8px 2px 7px;
    gap: 5px;
    font-size: 10px;
    border-radius: 12px;
    background: transparent;
    color: #6b7280;
    border: 1px solid transparent;
    box-shadow: none;
  }
  body.ajt-desktop .tabItem i { font-size: 18px; transition: transform 0.22s ease; }
  body.ajt-desktop .tabItem:hover { background: #fff; color: #111827; border-color: #eceef0; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15, 18, 28, 0.06); }
  body.ajt-desktop .tabItem:hover i { transform: scale(1.06); }
  body.ajt-desktop .tabItem.active { background: #fff; color: #111827; border-color: #eceef0; box-shadow: 0 6px 16px rgba(15, 18, 28, 0.07); }
  body.ajt-desktop .tabItem.active::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 12px;
    bottom: 12px;
    width: 3px;
    border-radius: 3px;
    background: var(--primary-color);
  }
  body.ajt-desktop .header-separator { display: none !important; }
  body.ajt-desktop #mobilePhotoStrip { display: none !important; }
  /* Asztalin a lenti képsáv alapból soha nem jelenik meg */
  body.ajt-desktop #ajtDesktopPhotoStrip {
    display: none !important;
  }
  body.ajt-desktop #ajtCanvasStage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    overflow: hidden;
  }
  body.ajt-desktop .ajt-stage-cluster {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  body.ajt-desktop .ajt-stage-cluster.is-zoomed { overflow: auto; }

  /* Csúszó oldalpanel */
  body.ajt-desktop #tabContent {
    position: absolute;
    left: var(--ajt-left-w);
    top: 0;
    bottom: 0;
    width: var(--ajt-panel-w);
    z-index: 1190;
    border-right: 1px solid #e4e6e8;
    box-shadow: 8px 0 32px rgba(15, 18, 28, 0.06);
    transform: translateX(-18px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
  }
  body.ajt-desktop.desktop-panel-open #tabContent {
    display: flex !important;
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
  body.ajt-desktop #tabContent .tabContentHeader { padding: 18px 18px 14px; }
  body.ajt-desktop #tabContent .tabContentBody { padding: 16px 18px 28px; }

  /* Asztali fényképek – naptár: 2 oszlop, nagy négyzet thumbök */
  body.ajt-desktop #tabContent #uploadedImagesList.thumbnails-wrapper,
  body.ajt-desktop #tabContent .thumbnails-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    gap: 10px !important;
    grid-template-columns: none !important;
    grid-auto-rows: auto;
  }
  body.ajt-desktop #tabContent #uploadedImagesList .thumbnail-wrapper,
  body.ajt-desktop #tabContent #uploadedImagesList .image-container {
    width: calc(50% - 6px) !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 calc(50% - 6px) !important;
    aspect-ratio: 1 / 1 !important;
  }
  body.ajt-desktop #tabContent #uploadedImagesList img,
  body.ajt-desktop #tabContent #uploadedImagesList .thumbnail-img {
    object-fit: cover !important;
  }
  body.ajt-desktop #tabContent .ajt-upload-dropzone #uploadTrigger {
    width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
  #tabSheetBackdrop { display: none !important; }
}

/* Alacsony képernyő: kompaktabb sáv */
@media (min-width: 769px) and (max-height: 700px) {
  body.ajt-desktop #productBar .product-sku { min-height: 38px; }
  body.ajt-desktop .product-pill-thumb { flex-basis: 52px; width: 52px; height: 52px; }
  body.ajt-desktop #tabItemsWrapper { gap: 3px; padding-top: 6px; }
  body.ajt-desktop .tabItem { min-height: 48px; }
}

/* Desktop: a jobb sínbe költözés előtt ne villanjon a bal sínben */
@media (min-width: 769px) {
  body.ajt-desktop #tabMenu #topActionsWrapper { display: none; }
}

/* Széles kijelző (≥1600px): bal/jobb sín +15% — MacBook M1 (1440) változatlan */
@media (min-width: 1600px) {
  body.ajt-desktop {
    --ajt-left-w: 87px;
    --ajt-panel-w: min(285px, 17vw);
    --ajt-rail-w: 290px;
    --ajt-rail-space: 317px;
  }
}
