#soykibai-product-wizard,
#soykibai-product-wizard *,
#soykibai-product-wizard *::before,
#soykibai-product-wizard *::after { box-sizing:border-box; }

#soykibai-product-wizard { width:100%; font-family:inherit; }

.kibai-wizard-card {
  width:100%;
  max-width:1080px;
  margin:25px auto;
  padding:38px 42px;
  background:#fff;
  border:1px solid #eee5fa;
  border-radius:20px;
  box-shadow:0 12px 35px rgba(75,0,130,.10);
}

.kibai-type-screen,
.kibai-template,
.kibai-step { display:none; }

.kibai-type-screen.active,
.kibai-template.active,
.kibai-step.active { display:block; }

.kibai-eyebrow,
.kibai-step-label {
  color:#50009b;
  font-size:15px;
  font-weight:700;
}

.kibai-title {
  margin:8px 0;
  color:#171126;
  font-size:38px;
  line-height:1.15;
  font-weight:800;
}

.kibai-subtitle {
  max-width:760px;
  margin:0 0 28px;
  color:#666;
  font-size:17px;
  line-height:1.5;
}

.kibai-type-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.kibai-type-card {
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  justify-content:flex-start;
  gap:16px;
  width:100%;
  min-width:0;
  min-height:150px;
  padding:24px;
  overflow:hidden;
  color:inherit;
  background:#fcfaff;
  border:1px solid #dfd1ed;
  border-radius:16px;
  cursor:pointer;
  text-align:left;
  white-space:normal;
  transition:.22s ease;
}

.kibai-type-card:hover {
  border-color:#6500b8;
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(101,0,184,.12);
}

.kibai-type-card-ai {
  background:linear-gradient(135deg,#f7f0ff,#eefaff);
}

.kibai-type-icon {
  flex:0 0 auto;
  display:block;
  font-size:38px;
  line-height:1;
}

.kibai-type-content {
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  gap:9px;
}

.kibai-type-card strong {
  display:block;
  max-width:100%;
  color:#35104f;
  font-size:21px;
  line-height:1.2;
  word-break:normal;
  overflow-wrap:anywhere;
}

.kibai-type-card small {
  display:block;
  max-width:100%;
  color:#6f6875;
  font-size:14px;
  line-height:1.5;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}

.kibai-back-type {
  margin-bottom:18px;
  padding:9px 14px;
  color:#6500b8;
  background:#f8f1fd;
  border:1px solid #dfd1ed;
  border-radius:8px;
  font-weight:700;
  cursor:pointer;
}

.kibai-progress {
  width:100%;
  height:12px;
  margin:10px 0 28px;
  overflow:hidden;
  background:#ececec;
  border-radius:30px;
}

.kibai-progress span {
  display:block;
  width:20%;
  height:100%;
  background:linear-gradient(90deg,#50009b,#6b00c7,#00b8ff);
  transition:width .3s ease;
}

.kibai-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.kibai-form-group { margin-bottom:20px; }
.full-width,
.kibai-section-box { grid-column:1/-1; }

.kibai-form-group label,
.kibai-group-title {
  display:block;
  margin-bottom:8px;
  color:#252525;
  font-size:15px;
  font-weight:700;
}

.kibai-form-group input,
.kibai-form-group select,
.kibai-form-group textarea {
  width:100%;
  min-height:50px;
  padding:12px 14px;
  color:#222;
  background:#fff;
  border:1px solid #d9c8ed;
  border-radius:10px;
  outline:none;
  font:inherit;
}

.kibai-form-group textarea {
  min-height:110px;
  resize:vertical;
}

.kibai-form-group input:focus,
.kibai-form-group select:focus,
.kibai-form-group textarea:focus {
  border-color:#6500b8;
  box-shadow:0 0 0 3px rgba(101,0,184,.10);
}

.kibai-radio-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }

.kibai-radio-card {
  position:relative;
  display:block;
  cursor:pointer;
}

.kibai-radio-card input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.kibai-radio-card span {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px;
  color:#4c3560;
  background:#faf7fd;
  border:1px solid #dfd1ed;
  border-radius:10px;
  text-align:center;
  pointer-events:none;
}

.kibai-radio-card input:checked + span {
  color:#fff;
  background:#6500b8;
  border-color:#6500b8;
}

.kibai-check-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
}

.kibai-check-grid label {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #eadff4;
  border-radius:9px;
}

.kibai-actions {
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:28px;
}

