/* =========================================
   AIVO — PhotoFX Module
   File: /css/mod.photofx.css
   COVER-MATCH VERSION
   ========================================= */


section[data-module="photofx"] .pfxPage{
  --pfx-bg: rgba(18, 20, 34, .55);
  --pfx-card: rgba(22, 24, 44, .60);
  --pfx-card2: rgba(18, 19, 38, .60);
  --pfx-stroke: rgba(160, 110, 255, .22);
  --pfx-stroke2: rgba(90, 120, 255, .18);
  --pfx-text: rgba(255,255,255,.92);
  --pfx-sub: rgba(255,255,255,.62);
  --pfx-soft: rgba(255,255,255,.08);
  --pfx-soft2: rgba(255,255,255,.12);
  --pfx-shadow: 0 18px 60px rgba(0,0,0,.45);
  --pfx-radius: 22px;

  display: flex;
  flex-direction: column;
  gap: 14px;
padding: 56px 14px 22px;
  color: var(--pfx-text);
}

/* main shell */
section[data-module="photofx"] .pfxHero,
section[data-module="photofx"] .pfxBlock,
section[data-module="photofx"] .pfxEngine{
  position: relative;
  border-radius: var(--pfx-radius);
  background: linear-gradient(180deg, var(--pfx-card), var(--pfx-card2));
  border: 1px solid var(--pfx-stroke2);
  box-shadow: var(--pfx-shadow);
  overflow: hidden;
}

section[data-module="photofx"] .pfxHero::before,
section[data-module="photofx"] .pfxBlock::before,
section[data-module="photofx"] .pfxEngine::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(170, 120, 255, .22), transparent 55%),
    radial-gradient(900px 600px at 85% 20%, rgba(80, 140, 255, .18), transparent 55%);
}

section[data-module="photofx"] .pfxHero > *,
section[data-module="photofx"] .pfxBlock > *,
section[data-module="photofx"] .pfxEngine > *{
  position: relative;
  z-index: 1;
}

/* hero */
section[data-module="photofx"] .pfxHero{
  margin: 0 10px 2px;
  border-radius: 24px;
  border: 1px solid rgba(151, 108, 255, .28);
  background:
    linear-gradient(180deg, rgba(137, 104, 224, .22), rgba(91, 109, 196, .18)),
    linear-gradient(90deg, rgba(140,110,255,.16), rgba(255,120,190,.10));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 10px 30px rgba(0,0,0,.20);
  overflow: hidden;
}

section[data-module="photofx"] .pfxHero::before{
  display: none;
}

section[data-module="photofx"] .pfxHeroText{
  padding: 26px 20px 24px;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 10px;
}

section[data-module="photofx"] .pfxTitle{
  margin: 0;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -.02em;
  color: rgba(255,255,255,.96);
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: initial;
  filter: none;
}
section[data-module="photofx"] .pfxSub{
  margin: 0;
  max-width: 760px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255,255,255,.68);
  text-align: center;
}

/* block headers */
section[data-module="photofx"] .pfxBlock{
  padding: 0;
}

section[data-module="photofx"] .pfxBlockHead{
  padding: 16px 18px 12px;
  margin: 0;
}

section[data-module="photofx"] .pfxBlockTitle{
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--pfx-text);
  letter-spacing: .2px;
}

section[data-module="photofx"] .pfxBlockSub{
  margin-top: 3px;
  color: var(--pfx-sub);
  font-size: 12.5px;
  line-height: 1.35;
}

/* prompt */
section[data-module="photofx"] .pfxPromptField{
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  padding: 0 18px 0;
}

section[data-module="photofx"] .pfxLabel{
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  margin: 2px 0 0;
  font-weight: 600;
}

