/* SurveySport — Affirmation Card Forge v2.1.6 Clean UI */

.ssac-builder,
.ssac-builder * { box-sizing:border-box; }

.ssac-builder {
  background:#b8c4d0;
  border:1px solid #dcdcde;
  padding:16px;
  margin-top:12px;
  color:#111827;
}

.ssac-builder label,
.ssac-builder .ssac-field label,
.ssac-builder .ssac-help,
.ssac-builder .description,
.ssac-builder .ssac-preview-head,
.ssac-builder .ssac-step-head strong,
.ssac-builder .ssac-role-box h3 {
  color:#111827 !important;
}

.ssac-field label { display:block; font-weight:700; margin-bottom:6px; }
.ssac-field input,
.ssac-field textarea,
.ssac-field select {
  width:100%;
  color:#111827 !important;
  background:#fff !important;
  border:1px solid #cbd5e1 !important;
  border-radius:10px !important;
  min-height:38px;
}
.ssac-field textarea { padding:10px; }

.ssac-toolbar,
.ssac-meta-grid,
.ssac-render-panel {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-bottom:16px;
}

/* Locked plugin layout — Elementor cannot push Step 3 right */
.ssac-app { width:100% !important; }
.ssac-top {
  display:grid !important;
  grid-template-columns:minmax(280px,.92fr) minmax(520px,1.58fr) !important;
  gap:22px !important;
  align-items:start !important;
}
.ssac-step-three,
.ssac-step-render { width:100% !important; margin-top:20px !important; }

.ssac-step-card {
  background:#f8fafc;
  border:1px solid #d7dee7;
  border-radius:18px;
  padding:14px;
  color:#111827;
  box-shadow:0 8px 20px rgba(17,24,39,.08);
}
.ssac-step-two { border:2px solid #5b2cff; background:linear-gradient(180deg,#fff,#f4f1ff); }
.ssac-step-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.ssac-step-head span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:64px; padding:5px 9px; border-radius:999px;
  background:#5b2cff; color:gold; font-weight:900; font-size:12px; text-transform:uppercase;
}
.ssac-step-head strong { font-size:16px; }
.ssac-help { margin:0 0 12px; color:#333; font-size:13px; line-height:1.35; }
.ssac-align-end { align-self:end; }
.ssac-step-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.ssac-step-two-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; align-items:end; }

