:root {
  --ipro-bg: #ecf3fb;
  --ipro-surface: #ffffff;
  --ipro-surface-2: #f6f9fd;
  --ipro-line: #d8e3f2;
  --ipro-text: #102544;
  --ipro-muted: #5f718d;
  --ipro-primary: #0c63f2;
  --ipro-primary-strong: #0a49be;
  --ipro-primary-soft: #eaf2ff;
  --ipro-accent: #ff6d3a;
  --ipro-accent-soft: #fff1ea;
  --ipro-success: #12a150;
  --ipro-radius-xl: 28px;
  --ipro-radius-lg: 22px;
  --ipro-radius-md: 16px;
  --ipro-shadow-lg: 0 28px 70px rgba(15, 42, 77, 0.10);
  --ipro-shadow-md: 0 16px 36px rgba(15, 42, 77, 0.07);
  --ipro-shadow-sm: 0 10px 24px rgba(15, 42, 77, 0.05);
}

@keyframes iproCardActivate {
  0% { transform: translateY(0) scale(1); }
  45% { transform: translateY(-3px) scale(1.015); }
  100% { transform: translateY(-1px) scale(1); }
}
@keyframes iproGlowPulse {
  0% { box-shadow: 0 0 0 0 rgba(10,70,182,.24); }
  100% { box-shadow: 0 0 0 10px rgba(10,70,182,0); }
}

.ipro-app * { box-sizing: border-box; }
.ipro-app {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .82fr);
  gap: 28px;
  align-items: start;
  padding: 16px;
  background: linear-gradient(180deg, #f8fbff 0%, #ebf2fa 100%);
  border-radius: 34px;
  color: var(--ipro-text);
}
.ipro-main { display: grid; gap: 24px; }

.ipro-hero-card,
.ipro-panel,
.ipro-summary-card {
  background: var(--ipro-surface);
  border: 1px solid var(--ipro-line);
  border-radius: var(--ipro-radius-xl);
  box-shadow: var(--ipro-shadow-lg);
}