section[data-module="photofx"] .pfxPromptInput{
  width: 100%;
  min-height: 160px;
  max-height: 190px;
  resize: none;
  border-radius: 14px;
  padding: 14px 16px;
  color: rgba(255,255,255,.92);
  background: rgba(10, 11, 22, .55);
  border: 1px solid rgba(255,255,255,.14);
  outline: none;
  box-shadow: none;

  font-family: Inter, "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

section[data-module="photofx"] .pfxPromptInput::placeholder{
  color: rgba(255,255,255,.38);
  font-family: Inter, "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: -0.01em;
}

section[data-module="photofx"] .pfxPromptInput:focus{
  border-color: rgba(170,120,255,.50);
  box-shadow: 0 0 0 3px rgba(170,120,255,.16);
}

section[data-module="photofx"] .pfxPromptCount{
  margin-top: 8px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  color: rgba(255,255,255,.72);
}

section[data-module="photofx"] #pfxPromptCount{
  color: rgba(255,255,255,.92);
}

/* inner spacing */
section[data-module="photofx"] .pfxQualityGrid,
section[data-module="photofx"] .pfxPresetGrid,
section[data-module="photofx"] .pfxUploadToolsGrid,
section[data-module="photofx"] .pfxFormGrid{
  padding-left: 18px;
  padding-right: 18px;
}

section[data-module="photofx"] .pfxQualityGrid,
section[data-module="photofx"] .pfxPresetGrid,
section[data-module="photofx"] .pfxUploadToolsGrid{
  padding-bottom: 18px;
}

section[data-module="photofx"] .pfxFormGrid{
  padding-bottom: 18px;
}

/* quality cards */
section[data-module="photofx"] .pfxQualityGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

section[data-module="photofx"] .pfxChoiceCard{
  appearance: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.90);
  cursor: pointer;
  transition: transform .12s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}

section[data-module="photofx"] .pfxChoiceCard:hover{
  transform: translateY(-2px);
  border-color: rgba(160,110,255,.55);
  background: rgba(160,110,255,.14);
  box-shadow:
    0 16px 40px rgba(0,0,0,.45),
    0 0 0 3px rgba(160,110,255,.10);
}

section[data-module="photofx"] .pfxChoiceCard.is-active{
  background:
    radial-gradient(900px 260px at 15% 10%, rgba(140,111,255,.30), transparent 60%),
    radial-gradient(700px 260px at 85% 20%, rgba(255,120,190,.18), transparent 65%),
    rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.30);
  box-shadow:
    0 0 0 2px rgba(255,255,255,.10),
    0 24px 60px rgba(0,0,0,.45);
}

section[data-module="photofx"] .pfxChoiceTop{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

section[data-module="photofx"] .pfxChoiceTitle{
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  color: rgba(255,255,255,.92);
}

section[data-module="photofx"] .pfxChoiceDesc{
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255,255,255,.62);
}

section[data-module="photofx"] .pfxChoiceCredit{
  flex: 0 0 auto;
  min-width: 82px;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.98);
  font-size: 12px;
  font-weight: 800;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 6px 18px rgba(0,0,0,.22);
  white-space: nowrap;
}

/* preset cards */
section[data-module="photofx"] .pfxPresetGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

section[data-module="photofx"] .pfxPresetCard{
  appearance: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.90);
  cursor: pointer;
  transition: transform .12s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}

section[data-module="photofx"] .pfxPresetCard:hover{
  transform: translateY(-2px);
  border-color: rgba(160,110,255,.55);
  background: rgba(160,110,255,.14);
  box-shadow:
    0 16px 40px rgba(0,0,0,.45),
    0 0 0 3px rgba(160,110,255,.10);
}

section[data-module="photofx"] .pfxPresetCard.is-active{
  background:
    radial-gradient(900px 260px at 15% 10%, rgba(140,111,255,.30), transparent 60%),
    radial-gradient(700px 260px at 85% 20%, rgba(255,120,190,.18), transparent 65%),
    rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.30);
  box-shadow:
    0 0 0 2px rgba(255,255,255,.10),
    0 24px 60px rgba(0,0,0,.45);
}

section[data-module="photofx"] .pfxPresetTitle{
  display: block;
  color: rgba(255,255,255,.92);
  font-weight: 800;
  font-size: 13.5px;
  margin-top: 1px;
}