.ssac-builder button { border-radius:12px; }
.ssac-builder button + button { margin-top:0; }
.ssac-preset-buttons { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.ssac-preset-btn { border-radius:999px !important; }

.ssac-prompt-guard {
  margin-top:8px; padding:9px 10px; border:1px solid rgba(91,44,255,.25);
  border-radius:12px; background:#f4f1ff; color:#201833; font-size:12px; line-height:1.35;
}
.ssac-prompt-guard code { display:block; margin-top:4px; white-space:normal; color:#111; background:#fff; border:1px solid #e5ddff; border-radius:8px; padding:6px; }

.ssac-brand-controls { display:grid; grid-template-columns:repeat(2,minmax(160px,1fr)); gap:12px; padding:12px; margin:10px 0 12px; border:1px solid rgba(214,183,97,.32); border-radius:14px; background:rgba(255,255,255,.14); }
.ssac-text-style-field input[type="color"] { min-height:42px; padding:4px !important; }

/* Preview */
.ssac-text-preview-wrap { margin-top:10px; border:1px dashed #b8a8ff; border-radius:14px; padding:14px; background:#fff; }
.ssac-preview-head { font-weight:900; margin-bottom:8px; color:#2a2140 !important; }
#ssac-text-preview,
.ssac-text-preview {
  display:flex !important;
  flex-direction:row !important;
  gap:20px !important;
  overflow-x:auto !important;
  padding:10px 0 !important;
  min-height:340px;
  color:#333;
}
#ssac-text-preview::-webkit-scrollbar { height:6px; }
#ssac-text-preview::-webkit-scrollbar-thumb { background:rgba(0,0,0,.22); border-radius:10px; }
.ssac-preview-card {
  flex:0 0 auto !important;
  width:330px !important;
  max-width:90vw !important;
  aspect-ratio:2/3 !important;
  margin:0 auto 18px auto !important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid #d6b761;
  border-radius:12px;
  background:#f6f1e8;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12%;
  box-shadow:0 10px 24px rgba(17,24,39,.12);
}
.ssac-preview-bg { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.ssac-preview-card::before { content:""; position:absolute; inset:18px; border:1px solid rgba(214,183,97,.72); pointer-events:none; z-index:1; }
.ssac-preview-card span { display:none !important; }
.ssac-preview-card strong {
  position:relative; z-index:2; display:block; width:64%; max-width:64%; margin:0 auto;
  font-size:clamp(22px,2.6vw,42px); line-height:1.05; font-weight:700; letter-spacing:.01em; text-align:center; text-wrap:balance;
}
.ssac-preview-card.ssac-preview-small strong { font-size:clamp(20px,2.3vw,36px); line-height:1.08; }
.ssac-font-serif { font-family:Georgia,'Times New Roman',serif !important; }
.ssac-font-modern { font-family:Arial,Helvetica,sans-serif !important; }
.ssac-font-bold { font-family:Impact,Arial Black,sans-serif !important; font-weight:900 !important; }
.ssac-font-script { font-family:'Brush Script MT','Segoe Script',cursive !important; font-weight:600 !important; }

/* Roles */
.ssac-roles { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-bottom:16px; }
.ssac-role-box { border:1px solid #dcdcde; background:#f6f7f7; padding:12px; min-height:90px; color:#111; }
.ssac-role-box h3 { margin:0 0 8px; font-size:14px; }
.ssac-role-multi { display:flex; flex-wrap:wrap; gap:6px; }
.ssac-pill { display:inline-flex; align-items:center; gap:6px; background:#111; color:#f4c96b; border:1px solid #5b2cff; border-radius:999px; padding:4px 8px; font-weight:700; }
.ssac-remove { background:transparent; border:none; cursor:pointer; color:#f4c96b; }

/* Assets */
.ssac-assets-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.ssac-asset-card { border:1px solid #dcdcde; background:#fff; color:#111; }
.ssac-asset-thumb { aspect-ratio:2/3; background:#f6f7f7; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.ssac-asset-thumb img,
.ssac-asset-card img { width:100%; height:100%; object-fit:contain; background:#f6f1e8; image-rendering:auto; }
.ssac-asset-body { padding:12px; }
.ssac-asset-title { font-weight:700; margin-bottom:8px; cursor:pointer; color:#111827; }
.ssac-asset-meta { font-size:12px; color:#333; }
.ssac-asset-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ssac-pick { display:inline-flex; align-items:center; gap:4px; background:#f4c96b; color:#111; border-radius:999px; padding:4px 8px; font-weight:700; }
.ssac-pick input { accent-color:#5b2cff; }
.ssac-selected-card,
.ssac-selected-cover,
.ssac-selected-promo,
.ssac-selected-bonus,
.ssac-selected-sales,
.ssac-selected-audio,
.ssac-preview-bg-selected { outline:4px solid #5b2cff; box-shadow:0 0 0 6px rgba(91,44,255,.22); }
.ssac-selected-card::before { content:"FINAL CARD SELECTED"; display:block; background:#5b2cff; color:gold; font-size:12px; font-weight:900; padding:6px 8px; }
.ssac-preview-bg-selected::before { content:"BACKGROUND TEMPLATE"; display:block; background:#111827; color:#f4c96b; font-size:12px; font-weight:900; padding:6px 8px; }
.ssac-asset-morebar { display:flex; align-items:center; justify-content:center; gap:12px; margin:16px 0; padding:12px; border-radius:14px; background:rgba(255,255,255,.35); border:1px solid rgba(255,255,255,.45); }
#ssac-asset-page-info { font-size:12px; font-weight:700; color:#1f2937; }

/* Pack panel */
.ssac-pack-panel { margin:18px 0; padding:18px; border:1px solid rgba(214,183,97,.35); border-radius:16px; background:rgba(255,255,255,.28); color:#111827; }
.ssac-pack-grid { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:14px; align-items:end; }
.ssac-pack-list { margin-top:12px; display:grid; gap:8px; }
.ssac-pack-item { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.72); color:#111827; }
.ssac-pack-item span { opacity:.85; font-size:12px; }

/* Premium landing hero */
.ssac-landing { position:relative; overflow:hidden; padding:48px 22px !important; border-radius:28px !important; margin:20px auto; max-width:1240px; background:radial-gradient(circle at 20% 0%, rgba(244,201,107,.28), transparent 30%), radial-gradient(circle at 80% 10%, rgba(91,44,255,.28), transparent 34%), linear-gradient(135deg,#06060a 0%,#151020 52%,#2c1a04 100%) !important; color:#fff !important; }
.ssac-landing::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), transparent 70%); }
.ssac-landing-hero { position:relative; z-index:1; max-width:1040px !important; margin:0 auto 24px; text-align:center; padding:26px 18px 30px; }
.ssac-kicker { text-transform:uppercase; letter-spacing:.22em !important; font-weight:900; color:#f4c96b !important; margin-bottom:10px; }
.ssac-landing-hero h1 { color:#fff !important; font-size:clamp(40px,6vw,76px) !important; line-height:1; margin:0 0 14px; letter-spacing:-.045em; text-shadow:0 8px 32px rgba(0,0,0,.45); }
.ssac-landing-hero p { color:rgba(255,255,255,.86) !important; font-size:clamp(17px,2vw,22px) !important; margin:0 auto 18px; max-width:760px; }
.ssac-step-strip { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:18px; }
.ssac-step-strip span { color:#fff !important; background:rgba(255,255,255,.12) !important; border:1px solid rgba(244,201,107,.32) !important; border-radius:999px; padding:10px 14px; font-weight:800; box-shadow:0 12px 34px rgba(0,0,0,.18); }
.ssac-step-strip strong { display:inline-grid; place-items:center; width:24px; height:24px; background:#f4c96b; color:#111; border-radius:50%; margin-right:6px; }
.ssac-landing-panel { position:relative; z-index:1; background:rgba(248,250,252,.96) !important; color:#111827 !important; border:1px solid rgba(255,255,255,.55) !important; border-radius:22px !important; padding:18px; box-shadow:0 28px 90px rgba(0,0,0,.38) !important; }

@media (max-width:1100px) {
  .ssac-top { grid-template-columns:1fr !important; }
  .ssac-step-two-grid { grid-template-columns:1fr !important; }
  .ssac-pack-grid { grid-template-columns:1fr !important; }
}

/* v2.1.8 asset tabs + stronger preview text fit */
.ssac-asset-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.ssac-asset-tab { border:0; border-radius:999px; padding:10px 16px; background:#f6f1ff; color:#24143f; font-weight:800; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.ssac-asset-tab.active { background:#5b2cff; color:#fff; }
.ssac-asset-thumb video { width:100%; height:100%; object-fit:cover; display:block; background:#111; }
.ssac-audio-thumb { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:28px; background:linear-gradient(135deg,#2a2140,#5b2cff); color:#f4c96b; }
.ssac-preview-card { padding:10% !important; }
.ssac-preview-card strong { left:50%; top:50%; transform:translate(-50%,-50%); position:absolute !important; width:70% !important; max-width:70% !important; margin:0 !important; line-height:1.04 !important; display:flex !important; align-items:center !important; justify-content:center !important; flex-direction:column !important; min-height:42%; }
.ssac-preview-card.ssac-fit-xl strong { font-size:clamp(34px,4.8vw,64px) !important; line-height:1.0 !important; width:74% !important; max-width:74% !important; }
.ssac-preview-card.ssac-fit-lg strong { font-size:clamp(30px,4vw,54px) !important; line-height:1.02 !important; width:72% !important; max-width:72% !important; }
.ssac-preview-card.ssac-fit-md strong { font-size:clamp(24px,3.2vw,43px) !important; line-height:1.06 !important; width:76% !important; max-width:76% !important; }
.ssac-preview-card.ssac-fit-sm strong { font-size:clamp(19px,2.45vw,34px) !important; line-height:1.1 !important; width:80% !important; max-width:80% !important; }

/* v2.3.0 Mockup + Promo Engine */
.ssac-zip-hidden { opacity:.55; margin-left:8px; }
.ssac-video-prompt { margin-top:14px; padding:14px; border-radius:16px; background:rgba(255,255,255,.72); border:1px solid rgba(0,0,0,.08); }
.ssac-video-prompt textarea { width:100%; margin-top:8px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ssac-step-render .button-hero { margin:4px 6px 4px 0; }

.ssac-asset-bulkbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 14px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04)}
.ssac-bulk-help{font-size:12px;opacity:.75}

/* v2.3.3 Mockup profile controls */
.ssac-mockup-controls{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.ssac-mockup-profile{
  min-height:44px;
  border-radius:12px;
  padding:0 14px;
  font-weight:700;
}