.ipro-hero-card {
  position: relative;
  overflow: hidden;
  padding: 40px;
  background:
    radial-gradient(circle at 85% 18%, rgba(255,255,255,.28), transparent 20%),
    linear-gradient(135deg, #092a67 0%, #0d59d6 48%, #3cb4ff 100%);
  color: #fff;
}
.ipro-hero-card::before,
.ipro-hero-card::after {
  content: "";
  position: absolute;
  border-radius: 30px;
  background: rgba(255,255,255,.09);
  transform: rotate(18deg);
}
.ipro-hero-card::before { width: 210px; height: 210px; right: -10px; top: -60px; }
.ipro-hero-card::after { width: 260px; height: 260px; right: -100px; bottom: -100px; }
.ipro-hero-content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 280px;
  gap: 20px;
  align-items: center;
}
.ipro-hero-kicker {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.2);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ipro-hero-copy h2 {
  margin: 14px 0 10px;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1.04;
  color: #fff;
}
.ipro-hero-copy p {
  margin: 0;
  max-width: 620px;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255,255,255,.92);
}
.ipro-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.ipro-hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 13px;
  font-weight: 700;
}
.ipro-hero-trust span::before {
  content: "✓";
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  font-size: 12px;
}
.ipro-hero-showcase {
  position: relative;
  min-height: 230px;
}
.ipro-showcase-card {
  position: absolute;
  border-radius: 22px;
  box-shadow: 0 18px 34px rgba(4, 21, 54, 0.26);
}
.ipro-showcase-doc {
  width: 170px;
  height: 220px;
  right: 24px;
  top: 0;
  background: linear-gradient(180deg, #ffffff 0%, #edf4ff 100%);
}
.ipro-showcase-doc::before,
.ipro-showcase-sheet::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 14px;
  background:
    linear-gradient(#dfe9f6 0 0) 0 0 / 70% 14px no-repeat,
    linear-gradient(#e9eef7 0 0) 0 30px / 100% 9px no-repeat,
    linear-gradient(#e9eef7 0 0) 0 52px / 92% 9px no-repeat,
    linear-gradient(#e9eef7 0 0) 0 74px / 100% 9px no-repeat,
    linear-gradient(#e9eef7 0 0) 0 96px / 82% 9px no-repeat,
    linear-gradient(#e9eef7 0 0) 0 118px / 96% 9px no-repeat;
}
.ipro-showcase-sheet {
  width: 140px;
  height: 190px;
  right: 124px;
  top: 28px;
  transform: rotate(-9deg);
  background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 100%);
}
.ipro-showcase-ring {
  width: 46px;
  height: 210px;
  right: 4px;
  top: 10px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 10%, #0f4fbe 0 7px, transparent 8px),
    radial-gradient(circle at 50% 27%, #0f4fbe 0 7px, transparent 8px),
    radial-gradient(circle at 50% 44%, #0f4fbe 0 7px, transparent 8px),
    radial-gradient(circle at 50% 61%, #0f4fbe 0 7px, transparent 8px),
    radial-gradient(circle at 50% 78%, #0f4fbe 0 7px, transparent 8px),
    linear-gradient(180deg, #d8e7ff 0%, #f8fbff 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), 0 18px 34px rgba(4, 21, 54, .22);
}

.ipro-panel { padding: 28px; }
.ipro-panel-upload { background: linear-gradient(180deg, #fff 0%, #f9fbff 100%); }
.ipro-panel-heading,
.ipro-section-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}
.ipro-panel-heading h3 {
  margin: 0 0 6px;
  font-size: 24px;
  line-height: 1.2;
}
.ipro-panel-heading p,
.ipro-group-header p {
  margin: 0;
  color: var(--ipro-muted);
  line-height: 1.6;
}
.ipro-step-badge {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(135deg, var(--ipro-primary) 0%, #50a9ff 100%);
  color: #fff;
  font-weight: 800;
  box-shadow: var(--ipro-shadow-sm);
}
.ipro-pages-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 999px;
  background: var(--ipro-surface-2);
  border: 1px solid var(--ipro-line);
  color: var(--ipro-muted);
  white-space: nowrap;
}
.ipro-pages-pill strong {
  color: var(--ipro-text);
  font-size: 20px;
}

.ipro-dropzone {
  margin-top: 22px;
  padding: 28px;
  border: 2px dashed #b9cce8;
  border-radius: 24px;
  background: linear-gradient(180deg, #f8fbff 0%, #f2f7fe 100%);
  cursor: pointer;
  transition: .2s ease;
}
.ipro-dropzone:hover,
.ipro-dropzone.is-dragover {
  border-color: var(--ipro-primary);
  background: linear-gradient(180deg, #f4f9ff 0%, #eaf3ff 100%);
  box-shadow: inset 0 0 0 1px rgba(12,99,242,.08);
}
.ipro-dropzone-inner {
  display: flex;
  align-items: center;
  gap: 18px;
}
.ipro-drop-icon {
  width: 76px;
  height: 76px;
  border-radius: 22px;
  display: inline-grid;
  place-items: center;
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, var(--ipro-accent) 0%, #ff9a62 100%);
  box-shadow: var(--ipro-shadow-md);
}
.ipro-dropzone strong { display: block; font-size: 20px; }
.ipro-dropzone p { margin: 6px 0 0; color: var(--ipro-muted); }
.ipro-progress {
  margin-top: 18px;
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: #dce8f8;
  overflow: hidden;
}
.ipro-progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--ipro-primary) 0%, #54b1ff 100%);
  transition: width .2s ease;
}
.ipro-upload-meta {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--ipro-muted);
}
.ipro-upload-meta strong,
.ipro-upload-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ipro-line);
}

.ipro-config-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 24px;
}
.ipro-option-group {
  width: 100%;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid var(--ipro-line);
  background: linear-gradient(180deg, #fff 0%, #f9fbfe 100%);
  box-shadow: var(--ipro-shadow-sm);
}
.ipro-group-header { margin-bottom: 16px; }
.ipro-group-header h4 {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.25;
}

.ipro-card-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}
.ipro-card-options-tight {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.ipro-option-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 156px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--ipro-line);
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
  color: var(--ipro-text);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.ipro-option-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--ipro-shadow-md);
  border-color: #b6cdee;
}

.ipro-option-card:hover,
.ipro-option-card:hover .ipro-option-title,
.ipro-option-card:hover .ipro-option-sub,
.ipro-option-card:hover .ipro-option-badge,
.ipro-option-card:hover .ipro-option-preview-note,
.ipro-option-card:hover * {
  color: var(--ipro-text) !important;
}
.ipro-option-card:hover .ipro-option-icon,
.ipro-option-card:hover .ipro-paper-preview,
.ipro-option-card:hover .ipro-binding-preview,
.ipro-option-card:hover .ipro-ship-preview,
.ipro-option-card:hover .ipro-weight-preview,
.ipro-option-card:hover .ipro-print-preview,
.ipro-option-card:hover .ipro-sides-preview {
  color: var(--ipro-primary-strong);
}

.ipro-option-card.is-active {
  border-color: var(--ipro-primary-strong);
  background: linear-gradient(180deg, #edf4ff 0%, #dfeeff 100%);
  color: var(--ipro-text);
  box-shadow: 0 16px 34px rgba(10, 70, 182, .16);
  animation: iproCardActivate .26s ease-out, iproGlowPulse .45s ease-out;
}
.ipro-option-card.is-active .ipro-option-title,
.ipro-option-card.is-active .ipro-option-sub,
.ipro-option-card.is-active .ipro-option-badge,
.ipro-option-card.is-active .ipro-option-preview-note { color: var(--ipro-text); }
.ipro-option-card.is-active .ipro-option-icon,
.ipro-option-card.is-active .ipro-paper-preview,
.ipro-option-card.is-active .ipro-binding-preview,
.ipro-option-card.is-active .ipro-ship-preview,
.ipro-option-card.is-active .ipro-weight-preview,
.ipro-option-card.is-active .ipro-print-preview,
.ipro-option-card.is-active .ipro-sides-preview {
  background: rgba(255,255,255,.72);
  border-color: #b9cff5;
  color: var(--ipro-primary-strong);
}
.ipro-option-card.is-active .ipro-svg-icon svg { stroke: currentColor; }
.ipro-option-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ipro-option-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: inline-grid;
  place-items: center;
  color: var(--ipro-primary-strong);
  background: radial-gradient(circle at 30% 25%, #ffffff 0%, #eef5ff 40%, #deebff 100%);
  border: 1px solid #c7daf7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.ipro-svg-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; }
.ipro-svg-icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}
.ipro-svg-icon svg rect,
.ipro-svg-icon svg path,
.ipro-svg-icon svg circle { vector-effect: non-scaling-stroke; }
.ipro-option-title-wrap { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ipro-option-title {
  display: block;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
}
.ipro-option-sub {
  color: var(--ipro-muted);
  font-size: 13px;
  line-height: 1.55;
}
.ipro-option-preview {
  margin-top: auto;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}
.ipro-option-preview > .ipro-option-preview-note {
  flex: 1 1 auto;
  text-align: right;
  max-width: 120px;
}
.ipro-option-preview-note {
  font-size: 12px;
  color: var(--ipro-muted);
  line-height: 1.4;
}
.ipro-option-badge {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(12,99,242,.08);
  color: var(--ipro-primary-strong);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.ipro-paper-preview,
.ipro-binding-preview,
.ipro-ship-preview,
.ipro-weight-preview,
.ipro-print-preview,
.ipro-sides-preview {
  position: relative;
  flex: 0 0 auto;
  border: 1px solid #cadbf3;
  background: #fff;
  box-shadow: inset 0 -8px 18px rgba(12, 71, 182, .06);
}
.ipro-paper-preview::before,
.ipro-sides-preview::before,
.ipro-print-preview::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 8px;
  background:
    linear-gradient(#dfe8f5 0 0) 0 0 / 70% 10px no-repeat,
    linear-gradient(#edf2f8 0 0) 0 20px / 100% 6px no-repeat,
    linear-gradient(#edf2f8 0 0) 0 34px / 85% 6px no-repeat,
    linear-gradient(#edf2f8 0 0) 0 48px / 100% 6px no-repeat;
}
.ipro-paper-preview.is-a4 { width: 48px; height: 66px; border-radius: 10px; }
.ipro-paper-preview.is-a3 { width: 58px; height: 76px; border-radius: 10px; }
.ipro-paper-preview.is-a2 { width: 64px; height: 86px; border-radius: 10px; }
.ipro-paper-preview.is-a1 { width: 70px; height: 96px; border-radius: 10px; }
.ipro-paper-preview.is-a0 { width: 76px; height: 104px; border-radius: 10px; }
.ipro-paper-preview.is-horizontal { width: 74px; height: 52px; }
.ipro-paper-preview.is-vertical { width: 52px; height: 74px; }
.ipro-sides-preview { width: 76px; height: 60px; border-radius: 14px; }
.ipro-sides-preview.is-double::after {
  content: "";
  position: absolute;
  width: 28px;
  height: 40px;
  right: 10px;
  top: 10px;
  border-radius: 9px;
  background: rgba(12, 99, 242, .14);
  border: 1px solid rgba(12, 99, 242, .18);
}
.ipro-print-preview { width: 80px; height: 60px; border-radius: 14px; }
.ipro-print-preview.is-bn::after,
.ipro-print-preview.is-color_economy::after,
.ipro-print-preview.is-color_premium::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 10px;
  width: 16px;
  height: 40px;
  border-radius: 999px;
}
.ipro-print-preview.is-bn::after { background: linear-gradient(180deg, #1a1a1a 0%, #a7a7a7 100%); }
.ipro-print-preview.is-color_economy::after { background: linear-gradient(180deg, #2a72f8 0%, #74c5ff 100%); }
.ipro-print-preview.is-color_premium::after { background: linear-gradient(180deg, #ff5f3f 0%, #ffd84f 50%, #2aa5ff 100%); }
.ipro-weight-preview {
  width: 78px;
  height: 60px;
  border-radius: 16px;
}
.ipro-weight-preview::before,
.ipro-weight-preview::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  border-radius: 999px;
  background: rgba(12, 99, 242, .16);
}
.ipro-weight-preview::before { top: 18px; height: 8px; }
.ipro-weight-preview::after { top: 34px; height: 12px; }
.ipro-weight-preview.is-130::after { height: 16px; top: 30px; }
.ipro-binding-preview {
  width: 78px;
  height: 62px;
  border-radius: 16px;
}
.ipro-binding-preview.is-none::before,
.ipro-binding-preview.is-spiral::before,
.ipro-binding-preview.is-glued::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 18px;
  right: 18px;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f2f6fc 100%);
}
.ipro-binding-preview.is-spiral::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  bottom: 8px;
  width: 12px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 14%, #0b54d0 0 3px, transparent 4px),
    radial-gradient(circle at 50% 34%, #0b54d0 0 3px, transparent 4px),
    radial-gradient(circle at 50% 54%, #0b54d0 0 3px, transparent 4px),
    radial-gradient(circle at 50% 74%, #0b54d0 0 3px, transparent 4px),
    linear-gradient(180deg, #dbe9ff 0%, #f9fbff 100%);
}
.ipro-binding-preview.is-glued::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 10px;
  bottom: 10px;
  width: 12px;
  border-radius: 8px;
  background: linear-gradient(180deg, #0b4dc4 0%, #69b7ff 100%);
}
.ipro-ship-preview {
  width: 88px;
  height: 60px;
  border-radius: 18px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 8px;
  color: var(--ipro-primary-strong);
  overflow: hidden;
}
.ipro-ship-track {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 11px;
  height: 4px;
  border-radius: 999px;
  background: rgba(12,99,242,.08);
}
.ipro-ship-preview.is-pickup::before,
.ipro-ship-preview.is-standard::before,
.ipro-ship-preview.is-express::before {
  content: '';
  position: absolute;
}
.ipro-ship-preview.is-pickup::before {
  inset: 11px 22px 16px 22px;
  border: 2px solid currentColor;
  border-bottom-width: 3px;
  border-radius: 4px;
  clip-path: polygon(50% 0, 100% 34%, 100% 100%, 0 100%, 0 34%);
  background: linear-gradient(180deg, rgba(12,99,242,.05), rgba(12,99,242,.14));
}
.ipro-ship-preview.is-standard::before {
  left: 16px;
  right: 18px;
  top: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 8px 8px 10px 10px;
  background: linear-gradient(180deg, rgba(12,99,242,.08), rgba(12,99,242,.16));
  box-shadow: inset -12px 0 0 rgba(12,99,242,.10);
}
.ipro-ship-preview.is-standard::after,
.ipro-ship-preview.is-express::after {
  content: '';
  position: absolute;
  left: 24px;
  bottom: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 28px 0 0 0 currentColor;
}
.ipro-ship-preview.is-express::before {
  left: 18px;
  right: 16px;
  top: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 8px 8px 10px 10px;
  background: linear-gradient(180deg, rgba(12,99,242,.12), rgba(12,99,242,.20));
}
.ipro-ship-preview.is-express .ipro-ship-track::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 0;
  width: 18px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 6px 0 0 currentColor;
}
.ipro-ship-preview.is-express .ipro-ship-track::after {
  content: '';
  position: absolute;
  top: -10px;
  left: 12px;
  width: 10px;
  height: 2px;
  background: currentColor;
}

.ipro-toggle-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.ipro-toggle-card,
.ipro-swatch,
.ipro-qty button,
.ipro-add-to-cart {
  transition: all .18s ease;
}
.ipro-toggle-card {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid var(--ipro-line);
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
  color: var(--ipro-text);
  cursor: pointer;
  text-align: left;
  font-weight: 700;
}
.ipro-toggle-card:hover { box-shadow: var(--ipro-shadow-md); }
.ipro-toggle-card.is-active {
  background: linear-gradient(180deg, #0f60ed 0%, #0a46b6 100%);
  border-color: var(--ipro-primary-strong);
  color: #fff;
  box-shadow: 0 20px 40px rgba(10, 70, 182, .24);
  animation: iproCardActivate .26s ease-out, iproGlowPulse .45s ease-out;
}
.ipro-toggle-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: inline-grid;
  place-items: center;
  background: rgba(12,99,242,.08);
  border: 1px solid #cadbf3;
  color: var(--ipro-primary-strong);
  position: relative;
}
.ipro-toggle-card[data-toggle="front_cover"] .ipro-toggle-icon::before,
.ipro-toggle-card[data-toggle="back_cover"] .ipro-toggle-icon::before {
  content: '';
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 4px;
  box-shadow: inset 4px 0 0 0 rgba(12,99,242,.18);
}
.ipro-toggle-card[data-toggle="back_cover"] .ipro-toggle-icon::before {
  box-shadow: inset -4px 0 0 0 rgba(12,99,242,.18);
}
.ipro-toggle-card.is-active .ipro-toggle-icon {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.2);
  color: #fff;
}

.ipro-swatch-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--ipro-line);
}
.ipro-swatch-row > span {
  font-size: 13px;
  font-weight: 700;
  color: var(--ipro-muted);
}
.ipro-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ipro-swatch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--ipro-line);
  background: #fff;
  color: var(--ipro-text);
  cursor: pointer;
  font-weight: 700;
}
.ipro-swatch:hover { box-shadow: var(--ipro-shadow-sm); }
.ipro-swatch.is-active {
  border-color: var(--ipro-primary-strong);
  background: var(--ipro-primary-soft);
  color: var(--ipro-primary-strong);
  box-shadow: inset 0 0 0 1px rgba(12,99,242,.12);
}
.ipro-swatch-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgba(16, 37, 68, .15);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.is-hidden { display: none !important; }

.ipro-qty {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid var(--ipro-line);
  border-radius: 18px;
  background: #fff;
}
.ipro-qty button {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 14px;
  background: var(--ipro-primary-soft);
  color: var(--ipro-primary-strong);
  font-size: 24px;
  cursor: pointer;
}
.ipro-qty button:hover {
  background: linear-gradient(180deg, #0f60ed 0%, #0a46b6 100%);
  color: #fff;
}
.ipro-qty input {
  width: 74px;
  height: 44px;
  border: 0;
  text-align: center;
  font-size: 18px;
  font-weight: 800;
  color: var(--ipro-text);
  background: transparent;
}

.ipro-summary { position: sticky; top: 24px; }
.ipro-summary-card {
  padding: 28px;
  background:
    radial-gradient(circle at top right, rgba(12,99,242,.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.ipro-summary-head h3 {
  margin: 10px 0 8px;
  font-size: 28px;
  line-height: 1.1;
}
.ipro-summary-head p {
  margin: 0;
  color: var(--ipro-muted);
  line-height: 1.6;
}
.ipro-summary-badge {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--ipro-accent-soft);
  color: var(--ipro-accent);
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.ipro-summary-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 20px;
}
.ipro-summary-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ipro-line);
  color: var(--ipro-muted);
  font-size: 12px;
  font-weight: 700;
}
#ipro-summary-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
#ipro-summary-list li {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--ipro-line);
  background: #fff;
}
.ipro-summary-label {
  color: var(--ipro-muted);
  font-size: 13px;
  line-height: 1.5;
}
.ipro-summary-value {
  text-align: right;
  font-size: 14px;
  line-height: 1.45;
}
.ipro-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  padding: 18px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #0d5ce1 0%, #0a3fa6 100%);
  color: #fff;
  box-shadow: 0 18px 34px rgba(10, 63, 166, .24);
}
.ipro-total-row span,
.ipro-total-row small { display: block; }
.ipro-total-row small { color: rgba(255,255,255,.78); margin-top: 4px; }
#ipro-total-price { font-size: 30px; line-height: 1; color: #fff; }
.ipro-cart-form { margin-top: 18px; }
.ipro-add-to-cart {
  width: 100%;
  min-height: 58px;
  padding: 16px 22px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--ipro-accent) 0%, #ff8a50 100%);
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  box-shadow: 0 18px 32px rgba(255, 109, 58, .28);
  cursor: pointer;
}
.ipro-add-to-cart:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 36px rgba(255, 109, 58, .34);
}
.ipro-message {
  min-height: 24px;
  margin-top: 14px;
  font-size: 14px;
  color: var(--ipro-success);
}
.ipro-message.is-error { color: #c64141; }

@media (max-width: 1100px) {
  .ipro-app { grid-template-columns: 1fr; }
  .ipro-summary { position: static; }
}

@media (max-width: 900px) {
  .ipro-hero-content { grid-template-columns: 1fr; }
  .ipro-hero-showcase { min-height: 180px; }
}

@media (max-width: 640px) {
  .ipro-app { padding: 10px; border-radius: 24px; }
  .ipro-hero-card,
  .ipro-panel,
  .ipro-summary-card { border-radius: 22px; }
  .ipro-hero-card,
  .ipro-panel,
  .ipro-summary-card { padding: 22px; }
  .ipro-panel-heading,
  .ipro-section-head { flex-direction: column; }
  .ipro-card-options,
  .ipro-card-options-tight,
  .ipro-toggle-cards { grid-template-columns: 1fr; }
  .ipro-option-card { min-height: 138px; }
  #ipro-total-price { font-size: 26px; }
}

.ipro-option-card[data-group="weight"] .ipro-option-sub {
  max-width: 32ch;
}


/* Hover readability hardening */
.ipro-option-card:hover .ipro-option-title,
.ipro-option-card:hover .ipro-option-sub,
.ipro-option-card:hover .ipro-option-preview-note,
.ipro-option-card:hover .ipro-option-badge,
.ipro-option-card:hover strong,
.ipro-option-card:hover span,
.ipro-option-card:hover div {
  color: var(--ipro-text) !important;
}
.ipro-option-card:hover .ipro-option-badge {
  background: rgba(12,99,242,.10);
}


/* Attribute header mini icons */
.ipro-group-header h4 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ipro-group-mini-icon {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(12,99,242,.12), rgba(27,177,246,.08));
  border: 1px solid rgba(12,99,242,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
  flex: 0 0 28px;
}
.ipro-group-mini-icon::before {
  content: '';
  width: 15px;
  height: 15px;
  display: block;
  background: var(--ipro-primary, #0c63f2);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.ipro-icon-size::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l3 3v15H6zM15 3v4h4M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l3 3v15H6zM15 3v4h4M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ipro-icon-paper::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h10v16H7zM10 8h4M10 12h4M10 16h3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h10v16H7zM10 8h4M10 12h4M10 16h3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ipro-icon-color::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 1 0 0 16h1.5a1.5 1.5 0 0 0 0-3H12a2 2 0 0 1 0-4h2a6 6 0 0 0-2-9zM7.5 11h.01M9 8h.01M13 7h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 1 0 0 16h1.5a1.5 1.5 0 0 0 0-3H12a2 2 0 0 1 0-4h2a6 6 0 0 0-2-9zM7.5 11h.01M9 8h.01M13 7h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ipro-icon-sides::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h9l2 2v12H7zM5 7h2M5 11h2M5 15h2M16 4v4h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h9l2 2v12H7zM5 7h2M5 11h2M5 15h2M16 4v4h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ipro-icon-pages::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h6v6H4zM14 6h6v6h-6zM4 16h6v3H4zM14 16h6v3h-6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h6v6H4zM14 6h6v6h-6zM4 16h6v3H4zM14 16h6v3h-6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ipro-icon-turn::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h10v14H7zM12 8l3 3-3 3M15 11H9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h10v14H7zM12 8l3 3-3 3M15 11H9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ipro-icon-binding::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4h10v16H8zM6 6h2M6 10h2M6 14h2M6 18h2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4h10v16H8zM6 6h2M6 10h2M6 14h2M6 18h2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ipro-icon-copies::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8h10v12H8zM6 16H5V4h10v1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8h10v12H8zM6 16H5V4h10v1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ipro-add-to-cart:disabled {
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(.15);
  box-shadow: none;
}


/* Imprenta Pro - ajuste producción: sin precio antes de subir PDF */
#ipro-total-price { color: inherit; }
.ipro-add-to-cart:disabled { opacity: .55; cursor: not-allowed; filter: grayscale(.1); box-shadow: none; }
.ipro-summary-value { text-align: right; }
.ipro-group-mini-icon { display: inline-flex; width: 22px; height: 22px; margin-right: 8px; vertical-align: -5px; border-radius: 8px; background: linear-gradient(135deg,#eaf2ff,#fff); box-shadow: inset 0 0 0 1px rgba(37,99,235,.14); }

/* === Imprenta Pro - diseño compacto fiel a referencia 2 === */
.ipro-app {
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 26px !important;
  background: linear-gradient(180deg, #f7fbff 0%, #eef5fc 100%) !important;
  border-radius: 22px !important;
}
.ipro-main { gap: 18px !important; }
.ipro-panel,
.ipro-summary-card {
  border-radius: 18px !important;
  box-shadow: 0 18px 42px rgba(15, 42, 77, .07) !important;
  border-color: #dce6f3 !important;
}
.ipro-panel { padding: 22px 24px !important; }
.ipro-panel-heading { align-items: flex-start !important; }
.ipro-panel-heading h3 { font-size: 22px !important; margin-bottom: 4px !important; }
.ipro-panel-heading p { font-size: 14px !important; line-height: 1.45 !important; }
.ipro-step-badge {
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #0759d8 0%, #126cf4 100%) !important;
}
.ipro-section-head { margin-bottom: 18px !important; }
.ipro-pages-pill {
  padding: 12px 16px !important;
  border-radius: 18px !important;
  background: #f8fbff !important;
}
.ipro-config-stack {
  gap: 12px !important;
  margin-top: 18px !important;
}
.ipro-option-group {
  padding: 16px !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15, 42, 77, .045) !important;
}
.ipro-group-header {
  margin-bottom: 12px !important;
  display: grid !important;
  grid-template-columns: 38px 1fr !important;
  column-gap: 10px !important;
  align-items: start !important;
}
.ipro-group-header h4 {
  grid-column: 2 !important;
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}
.ipro-group-header p {
  grid-column: 2 !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}
.ipro-group-mini-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
  margin: 0 !important;
  background: linear-gradient(135deg, #f8fbff, #eef5ff) !important;
  border: 1px solid #d9e7fb !important;
}
.ipro-group-mini-icon::before { width: 17px !important; height: 17px !important; }
.ipro-card-options {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 12px !important;
}
.ipro-card-options[data-group="size"] { grid-template-columns: 1fr !important; }
.ipro-card-options[data-group="paper"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.ipro-card-options[data-group="print_type"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ipro-card-options[data-group="sides"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.ipro-card-options[data-group="pages_per_side"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ipro-card-options[data-group="page_turn"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.ipro-card-options[data-group="binding"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ipro-option-card {
  min-height: 86px !important;
  padding: 12px !important;
  border-radius: 14px !important;
  display: flex !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border: 1px solid #dce6f3 !important;
  box-shadow: 0 6px 16px rgba(15, 42, 77, .035) !important;
  overflow: hidden !important;
}
.ipro-card-options[data-group="size"] .ipro-option-card { min-height: 76px !important; }
.ipro-option-card:hover {
  transform: translateY(-1px) !important;
  border-color: #a9c6f7 !important;
  box-shadow: 0 12px 28px rgba(15, 42, 77, .08) !important;
  background: #fff !important;
}
.ipro-option-card.is-active {
  border-color: #126cf4 !important;
  background: linear-gradient(135deg, #f9fcff 0%, #eaf3ff 100%) !important;
  box-shadow: 0 8px 24px rgba(18, 108, 244, .12) !important;
  transform: none !important;
}
.ipro-option-card.is-active::after {
  content: "✓" !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #126cf4 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  box-shadow: 0 6px 14px rgba(18, 108, 244, .25) !important;
}
.ipro-option-card-top {
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}
.ipro-option-icon {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 13px !important;
  background: #f7fbff !important;
  border-color: #d8e7fb !important;
  color: #1260d6 !important;
}
.ipro-svg-icon,
.ipro-svg-icon svg {
  width: 24px !important;
  height: 24px !important;
}
.ipro-option-title-wrap { gap: 3px !important; padding-right: 18px !important; }
.ipro-option-title {
  font-size: 15px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  color: #102544 !important;
}
.ipro-option-sub {
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  color: #536987 !important;
}
.ipro-option-card:hover .ipro-option-title,
.ipro-option-card:hover .ipro-option-sub,
.ipro-option-card:hover span,
.ipro-option-card:hover strong,
.ipro-option-card:hover div {
  color: inherit !important;
}
.ipro-option-card:hover .ipro-option-title { color: #102544 !important; }
.ipro-option-card:hover .ipro-option-sub { color: #536987 !important; }
/* Colores suaves por familia para parecerse a la referencia */
.ipro-card-options[data-group="paper"] .ipro-option-card.is-active { border-color:#48a14d !important; background:linear-gradient(135deg,#fbfffb 0%,#eef9ef 100%) !important; }
.ipro-card-options[data-group="paper"] .ipro-option-card.is-active::after { background:#48a14d !important; }
.ipro-card-options[data-group="paper"] .ipro-option-icon { color:#209348 !important; background:#f2fbf4 !important; border-color:#d7f0dd !important; }
.ipro-card-options[data-group="print_type"] .ipro-option-icon { color:#ef7f1a !important; background:#fff8f0 !important; border-color:#fae5ca !important; }
.ipro-card-options[data-group="sides"] .ipro-option-icon { color:#16a35c !important; background:#f2fbf5 !important; border-color:#d8f1e3 !important; }
.ipro-card-options[data-group="pages_per_side"] .ipro-option-icon { color:#f05a24 !important; background:#fff5ef !important; border-color:#fde0d2 !important; }
.ipro-card-options[data-group="page_turn"] .ipro-option-icon { color:#8b42df !important; background:#faf5ff !important; border-color:#eadcfb !important; }
.ipro-card-options[data-group="binding"] .ipro-option-icon { color:#e9578a !important; background:#fff5f9 !important; border-color:#f9dbe7 !important; }
.ipro-swatch-row {
  margin-top: 12px !important;
  padding: 12px !important;
  border-radius: 14px !important;
  background: #fbfdff !important;
  border: 1px solid #dce6f3 !important;
}
.ipro-qty button,
.ipro-qty input {
  height: 42px !important;
  border-radius: 13px !important;
}
/* Resumen lateral más fiel a la referencia: limpio, con líneas y total separado */
.ipro-summary-card {
  padding: 22px !important;
  background: #fff !important;
}
.ipro-summary-head h3 { font-size: 24px !important; margin: 12px 0 8px !important; }
.ipro-summary-head p { font-size: 14px !important; line-height: 1.45 !important; }
.ipro-summary-trust { display: none !important; }
#ipro-summary-list { gap: 0 !important; margin-top: 18px !important; border-top: 1px solid #e2e9f3 !important; }
#ipro-summary-list li {
  border: 0 !important;
  border-bottom: 1px solid #e2e9f3 !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  background: transparent !important;
}
.ipro-summary-label { font-size: 13px !important; color: #586b86 !important; }
.ipro-summary-value { font-size: 13.5px !important; color: #102544 !important; }
.ipro-total-row {
  margin-top: 18px !important;
  border-radius: 14px !important;
  padding: 18px !important;
  background: linear-gradient(135deg, #eef6ff 0%, #e6f1ff 100%) !important;
  color: #102544 !important;
  box-shadow: none !important;
  border: 1px solid #d8e7fb !important;
}
.ipro-total-row span { color:#536987 !important; font-size:13px !important; }
.ipro-total-row small { color:#6b7f9c !important; }
#ipro-total-price { color: #1260d6 !important; font-size: 32px !important; }
.ipro-add-to-cart {
  border-radius: 14px !important;
  min-height: 54px !important;
  background: linear-gradient(135deg, #ff6d3a 0%, #ff8b54 100%) !important;
}
.ipro-add-to-cart:disabled {
  background: linear-gradient(135deg, #c9ced8 0%, #b7bdc8 100%) !important;
  color: #fff !important;
}
@media (max-width: 980px) {
  .ipro-app { grid-template-columns: 1fr !important; }
  .ipro-summary { position: static !important; }
}
@media (max-width: 720px) {
  .ipro-panel { padding: 18px !important; }
  .ipro-card-options,
  .ipro-card-options[data-group] { grid-template-columns: 1fr !important; }
  .ipro-option-card { min-height: 78px !important; }
  .ipro-section-head { flex-direction: column !important; }
}


/* === Ajuste final de proporciones y resumen robusto === */
.ipro-app {
  grid-template-columns: minmax(0, 1.72fr) minmax(300px, 360px) !important;
  gap: 24px !important;
}
.ipro-panel { padding: 24px !important; }
.ipro-config-stack { gap: 14px !important; margin-top: 20px !important; }
.ipro-option-group {
  padding: 18px !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 28px rgba(15,42,77,.045) !important;
}
.ipro-group-header {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  column-gap: 14px !important;
  align-items: center !important;
  margin-bottom: 14px !important;
}
.ipro-group-header .ipro-group-icon { grid-row: 1 / span 2 !important; }
.ipro-group-header h4 { margin: 0 0 2px !important; font-size: 16px !important; }
.ipro-group-header p { font-size: 13px !important; line-height: 1.35 !important; }
.ipro-card-options {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 12px !important;
}
.ipro-card-options[data-group="size"] { grid-template-columns: 1fr !important; }
.ipro-option-card {
  min-height: 92px !important;
  padding: 13px 44px 13px 14px !important;
  border-radius: 16px !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.ipro-card-options[data-group="size"] .ipro-option-card { min-height: 84px !important; }
.ipro-option-card-top { gap: 12px !important; align-items: center !important; }
.ipro-option-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  flex: 0 0 48px !important;
}
.ipro-svg-icon, .ipro-svg-icon svg { width: 24px !important; height: 24px !important; }
.ipro-option-title { font-size: 15px !important; line-height: 1.22 !important; }
.ipro-option-sub { font-size: 12.5px !important; line-height: 1.35 !important; }
.ipro-option-check {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid #c0c8d4 !important;
  color: transparent !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.ipro-option-card.is-active .ipro-option-check {
  background: var(--ipro-primary) !important;
  border-color: var(--ipro-primary) !important;
  color: #fff !important;
}
.ipro-option-card.is-active::after { display: none !important; }
.ipro-summary-card {
  padding: 24px !important;
  border-radius: 24px !important;
  max-width: 360px !important;
}
#ipro-summary-list li {
  display: grid !important;
  grid-template-columns: minmax(105px, .82fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(216,227,242,.9) !important;
  min-width: 0 !important;
}
.ipro-summary-label { min-width: 0 !important; font-size: 13px !important; }
.ipro-summary-value {
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
  text-align: right !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}
.ipro-upload-meta strong,
.ipro-upload-meta span {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ipro-upload-meta strong { max-width: 100% !important; }
.ipro-message { word-break: break-word !important; }
@media (max-width: 980px) {
  .ipro-app { grid-template-columns: 1fr !important; }
  .ipro-summary-card { max-width: none !important; }
}
@media (max-width: 640px) {
  .ipro-card-options { grid-template-columns: 1fr !important; }
  #ipro-summary-list li { grid-template-columns: 1fr !important; gap: 4px !important; }
  .ipro-summary-value { text-align: left !important; }
}
.ipro-group-header h4 {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.ipro-group-mini-icon {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 10px !important;
}


/* === FIX definitivo para nombres de PDF largos === */
.ipro-app,
.ipro-main,
.ipro-panel,
.ipro-dropzone,
.ipro-summary,
.ipro-summary-card,
#ipro-summary-list,
#ipro-summary-list li {
  min-width: 0 !important;
}

.ipro-upload-meta {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  align-items: flex-start !important;
}

.ipro-upload-meta .ipro-upload-filename {
  display: flex !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.ipro-upload-meta .ipro-upload-filename span {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.ipro-upload-meta .ipro-upload-pages {
  flex: 0 0 auto !important;
  max-width: 100% !important;
}

#ipro-summary-list li,
.ipro-summary-row {
  overflow: hidden !important;
  max-width: 100% !important;
}

.ipro-summary-value,
.ipro-summary-value-file {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.ipro-summary-row-pdf {
  grid-template-columns: 72px minmax(0, 1fr) !important;
}

.ipro-summary-row-pdf .ipro-summary-value {
  max-width: 100% !important;
}

@media (min-width: 981px) {
  .ipro-app {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
  }
}
.ipro-job-list{display:grid;gap:10px;margin-top:16px}.ipro-job-tab{width:100%;display:grid;grid-template-columns:24px 78px minmax(0,1fr) 30px;align-items:center;gap:10px;border:1px solid #dbe7f5;background:#fff;border-radius:14px;padding:10px 12px;text-align:left;box-shadow:0 6px 18px rgba(15,23,42,.06);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.ipro-job-tab.is-active{border-color:#2563eb;background:#eff6ff;box-shadow:0 10px 24px rgba(37,99,235,.14)}.ipro-job-tab.is-dragging{opacity:.6;transform:scale(.99)}.ipro-job-tab.is-over{border-color:#0ea5e9;background:#f0f9ff}.ipro-job-drag{cursor:grab;color:#94a3b8;font-size:18px;line-height:1;user-select:none}.ipro-job-drag:active{cursor:grabbing}.ipro-job-order{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ipro-job-order input{width:42px;height:32px;border:1px solid #cfe0f5;border-radius:10px;text-align:center;font-weight:900;color:#0f172a;background:#fff;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}.ipro-job-main{min-width:0;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;display:grid;gap:2px}.ipro-job-name{font-weight:800;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ipro-job-tab small{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ipro-job-remove{width:24px;height:24px;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#94a3b8;font-size:20px;line-height:1}.ipro-job-remove:hover{background:#fee2e2;color:#b91c1c}.ipro-upload-filename,.ipro-upload-filename span{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipro-summary-row,.ipro-summary-value{min-width:0}.ipro-summary-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipro-summary-value-file{max-width:180px}

/* Nota de orden de encuadernado en la zona de subida */
.ipro-order-note {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px !important;
  padding: 10px 12px;
  border-radius: 14px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412 !important;
  font-weight: 700;
  line-height: 1.45;
  max-width: 760px;
}
.ipro-order-note::before {
  content: "!";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  margin-top: 1px;
  background: #fb923c;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

/* Ajuste producción: orden automático y sin nombre genérico en zona de subida */
.ipro-upload-meta:empty { display: none !important; }
.ipro-job-tab {
  grid-template-columns: 24px 62px minmax(0,1fr) 30px !important;
}
.ipro-job-order {
  justify-content: center !important;
  gap: 5px !important;
}
.ipro-job-order strong {
  min-width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfe0f5;
  border-radius: 10px;
  background: #f8fbff;
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
}
.ipro-job-order input { display: none !important; }

/* === 4.2.0 · Sistema visual de iconografía profesional y jerarquía clara === */
.ipro-config-stack {
  gap: 16px !important;
}
.ipro-option-group {
  position: relative;
  padding: 20px !important;
  border: 1px solid #dbe5f2 !important;
  background: linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  box-shadow: 0 8px 26px rgba(17,48,86,.045) !important;
}
.ipro-option-group::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg,#dbeafe,#eff6ff);
  opacity: .9;
}
.ipro-group-header {
  margin-bottom: 16px !important;
}
.ipro-group-header h4 {
  gap: 13px !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  letter-spacing: -.012em;
  color: #10233f !important;
}
.ipro-group-header p {
  margin-left: 55px !important;
  margin-top: -2px !important;
  font-size: 13px !important;
  color: #65758e !important;
}
.ipro-group-mini-icon {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 13px !important;
  display: inline-grid !important;
  place-items: center !important;
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.13), 0 5px 14px rgba(37,99,235,.08) !important;
}
.ipro-group-mini-icon::before {
  width: 23px !important;
  height: 23px !important;
}
.ipro-icon-size { background: linear-gradient(145deg,#eff6ff,#dbeafe) !important; color:#155ee7 !important; }
.ipro-icon-paper { background: linear-gradient(145deg,#effcf4,#dcfce7) !important; color:#15924e !important; }
.ipro-icon-color { background: linear-gradient(145deg,#fff7ed,#ffedd5) !important; color:#ea7411 !important; }
.ipro-icon-sides { background: linear-gradient(145deg,#effcf7,#dcfce7) !important; color:#13a05a !important; }
.ipro-icon-pages { background: linear-gradient(145deg,#fff4ed,#ffeadf) !important; color:#f05a24 !important; }
.ipro-icon-turn { background: linear-gradient(145deg,#faf5ff,#f0e6ff) !important; color:#8b3fdc !important; }
.ipro-icon-binding { background: linear-gradient(145deg,#fff1f6,#ffe4ee) !important; color:#df477f !important; }
.ipro-icon-copies { background: linear-gradient(145deg,#f0f7ff,#e2edff) !important; color:#2563eb !important; }

/* Iconos de las opciones: más grandes, reconocibles y con aire */
.ipro-option-card {
  min-height: 108px !important;
  padding: 15px 46px 15px 15px !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg,#fff,#fbfdff) !important;
}
.ipro-option-card-top {
  align-items: center !important;
  gap: 14px !important;
}
.ipro-option-icon {
  width: 62px !important;
  height: 62px !important;
  flex: 0 0 62px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg,#fff,#eef5ff) !important;
  border: 1px solid #cdddf4 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92),0 6px 14px rgba(33,76,135,.055) !important;
}
.ipro-svg-icon,
.ipro-svg-icon svg {
  width: 33px !important;
  height: 33px !important;
}
.ipro-svg-icon svg {
  stroke-width: 1.85 !important;
}
.ipro-option-title {
  font-size: 16px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em;
  color: #10233f !important;
}
.ipro-option-sub {
  margin-top: 2px !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  color: #65758e !important;
}
.ipro-option-check {
  top: 12px !important;
  right: 12px !important;
  width: 24px !important;
  height: 24px !important;
  box-shadow: 0 3px 9px rgba(20,75,160,.08);
}
.ipro-option-card:hover {
  transform: translateY(-2px) !important;
  border-color: #a9c5ef !important;
  box-shadow: 0 12px 28px rgba(23,73,143,.09) !important;
}
.ipro-option-card.is-active {
  background: linear-gradient(135deg,#f2f7ff,#e8f2ff) !important;
  border-color: #2e72e8 !important;
  box-shadow: 0 10px 28px rgba(37,99,235,.11), inset 0 0 0 1px rgba(255,255,255,.75) !important;
}

/* Paleta por categoría: el icono explica antes de leer */
.ipro-card-options[data-group="size"] .ipro-option-icon { color:#1764e8 !important; background:linear-gradient(145deg,#f4f8ff,#e5efff) !important; }
.ipro-card-options[data-group="paper"] .ipro-option-icon { color:#15924e !important; background:linear-gradient(145deg,#f3fff7,#e5f8eb) !important; border-color:#cdebd8 !important; }
.ipro-card-options[data-group="print_type"] .ipro-option-icon { color:#e87613 !important; background:linear-gradient(145deg,#fffaf3,#fff0dc) !important; border-color:#f3dfc4 !important; }
.ipro-card-options[data-group="sides"] .ipro-option-icon { color:#15985a !important; background:linear-gradient(145deg,#f2fff8,#e3f8ec) !important; border-color:#cfeadb !important; }
.ipro-card-options[data-group="pages_per_side"] .ipro-option-icon { color:#ed5b25 !important; background:linear-gradient(145deg,#fff8f4,#ffeadf) !important; border-color:#f7d9ca !important; }
.ipro-card-options[data-group="page_turn"] .ipro-option-icon { color:#8841d8 !important; background:linear-gradient(145deg,#fcf8ff,#f0e7ff) !important; border-color:#e5d6f7 !important; }
.ipro-card-options[data-group="binding"] .ipro-option-icon { color:#df477f !important; background:linear-gradient(145deg,#fff7fa,#ffe9f1) !important; border-color:#f3d2df !important; }

/* Rejillas intencionadas para que las opciones se comprendan de un vistazo */
.ipro-card-options[data-group="paper"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.ipro-card-options[data-group="print_type"] { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.ipro-card-options[data-group="sides"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.ipro-card-options[data-group="pages_per_side"] { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.ipro-card-options[data-group="page_turn"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.ipro-card-options[data-group="binding"] { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.ipro-card-options[data-group="size"] .ipro-option-card { min-height: 94px !important; }

/* Cantidad: aspecto de control, no de campo técnico */
.ipro-qty {
  display: inline-grid !important;
  grid-template-columns: 48px 88px 48px !important;
  gap: 8px !important;
  align-items: center !important;
  margin-left: 55px !important;
}
.ipro-qty button,
.ipro-qty input {
  height: 46px !important;
  border-radius: 13px !important;
}
.ipro-qty button {
  border:1px solid #cdddf2 !important;
  background:#f7faff !important;
  color:#165fdb !important;
  font-size:22px !important;
  font-weight:800 !important;
}
.ipro-qty input {
  border:1px solid #cdddf2 !important;
  background:#fff !important;
  color:#10233f !important;
  font-weight:850 !important;
  text-align:center !important;
}

/* Zona de subida: icono principal coherente y mensaje más legible */
.ipro-drop-icon {
  width: 82px !important;
  height: 82px !important;
  border-radius: 22px !important;
  font-size: 19px !important;
  letter-spacing:.03em;
  box-shadow:0 10px 24px rgba(255,109,58,.18) !important;
}
.ipro-order-note {
  font-size: 13px !important;
  max-width: 820px !important;
}

/* Mejor legibilidad de los trabajos PDF ordenables */
.ipro-job-tab {
  min-height: 64px !important;
  border-radius: 15px !important;
}
.ipro-job-drag {
  font-size: 22px !important;
  color:#7d91ad !important;
}
.ipro-job-order strong {
  width:34px !important;
  height:34px !important;
  border-radius:11px !important;
  color:#0c5bd8 !important;
  background:#edf5ff !important;
  border-color:#c9ddf7 !important;
}

/* Mobile: iconos visibles sin robar espacio */
@media (max-width: 760px) {
  .ipro-group-header p { margin-left:0 !important; margin-top:7px !important; }
  .ipro-group-mini-icon { width:38px !important; height:38px !important; flex-basis:38px !important; }
  .ipro-group-mini-icon::before { width:21px !important; height:21px !important; }
  .ipro-card-options[data-group] { grid-template-columns:1fr !important; }
  .ipro-option-card { min-height:92px !important; }
  .ipro-option-icon { width:54px !important; height:54px !important; flex-basis:54px !important; }
  .ipro-svg-icon,.ipro-svg-icon svg { width:29px !important; height:29px !important; }
  .ipro-qty { margin-left:0 !important; }
}

/* === 4.3.0 · Refinado visual estable: proporciones, alineación e iconos semánticos === */
.ipro-option-group{
  overflow:hidden!important;
  padding:18px!important;
  border-radius:20px!important;
}
.ipro-option-group::before{display:none!important;}
.ipro-group-header{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  column-gap:12px!important;
  row-gap:2px!important;
  align-items:center!important;
  margin-bottom:14px!important;
}
.ipro-group-header h4{
  display:contents!important;
}
.ipro-group-header h4 .ipro-group-mini-icon{
  grid-column:1!important;
  grid-row:1 / span 2!important;
}
.ipro-group-header h4:not(:has(.ipro-group-mini-icon)){
  display:block!important;
}
.ipro-group-header h4 .ipro-group-mini-icon + *{grid-column:2!important;}
.ipro-group-header h4{font-size:17px!important;line-height:1.25!important;}
.ipro-group-header p{
  grid-column:2!important;
  margin:0!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
.ipro-group-mini-icon{
  width:44px!important;height:44px!important;flex:0 0 44px!important;
  border-radius:14px!important;background:#f7faff!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:25px 25px!important;
  box-shadow:inset 0 0 0 1px #d8e4f4,0 4px 12px rgba(22,69,132,.055)!important;
}
.ipro-group-mini-icon::before{display:none!important;}
.ipro-icon-size{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%231d63df' stroke-width='2'%3E%3Crect x='9' y='4' width='14' height='24' rx='2'/%3E%3Cpath d='M5 8v16M3 10l2-2 2 2M3 22l2 2 2-2M11 29h10M13 27l-2 2 2 2M19 27l2 2-2 2'/%3E%3C/svg%3E")!important;}
.ipro-icon-paper{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2314954f' stroke-width='2'%3E%3Cpath d='M8 4h12l5 5v19H8z'/%3E%3Cpath d='M20 4v6h6M12 14h9M12 18h9M12 22h6'/%3E%3C/svg%3E")!important;}
.ipro-icon-color{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e87112' stroke-width='2'%3E%3Cpath d='M16 4C10 4 5 8 5 14c0 7 6 13 13 13h2a3 3 0 0 0 0-6h-2a2 2 0 1 1 0-4h4c3 0 5-2 5-5 0-5-5-8-11-8Z'/%3E%3Ccircle cx='10' cy='11' r='1.4'/%3E%3Ccircle cx='15' cy='8' r='1.4'/%3E%3Ccircle cx='21' cy='10' r='1.4'/%3E%3C/svg%3E")!important;}
.ipro-icon-sides{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23149a59' stroke-width='2'%3E%3Cpath d='M5 7h10v18H5zM17 7h10v18H17z'/%3E%3Cpath d='M8 11h4M20 11h4M8 15h4M20 15h4'/%3E%3C/svg%3E")!important;}
.ipro-icon-pages{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23ed5b25' stroke-width='2'%3E%3Crect x='4' y='4' width='10' height='10' rx='2'/%3E%3Crect x='18' y='4' width='10' height='10' rx='2'/%3E%3Crect x='4' y='18' width='10' height='10' rx='2'/%3E%3Crect x='18' y='18' width='10' height='10' rx='2'/%3E%3C/svg%3E")!important;}
.ipro-icon-turn{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238744d7' stroke-width='2'%3E%3Cpath d='M25 11a10 10 0 0 0-17-3L5 11'/%3E%3Cpath d='M5 5v6h6M7 21a10 10 0 0 0 17 3l3-3'/%3E%3Cpath d='M27 27v-6h-6'/%3E%3C/svg%3E")!important;}
.ipro-icon-binding{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23dc467c' stroke-width='2'%3E%3Cpath d='M10 4h16v24H10zM6 6v20'/%3E%3Ccircle cx='6' cy='9' r='2'/%3E%3Ccircle cx='6' cy='16' r='2'/%3E%3Ccircle cx='6' cy='23' r='2'/%3E%3C/svg%3E")!important;}
.ipro-icon-copies{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%232563eb' stroke-width='2'%3E%3Crect x='10' y='9' width='16' height='19' rx='2'/%3E%3Cpath d='M6 23H4V4h16v2M14 14h8M14 18h8M14 22h6'/%3E%3C/svg%3E")!important;}

/* Rejillas y tarjetas: todas comparten la misma anatomía */
.ipro-card-options{
  display:grid!important;
  gap:12px!important;
  align-items:stretch!important;
}
.ipro-card-options[data-group="size"]{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;}
.ipro-card-options[data-group="paper"],.ipro-card-options[data-group="sides"],.ipro-card-options[data-group="page_turn"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.ipro-card-options[data-group="print_type"],.ipro-card-options[data-group="pages_per_side"],.ipro-card-options[data-group="binding"]{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.ipro-option-card{
  width:100%!important;
  min-width:0!important;
  min-height:96px!important;
  height:100%!important;
  padding:14px 42px 14px 14px!important;
  border-radius:16px!important;
  display:flex!important;
  align-items:center!important;
  text-align:left!important;
  overflow:hidden!important;
}
.ipro-card-options[data-group="size"] .ipro-option-card{min-height:88px!important;}
.ipro-option-card-top{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
}
.ipro-option-icon{
  width:52px!important;height:52px!important;flex:0 0 52px!important;
  border-radius:15px!important;
  display:grid!important;place-items:center!important;
}
.ipro-svg-icon,.ipro-svg-icon svg{width:28px!important;height:28px!important;display:block!important;}
.ipro-option-title-wrap{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  gap:3px!important;
}
.ipro-option-title{
  display:block!important;
  min-width:0!important;
  font-size:15px!important;
  line-height:1.22!important;
  overflow-wrap:anywhere!important;
}
.ipro-option-sub{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.32!important;
  color:#65758e!important;
  overflow-wrap:anywhere!important;
}
.ipro-option-card:hover .ipro-option-title,.ipro-option-card:hover .ipro-option-sub{color:inherit!important;}
.ipro-option-card.is-active .ipro-option-title{color:#10233f!important;}
.ipro-option-card.is-active .ipro-option-sub{color:#546b8a!important;}
.ipro-option-check{
  position:absolute!important;top:10px!important;right:10px!important;
  width:22px!important;height:22px!important;border-radius:999px!important;
  font-size:12px!important;
  display:grid!important;place-items:center!important;
}

/* Binding cards can have long descriptions: slightly taller without breaking row alignment */
.ipro-card-options[data-group="binding"] .ipro-option-card{min-height:112px!important;}
.ipro-card-options[data-group="binding"] .ipro-option-title{font-size:14px!important;}
.ipro-card-options[data-group="binding"] .ipro-option-sub{font-size:11.5px!important;}

/* Swatches / copies centered to the same content axis */
.ipro-swatch-row{margin-top:14px!important;padding-top:14px!important;}
.ipro-qty{margin-left:56px!important;}

/* Summary: prevent visual drift and long content from widening the column */
.ipro-summary,.ipro-summary-card{min-width:0!important;}
.ipro-summary-card{overflow:hidden!important;}
#ipro-summary-list,.ipro-summary-row{min-width:0!important;}
.ipro-summary-row{display:grid!important;grid-template-columns:minmax(90px,.78fr) minmax(0,1.22fr)!important;gap:12px!important;align-items:center!important;}
.ipro-summary-label,.ipro-summary-value{min-width:0!important;}
.ipro-summary-value{max-width:100%!important;text-align:right!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.ipro-summary-row-pdf .ipro-summary-value-file{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

/* Work list alignment */
.ipro-job-tab{
  grid-template-columns:28px 58px minmax(0,1fr) 38px!important;
  gap:8px!important;
  align-items:center!important;
  padding:9px 10px!important;
}
.ipro-job-main,.ipro-job-name{min-width:0!important;}
.ipro-job-name{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.ipro-job-remove{width:34px!important;height:34px!important;}

@media (max-width:980px){
  .ipro-card-options[data-group="print_type"],.ipro-card-options[data-group="pages_per_side"],.ipro-card-options[data-group="binding"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:700px){
  .ipro-option-group{padding:15px!important;}
  .ipro-group-header{grid-template-columns:40px minmax(0,1fr)!important;column-gap:10px!important;}
  .ipro-group-mini-icon{width:40px!important;height:40px!important;background-size:23px 23px!important;}
  .ipro-card-options[data-group]{grid-template-columns:1fr!important;}
  .ipro-option-card,.ipro-card-options[data-group="binding"] .ipro-option-card{min-height:84px!important;}
  .ipro-option-card-top{grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important;}
  .ipro-option-icon{width:48px!important;height:48px!important;}
  .ipro-svg-icon,.ipro-svg-icon svg{width:26px!important;height:26px!important;}
  .ipro-qty{margin-left:0!important;}
  .ipro-summary-row{grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr)!important;}
}

/* =========================================================
   v4.3.1 - Refinado final del selector de Copias
   ========================================================= */
.ipro-group-block:has(.ipro-qty) .ipro-qty,
.ipro-qty {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 14px 0 0 56px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ipro-qty button,
.ipro-qty input {
  box-sizing: border-box !important;
  height: 54px !important;
  margin: 0 !important;
  border: 1px solid #cbdcf2 !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(23, 67, 124, .06) !important;
  color: #0f2544 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.ipro-qty button {
  flex: 0 0 58px !important;
  width: 58px !important;
  min-width: 58px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #1764df !important;
  background: #f7faff !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

.ipro-qty button:hover,
.ipro-qty button:focus-visible {
  color: #0f56c9 !important;
  background: #edf5ff !important;
  border-color: #86b4f5 !important;
  box-shadow: 0 7px 18px rgba(23, 100, 223, .13) !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}

.ipro-qty input {
  flex: 0 0 82px !important;
  width: 82px !important;
  min-width: 82px !important;
  padding: 0 12px !important;
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0f2544 !important;
  background: #fff !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.ipro-qty input::-webkit-outer-spin-button,
.ipro-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.ipro-qty input:focus {
  outline: none !important;
  border-color: #1764df !important;
  box-shadow: 0 0 0 3px rgba(23,100,223,.10) !important;
}

@media (max-width: 760px) {
  .ipro-qty {
    margin-left: 0 !important;
    gap: 8px !important;
  }
  .ipro-qty button {
    flex-basis: 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 50px !important;
  }
  .ipro-qty input {
    flex-basis: 76px !important;
    width: 76px !important;
    min-width: 76px !important;
    height: 50px !important;
  }
}