section[data-module="photofx"] .pfxPresetDesc{
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 2px;
}

/* clip block header center */
section[data-module="photofx"] .pfxClipBlock .pfxBlockHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

section[data-module="photofx"] .pfxClipBlock .pfxBlockTitle,
section[data-module="photofx"] .pfxClipBlock .pfxBlockSub{
  width: 100%;
  text-align: center;
}

/* upload tools */
section[data-module="photofx"] .pfxUploadToolsGrid{
  display: grid;
  grid-template-columns: 1fr 1fr .9fr;
  gap: 12px;
  align-items: end;
}

section[data-module="photofx"] .pfxUploadTool{
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
}

section[data-module="photofx"] .pfxUploadMiniBtn{
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .10s ease, filter .15s ease, border-color .15s ease, background .15s ease;
}

section[data-module="photofx"] .pfxUploadMiniBtn--ghost{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(10, 11, 22, .55);
  color: rgba(255,255,255,.88);
  box-shadow: none;
}

section[data-module="photofx"] .pfxUploadMiniBtn--ghost:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.08);
  border-color: rgba(170,120,255,.30);
}

section[data-module="photofx"] .pfxUploadMiniBtn--ghost:active{
  transform: translateY(1px);
}

/* form grid */
section[data-module="photofx"] .pfxFormGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

section[data-module="photofx"] .pfxField{
  display: flex;
  flex-direction: column;
  gap: 7px;
}

section[data-module="photofx"] .pfxSelect{
  width: 100%;
  height: 48px;
  border-radius: 14px;
  padding: 0 14px;
  color: rgba(255,255,255,.90);
  background: rgba(10, 11, 22, .55);
  border: 1px solid rgba(255,255,255,.14);
  outline: none;
  font-size: 14px;
  font-weight: 600;
  box-shadow: none;
}

section[data-module="photofx"] .pfxSelect:focus{
  border-color: rgba(170,120,255,.50);
  box-shadow: 0 0 0 3px rgba(170,120,255,.16);
}

/* engine */
section[data-module="photofx"] .pfxEngine{
  border-radius: 16px;
  padding: 12px 12px;
  border: 1px dashed rgba(255,255,255,.20);
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(170, 120, 255, .10), transparent 55%),
    radial-gradient(900px 600px at 85% 20%, rgba(80, 140, 255, .08), transparent 55%),
    rgba(255,255,255,.04);
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

section[data-module="photofx"] .pfxEngine::before{
  display: none;
}

section[data-module="photofx"] .pfxEngineTitle{
  color: rgba(255,255,255,.85);
  font-weight: 700;
  font-size: 12.5px;
}

section[data-module="photofx"] .pfxEngineSub{
  margin: 8px 0 0;
  color: rgba(255,255,255,.60);
  font-size: 12px;
  line-height: 1.35;
}

section[data-module="photofx"] .pfxEngineMeta{
  flex: 0 0 auto;
  text-align: right;
}

section[data-module="photofx"] .pfxEngineCreditLabel{
  color: rgba(255,255,255,.70);
  font-weight: 600;
  font-size: 12px;
}

section[data-module="photofx"] .pfxEngineCreditValue{
  margin-top: 4px;
  font-size: 18px;
  line-height: 1;
  font-weight: 800;
  color: rgba(255,255,255,.92);
}

/* sticky CTA */
section[data-module="photofx"] .pfxActions{
  position: sticky;
  bottom: 0;
  z-index: 8;
  margin-top: 10px;
  padding: 16px 18px calc(16px + env(safe-area-inset-bottom));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    linear-gradient(180deg, rgba(12,10,34,.94), rgba(8,8,24,.96));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    0 -10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.04);
}

section[data-module="photofx"] .pfxCreateBtn{
  width: 100%;
  min-height: 64px;
  border: 0;
  border-radius: 18px;
  padding: 14px 14px;
  font-weight: 800;
  font-size: 18px;
  color: rgba(255,255,255,.95);
  cursor: pointer;
  background: linear-gradient(90deg, rgba(140,110,255,.95), rgba(255,120,190,.92));
  box-shadow: 0 14px 40px rgba(140,110,255,.20);
  transition: transform .10s ease, filter .15s ease;
}