.kibai-btn {
  min-width:190px;
  min-height:50px;
  padding:12px 20px;
  border:0;
  border-radius:10px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.kibai-btn-primary { color:#fff; background:#6500b8; }
.kibai-btn-secondary { color:#6500b8; background:#f1e8fa; }

.kibai-conditional { display:none; }
.kibai-conditional.visible { display:block; }

.kibai-section-box {
  padding:22px;
  background:#fcfaff;
  border:1px solid #eadff4;
  border-radius:14px;
}

.kibai-section-box h3 {
  margin:0 0 18px;
  color:#321047;
  font-size:21px;
}

.kibai-error {
  display:none;
  margin-bottom:18px;
  padding:12px;
  color:#9b2424;
  background:#fff1f1;
  border:1px solid #ffd0d0;
  border-radius:9px;
}

.kibai-error.visible { display:block; }

.kibai-upload-area {
  padding:40px 25px;
  background:#fcfaff;
  border:2px dashed #cbb5df;
  border-radius:16px;
  text-align:center;
}

.kibai-upload-icon { font-size:52px; }

.kibai-upload-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  color:#6500b8;
  background:#f1e8fa;
  border-radius:10px;
  cursor:pointer;
  font-weight:700;
}

.kibai-file-input { display:none; }

.kibai-image-counter {
  margin-top:14px;
  color:#6f5f7d;
}

.kibai-preview-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}

.kibai-preview-item {
  position:relative;
  overflow:hidden;
  aspect-ratio:1/1;
  background:#f4f4f4;
  border:1px solid #e5dcec;
  border-radius:12px;
}

.kibai-preview-item img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.kibai-main-badge {
  position:absolute;
  left:8px;
  bottom:8px;
  padding:5px 8px;
  color:#fff;
  background:#6500b8;
  border-radius:6px;
  font-size:11px;
}

.kibai-ai-grid,
.kibai-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}

.kibai-ai-card,
.kibai-summary-item {
  padding:20px;
  background:#fff;
  border:1px solid #e9dff2;
  border-radius:14px;
}

.kibai-summary-item strong {
  display:block;
  margin-bottom:5px;
  color:#50009b;
}

.kibai-placeholder-box,
.kibai-coming {
  padding:30px;
  background:#faf7fd;
  border:1px dashed #cdb7df;
  border-radius:15px;
}

@media (max-width:767px) {
  .kibai-wizard-card {
    margin:15px auto;
    padding:24px 18px;
  }

  .kibai-title { font-size:29px; }

  .kibai-type-grid,
  .kibai-grid,
  .kibai-ai-grid,
  .kibai-summary,
  .kibai-radio-grid,
  .two-columns,
  .kibai-check-grid {
    grid-template-columns:1fr;
  }

  .kibai-type-card {
    min-height:0;
    padding:20px;
  }

  .kibai-actions { flex-direction:column-reverse; }
  .kibai-btn { width:100%; }
  .kibai-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* VISTA PREVIA INTELIGENTE */
.kibai-preview-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}

.kibai-quality-card {
  flex:0 0 250px;
  padding:18px;
  background:#fcfaff;
  border:1px solid #e7daf2;
  border-radius:14px;
}

.kibai-quality-card span {
  display:block;
  color:#6f6875;
  font-size:13px;
}

.kibai-quality-card strong {
  display:block;
  margin:5px 0 10px;
  color:#50009b;
  font-size:28px;
}

.kibai-quality-bar {
  height:10px;
  overflow:hidden;
  background:#e9e4ed;
  border-radius:30px;
}

.kibai-quality-bar span {
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,#50009b,#00b8ff);
  transition:width .3s ease;
}

.kibai-preview-layout {
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);
  gap:24px;
}

.kibai-product-preview {
  overflow:hidden;
  background:#fff;
  border:1px solid #e8dff0;
  border-radius:18px;
}

.kibai-preview-gallery {
  padding:20px;
  background:#faf8fc;
}

.kibai-preview-main-image {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:320px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eadff4;
  border-radius:14px;
  color:#75647f;
}

.kibai-preview-main-image > span {
  font-size:58px;
}

.kibai-preview-main-image img {
  width:100%;
  height:320px;
  object-fit:contain;
}

.kibai-preview-thumbs {
  display:flex;
  gap:10px;
  margin-top:12px;
  overflow:auto;
}

.kibai-preview-thumbs img {
  width:66px;
  height:66px;
  object-fit:cover;
  border:1px solid #ded0ea;
  border-radius:9px;
}

.kibai-preview-copy,
.kibai-preview-details {
  padding:22px;
}

.kibai-preview-copy {
  border-bottom:1px solid #eee7f3;
}

.kibai-preview-category {
  color:#6500b8;
  font-size:13px;
  font-weight:700;
}

.kibai-preview-title {
  margin:7px 0 10px;
  color:#23182d;
  font-size:28px;
  line-height:1.25;
}

.kibai-preview-price {
  margin-bottom:16px;
  color:#151019;
  font-size:31px;
  font-weight:800;
}

.kibai-preview-description {
  margin:0;
  color:#5f5964;
  line-height:1.6;
}

.kibai-preview-details h4 {
  margin:0 0 14px;
  color:#311b42;
  font-size:19px;
}