section[data-module="photofx"] .pfxCreateBtn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

section[data-module="photofx"] .pfxCreateBtn:active{
  transform: translateY(1px) scale(.995);
}

/* responsive */
@media (max-width: 980px){
  section[data-module="photofx"] .pfxQualityGrid,
  section[data-module="photofx"] .pfxPresetGrid,
  section[data-module="photofx"] .pfxFormGrid,
  section[data-module="photofx"] .pfxUploadToolsGrid{
    grid-template-columns: 1fr;
  }

  section[data-module="photofx"] .pfxEngine{
    flex-direction: column;
    align-items: flex-start;
  }

  section[data-module="photofx"] .pfxEngineMeta{
    text-align: left;
  }
}

@media (max-width: 640px){
  section[data-module="photofx"] .pfxPage{
    padding: 12px 12px 18px;
    gap: 12px;
  }

  section[data-module="photofx"] .pfxHeroText{
    padding: 16px 14px 14px;
  }

  section[data-module="photofx"] .pfxTitle{
    font-size: 17px;
  }

  section[data-module="photofx"] .pfxSub{
    font-size: 12px;
  }

  section[data-module="photofx"] .pfxPromptField,
  section[data-module="photofx"] .pfxBlockHead,
  section[data-module="photofx"] .pfxQualityGrid,
  section[data-module="photofx"] .pfxPresetGrid,
  section[data-module="photofx"] .pfxUploadToolsGrid,
  section[data-module="photofx"] .pfxFormGrid{
    padding-left: 14px;
    padding-right: 14px;
  }

  section[data-module="photofx"] .pfxPromptInput{
    min-height: 140px;
    max-height: 180px;
  }

  section[data-module="photofx"] .pfxSelect,
  section[data-module="photofx"] .pfxUploadMiniBtn{
    height: 44px;
  }

  section[data-module="photofx"] .pfxActions{
    padding: 14px 14px calc(14px + env(safe-area-inset-bottom));
  }

  section[data-module="photofx"] .pfxCreateBtn{
    min-height: 58px;
    font-size: 16px;
    border-radius: 16px;
  }
}
/* PhotoFX — kalite ve efekt başlıklarını ortala */
section[data-module="photofx"] .pfxQualityBlock .pfxBlockHead,
section[data-module="photofx"] .pfxPresetBlock .pfxBlockHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

section[data-module="photofx"] .pfxQualityBlock .pfxBlockTitle,
section[data-module="photofx"] .pfxQualityBlock .pfxBlockSub,
section[data-module="photofx"] .pfxPresetBlock .pfxBlockTitle,
section[data-module="photofx"] .pfxPresetBlock .pfxBlockSub{
  width: 100%;
  text-align: center;
}
/* PhotoFX — upload row compact (resim/audio/müzik) */
section[data-module="photofx"] .pfxUploadToolsGrid{
  display:grid;
  grid-template-columns: 1fr 1fr .9fr;
  gap:14px;
  align-items:end;
}

section[data-module="photofx"] .pfxUploadTool{
  height:40px;
  display:grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap:10px;
  align-items:center;
}

section[data-module="photofx"] .pfxUploadMiniBtn{
  width:118px;
  min-width:118px;
  height:40px;
  padding:0 12px;
  border-radius:12px;
  font-size:11px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.88);
  box-shadow:none;
}

section[data-module="photofx"] .pfxUploadMiniBtn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.08);
  border-color:rgba(160,110,220,.22);
}

section[data-module="photofx"] .pfxUploadMiniBtn:active{
  transform:translateY(1px);
}

section[data-module="photofx"] .pfxUploadToolName{
  height:40px;
  min-width:0;
  display:flex;
  align-items:center;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(10,11,22,.74), rgba(8,9,18,.88));
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

section[data-module="photofx"] .pfxSelect{
  height:40px;
  border-radius:12px;
  font-size:11px;
  padding:0 12px;
}

@media (max-width: 900px){
  section[data-module="photofx"] .pfxUploadToolsGrid{
    grid-template-columns:1fr;
    gap:10px;
  }
}
/* PhotoFX — section ayrımı güçlendir */
section[data-module="photofx"] .pfxQualityBlock,
section[data-module="photofx"] .pfxPresetBlock,
section[data-module="photofx"] .pfxClipBlock{
  border: 1px solid rgba(123, 98, 210, .34) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 0 0 1px rgba(92, 74, 170, .18),
    0 18px 42px rgba(0,0,0,.18),
    0 0 26px rgba(120, 92, 220, .08) !important;
}

section[data-module="photofx"] .pfxQualityBlock::before,
section[data-module="photofx"] .pfxPresetBlock::before,
section[data-module="photofx"] .pfxClipBlock::before{
  opacity: .82 !important;
}
/* PHOTOFX HERO — cover başlığıyla aynı kutu hissi */

section.pfxPage[data-module="photofx"]{
  max-width: 920px;
  margin: 0 auto;
}
section.pfxPage[data-module="photofx"] .pfxHero{
  margin: 18px auto 12px;
  width: min(100%, 900px);
  padding: 8px;
  border-radius: 20px;
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(170, 120, 255, .16), transparent 55%),
    radial-gradient(900px 600px at 85% 20%, rgba(80, 140, 255, .12), transparent 55%),
    linear-gradient(180deg, rgba(22, 24, 44, .58), rgba(18, 19, 38, .58));
  border: 1px solid rgba(160, 110, 255, .16);
  box-shadow: 0 18px 60px rgba(0,0,0,.38);
}

section.pfxPage[data-module="photofx"] .pfxHeroText{
  min-height: 52px;
  width: min(100%, 820px);
  margin: 0 auto;
  border-radius: 18px;
  padding: 10px 20px 9px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;

  background:
    radial-gradient(900px 320px at 18% 8%, rgba(170, 120, 255, .18), transparent 60%),
    radial-gradient(700px 260px at 82% 18%, rgba(80, 140, 255, .14), transparent 60%),
    linear-gradient(180deg, rgba(104, 84, 170, .38), rgba(45, 52, 102, .34));

  border: 1px solid rgba(128, 102, 220, .42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 10px 30px rgba(0,0,0,.18);
}

section.pfxPage[data-module="photofx"] .pfxTitle{
  margin: 0;
  font-size: 28px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.02em;
  color: rgba(255,255,255,.96);
  text-align: center;
}

section.pfxPage[data-module="photofx"] .pfxSub{
  margin: 14px 0 0;
  max-width: 760px;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
  color: rgba(255,255,255,.62);
  text-align: center;
}

@media (max-width: 768px){
  section.pfxPage[data-module="photofx"] .pfxHero{
    padding: 14px;
    border-radius: 24px;
  }

  section.pfxPage[data-module="photofx"] .pfxHeroText{
    min-height: 136px;
    border-radius: 20px;
    padding: 26px 18px 22px;
  }

  section.pfxPage[data-module="photofx"] .pfxTitle{
    font-size: 22px;
  }

  section.pfxPage[data-module="photofx"] .pfxSub{
    font-size: 12px;
  }
}
/* === PHOTOFX upload alanlarini cartoon compact duzenine cek === */
section[data-module="photofx"] .pfxUploadGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:start;
}

section[data-module="photofx"] .pfxUploadTool{
  min-width:0;
}

section[data-module="photofx"] .pfxUploadLabel{
  display:block;
  margin:0 0 6px;
  font-size:11px;
  line-height:1.1;
  font-weight:800;
  color:rgba(255,255,255,.82);
}

section[data-module="photofx"] .pfxUploadRow{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  min-width:0;
  flex-wrap:nowrap;
}