.kibai-copilot {
  align-self:start;
  padding:22px;
  background:linear-gradient(180deg,#f8f1ff,#f3fbff);
  border:1px solid #ddcdea;
  border-radius:18px;
  position:sticky;
  top:20px;
}

.kibai-copilot-head {
  display:flex;
  align-items:center;
  gap:12px;
}

.kibai-kibi-avatar {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  background:#fff;
  border-radius:50%;
  font-size:25px;
  box-shadow:0 5px 15px rgba(80,0,155,.12);
}

.kibai-copilot-head strong,
.kibai-copilot-head span {
  display:block;
}

.kibai-copilot-head strong {
  color:#50009b;
  font-size:18px;
}

.kibai-copilot-head span {
  color:#746b79;
  font-size:12px;
}

.kibai-copilot-intro {
  color:#5e5764;
  line-height:1.5;
}

.kibai-recommendations {
  display:grid;
  gap:10px;
  margin:16px 0 20px;
}

.kibai-recommendation {
  padding:12px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(101,0,184,.12);
  border-radius:10px;
  color:#4c4451;
  font-size:13px;
  line-height:1.45;
}

.kibai-recommendation.good::before {
  content:"✓ ";
  color:#278542;
  font-weight:800;
}

.kibai-recommendation.warn::before {
  content:"⚠ ";
  color:#c47b00;
  font-weight:800;
}

.kibai-ai-improve {
  width:100%;
  min-width:0;
}

@media (max-width:900px) {
  .kibai-preview-heading {
    flex-direction:column;
  }

  .kibai-quality-card {
    width:100%;
    flex-basis:auto;
  }

  .kibai-preview-layout {
    grid-template-columns:1fr;
  }

  .kibai-copilot {
    position:static;
  }
}


/* IA LOCAL FUNCIONAL */
.kibai-ai-modal {
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.kibai-ai-modal.open {
  display:flex;
}

.kibai-ai-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(18,10,28,.62);
  backdrop-filter:blur(3px);
}

.kibai-ai-modal-dialog {
  position:relative;
  z-index:2;
  width:min(720px,100%);
  max-height:90vh;
  overflow:auto;
  padding:28px;
  background:#fff;
  border:1px solid #e6d8f2;
  border-radius:20px;
  box-shadow:0 24px 70px rgba(20,0,35,.30);
}

.kibai-ai-modal-close {
  position:absolute;
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  padding:0;
  color:#5b4767;
  background:#f5eff9;
  border:0;
  border-radius:50%;
  font-size:25px;
  cursor:pointer;
}

.kibai-ai-modal-head {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}

.kibai-ai-modal-head h3 {
  margin:3px 0 0;
  color:#24152e;
  font-size:24px;
  line-height:1.25;
}

.kibai-ai-result {
  display:grid;
  gap:9px;
}

.kibai-ai-result label {
  margin-top:8px;
  color:#34203e;
  font-weight:700;
}

.kibai-ai-result input,
.kibai-ai-result textarea {
  width:100%;
  padding:13px 14px;
  color:#222;
  background:#fff;
  border:1px solid #d9c8ed;
  border-radius:10px;
  font:inherit;
}

.kibai-ai-result textarea {
  min-height:210px;
  resize:vertical;
  line-height:1.55;
}

.kibai-ai-note {
  margin:16px 0 0;
  color:#706777;
  font-size:13px;
}

body.kibai-modal-open {
  overflow:hidden;
}

/* v2.8 - acciones post publicación */
.kibai-actions a.kibai-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.kibai-actions .kibai-btn{min-width:160px}
@media(max-width:767px){.kibai-actions a.kibai-btn{width:100%}}

/* v2.9 - imagen opcional para empleos */
.kibai-job-image-box{margin-top:20px}
.kibai-job-image-box .kibai-optional{font-size:13px;font-weight:500;color:#777}
.kibai-job-image-box .kibai-help-text{margin:6px 0 16px;color:#666;line-height:1.5}
.kibai-job-image-box .kibai-upload-area{background:#faf7ff;border:1px dashed #cdb4e8;border-radius:14px;padding:20px}


/* v3.1 - Entrega segura y estimación de medidas con Kibi */
.kibai-shipping-box,.kibai-package-box{border:1px solid #e4d5f1;background:linear-gradient(180deg,#fff,#fcf9ff);border-radius:16px;padding:20px}
.kibai-help-text{color:#6d6474;line-height:1.55;margin:6px 0 16px}
.kibai-retire-note,.kibai-warning-box{border-radius:13px;padding:15px 16px;line-height:1.55}
.kibai-retire-note{background:#f4f9ff;border:1px solid #cfe4ff;color:#263f5b}
.kibai-warning-box{background:#fff8e7;border:1px solid #f1d38a;color:#5d4717;margin-top:16px}
.kibai-retire-note p,.kibai-warning-box p{margin:6px 0 0}
.kibai-kibi-measure-box{background:#f8f2ff;border:1px dashed #c9a8eb;border-radius:14px;padding:16px;margin:14px 0}
.kibai-ai-note{margin-top:12px;color:#55227a;line-height:1.5}
.kibai-ai-note:not(:empty){padding:12px 14px;border-radius:11px;background:#efe2fb;border:1px solid #d8bfea}
.kibai-measure-grid{margin-top:16px}
.kibai-check-line{display:flex;align-items:flex-start;gap:10px;font-weight:700;margin-top:12px}
.kibai-check-line input{width:auto!important;min-width:18px;margin-top:3px}
@media(max-width:760px){.kibai-package-box .kibai-btn{width:100%}}