section[data-module="photofx"] .pfxUploadBtn{
  flex:0 0 auto;
  min-width:92px;
  height:36px;
  padding:0 12px;
  border-radius:10px;
  font-size:12px;
  font-weight:800;
}

section[data-module="photofx"] .pfxUploadMeta,
section[data-module="photofx"] .pfxUploadToolName{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  font-weight:600;
  color:rgba(255,255,255,.68);
}

section[data-module="photofx"] .pfxUploadChip{
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  height:36px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 6px 0 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  overflow:hidden;
}

section[data-module="photofx"] .pfxUploadChipName{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  line-height:1;
  font-weight:600;
  color:rgba(255,255,255,.72);
}

section[data-module="photofx"] .pfxUploadChipClear{
  flex:0 0 26px;
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
}

section[data-module="photofx"] .pfxUploadChipClear:hover{
  background:rgba(255,255,255,.14);
}

@media (max-width: 900px){
  section[data-module="photofx"] .pfxUploadGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  section[data-module="photofx"] .pfxUploadGrid{
    grid-template-columns:1fr;
  }
}
section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four{
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}

@media (max-width: 900px){
  section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four{
    grid-template-columns: 1fr;
  }
}
section[data-module="photofx"] .pfxUploadMiniBtn,
section[data-module="photofx"] .pfxUploadMiniBtn--ghost{
  border: 1px solid rgba(214, 132, 255, .34);
  background: linear-gradient(90deg, rgba(140,110,255,.30), rgba(255,120,190,.22));
  color: rgba(255,255,255,.96);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 8px 22px rgba(140,110,255,.14);
}

section[data-module="photofx"] .pfxUploadMiniBtn:hover,
section[data-module="photofx"] .pfxUploadMiniBtn--ghost:hover{
  background: linear-gradient(90deg, rgba(140,110,255,.38), rgba(255,120,190,.28));
  border-color: rgba(228, 145, 255, .48);
  transform: translateY(-1px);
}

section[data-module="photofx"] .pfxUploadMiniBtn:active,
section[data-module="photofx"] .pfxUploadMiniBtn--ghost:active{
  transform: translateY(1px);
}
section[data-module="photofx"] .pfxEngine{
  min-height: 96px;
  padding: 14px 18px;
  gap: 6px;
}

section[data-module="photofx"] .pfxEngineText{
  width: 100%;
  text-align: center;
}

section[data-module="photofx"] .pfxEngineTitle{
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
  text-align: center;
}

section[data-module="photofx"] .pfxEngineSub{
  margin: 8px 0 0;
  padding: 0;
  font-size: 15px;
  line-height: 1.45;
  text-align: center;
  color: rgba(255,255,255,.78);
}
.pfxPromptHintRow{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  margin:0 0 18px;
}

.pfxPromptHintTitle{
  width:100%;
  text-align:center;
}

.pfxPromptHintNote{
  width:100%;
  text-align:center;
}
/* ===== PhotoFX / credit badge system ===== */
section[data-module="photofx"] .pfxCreditInline{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

section[data-module="photofx"] .pfxCreditBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:auto;
  height:32px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  font-size:12px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

section[data-module="photofx"] .pfxCreditBadge--accent{
  background:linear-gradient(135deg, rgba(123,92,255,.18), rgba(255,111,177,.16));
  border-color:rgba(255,255,255,.12);
}
/* ===== PhotoFX / top 4 tools true center fix ===== */
section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}

section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxLabel{
  width:100%;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxCreditInline{
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 10px !important;
}

section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxUploadTool{
  width:100%;
  min-height:56px;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
}

section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxUploadMiniBtn{
  width:240px;
  max-width:100%;
  margin:0 auto;
}

section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxUploadToolName,
section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxUploadMeta{
  width:100%;
  text-align:center;
  justify-content:center;
}

section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxSelectWrap{
  width:100%;
  display:flex;
  justify-content:center;
}

section[data-module="photofx"] .pfxUploadToolsGrid.pfxUploadToolsGrid--four > .pfxField .pfxSelectWrap .pfxSelect{
  width:100%;
}
