.generator-hero-card { width: min(100%, 510px); margin-inline: auto; padding: 18px; background: #fff; border: 1px solid #6d86a4; border-top: 4px solid var(--gyg-yellow); border-radius: 12px; }
.generator-hero-controls { display: flex; flex-wrap: wrap; gap: 7px; padding-bottom: 14px; border-bottom: 1px solid #dce4ec; }
.generator-hero-controls span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; color: #31506f; background: #eef4f8; border-radius: 5px; font-size: 11px; font-weight: 800; }
.generator-hero-controls i { color: var(--gyg-orange); }
.generator-hero-card article { padding: 20px 17px 4px; color: var(--gyg-blue); }
.generator-hero-card article header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 17px; border-bottom: 2px solid #0f6dcc; }
.generator-hero-card article header span b,
.generator-hero-card article header span small { display: block; }
.generator-hero-card article header small { margin-top: 2px; color: #526479; font-size: 10px; }
.generator-hero-card article header > i { color: #0f6dcc; font-size: 25px; }
.generator-hero-card article > div { padding: 20px 0; }
.generator-hero-card article > div small,
.generator-hero-card article > div b { display: block; }
.generator-hero-card article > div small { color: #0f6dcc; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.generator-hero-card article > div b { margin-top: 5px; }
.generator-hero-card article > p,
.generator-hero-card article > footer { display: flex; justify-content: space-between; gap: 20px; }
.generator-hero-card article > p { margin: 0; padding: 12px 0; border-block: 1px solid #dce4ec; font-size: 12px; }
.generator-hero-card article > footer { align-items: center; padding-top: 16px; }
.generator-hero-card article > footer strong { color: #0f6dcc; font-size: 22px; }

.generator-section-head h2 { max-width: 900px; }
.generator-workspace { display: grid; grid-template-columns: minmax(420px, 500px) minmax(0, 1fr); gap: 26px; align-items: start; }
.generator-form { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #ccd7e1; border-radius: 12px; }
.generator-step-tabs { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--gyg-blue); }
.generator-step-tabs button { min-height: 64px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 8px; color: #d9e5f1; border-right: 1px solid #45617f; border-bottom: 4px solid transparent; font-size: 13px; font-weight: 850; }
.generator-step-tabs button:last-child { border-right: 0; }
.generator-step-tabs button span { color: #91afd0; font-size: 10px; }
.generator-step-tabs button.is-active { color: var(--gyg-blue); background: #fff; border-bottom-color: var(--gyg-orange); }
.generator-step-tabs button.is-active span { color: var(--gyg-orange); }
.generator-example-notice { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 11px; align-items: start; margin: 18px 20px 0; padding: 13px 14px; border: 1px solid #d8bf68; border-left: 4px solid #d39a16; border-radius: 7px; background: #fff9e8; color: #594819; }
.generator-example-notice > i { width: 36px; height: 36px; display: grid; place-items: center; background: #ffedb5; color: #805f08; border-radius: 6px; }
.generator-example-notice strong { display: block; color: #4c3a0e; font-size: 13px; }
.generator-example-notice p { margin: 3px 0 0; font-size: 11px; line-height: 1.5; }
.generator-step { display: grid; gap: 25px; padding: 30px; border-bottom: 1px solid #d5dfe8; }
.generator-form.is-enhanced .generator-step:not(.is-active) { display: none; }
.generator-step > header { display: flex; gap: 14px; align-items: flex-start; }
.generator-step > header > span { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; color: #fff; background: var(--gyg-orange); border-radius: 7px; font-size: 12px; font-weight: 900; }
.generator-step h3 { margin: 0; font-size: 23px; }
.generator-step header p { margin: 5px 0 0; font-size: 14px; line-height: 1.55; }
.generator-step fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.generator-step legend { margin-bottom: 11px; color: var(--gyg-blue); font-size: 13px; font-weight: 900; }

.generator-models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.generator-models legend { grid-column: 1 / -1; }
.generator-models label { min-width: 0; }
.generator-models input,
.generator-segments input,
.generator-colors input,
.generator-inclusions input { position: absolute; opacity: 0; pointer-events: none; }
.generator-models label > span { min-height: 116px; display: grid; align-content: start; gap: 5px; padding: 14px 12px; background: #f5f7fa; border: 1px solid #d1dbe5; border-bottom-width: 4px; border-radius: 8px; cursor: pointer; }
.generator-models label > span > i { margin-bottom: 4px; color: #126783; font-size: 20px; }
.generator-models label > span b { color: var(--gyg-blue); }
.generator-models label > span small { color: #526479; font-size: 11px; line-height: 1.4; }
.generator-models input:checked + span { background: #eef6fb; border-color: #126783; }
.generator-models input:focus-visible + span,
.generator-segments input:focus-visible + span,
.generator-colors input:focus-visible + span,
.generator-inclusions input:focus-visible + span { outline: 3px solid rgba(20, 124, 229, .22); outline-offset: 2px; }

.generator-logo-upload { display: grid; gap: 11px; padding: 17px; background: #f7f9fb; border: 1px solid #d1dbe5; border-radius: 9px; }
.generator-logo-heading { display: flex; justify-content: space-between; gap: 15px; align-items: center; }
.generator-logo-heading span { color: #526479; font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.generator-logo-heading h4 { margin: 2px 0 0; color: var(--gyg-blue); font-size: 16px; }
.generator-logo-heading em { display: inline-flex; align-items: center; gap: 6px; color: #087354; font-size: 9px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.generator-logo-drop { position: relative; min-height: 76px; display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px 14px; background: #fff; border: 1px dashed #92a8bc; border-radius: 8px; cursor: pointer; }
.generator-logo-drop:hover { border-color: #126783; background: #f4fafc; }
.generator-logo-drop:focus-within { outline: 3px solid rgba(20,124,229,.2); outline-offset: 2px; }
.generator-logo-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.generator-logo-drop > i { width: 42px; height: 42px; display: grid; place-items: center; color: #0d7194; background: #e8f4f8; border-radius: 7px; font-size: 18px; }
.generator-logo-drop span b, .generator-logo-drop span small { display: block; }
.generator-logo-drop span b { color: var(--gyg-blue); font-size: 12px; }
.generator-logo-drop span small { margin-top: 3px; color: #526479; font-size: 10px; }
.generator-logo-drop > strong { padding: 8px 10px; color: #fff; background: var(--gyg-blue); border-radius: 6px; font-size: 10px; }
.generator-logo-status { min-width: 0; display: grid; grid-template-columns: 35px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 10px 11px; background: #fff; border: 1px solid #d7e0e8; border-radius: 7px; }
.generator-logo-status > i { width: 34px; height: 34px; display: grid; place-items: center; color: #526479; background: #edf1f5; border-radius: 6px; }
.generator-logo-status span { min-width: 0; }
.generator-logo-status span b, .generator-logo-status span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.generator-logo-status span b { color: var(--gyg-blue); font-size: 11px; }
.generator-logo-status span small { margin-top: 2px; color: #526479; font-size: 9px; }
.generator-logo-status button { width: 34px; height: 34px; color: #9c3f2c; background: #fff0ec; border: 1px solid #e7c2b8; border-radius: 6px; }
.generator-logo-status.is-ready { background: #edf8f4; border-color: #9bcbbd; }
.generator-logo-status.is-ready > i { color: #087354; background: #d9f0e8; }
.generator-logo-status.is-error { background: #fff3ef; border-color: #e4b7a9; }
.generator-logo-status.is-error > i { color: #a23c27; background: #ffe2da; }
.generator-logo-size { min-height: 58px; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 11px; background: #fff; border: 1px solid #d7e0e8; border-radius: 7px; }
.generator-logo-size > span b,
.generator-logo-size > span small { display: block; }
.generator-logo-size > span b { color: var(--gyg-blue); font-size: 11px; }
.generator-logo-size > span small { margin-top: 2px; color: #526479; font-size: 9px; }
.generator-logo-size > div { flex: 0 0 auto; display: grid; grid-template-columns: 34px 62px 34px; align-items: center; overflow: hidden; border: 1px solid #cbd6df; border-radius: 6px; }
.generator-logo-size button { width: 34px; height: 34px; display: grid; place-items: center; color: #0b6587; background: #edf6fa; font-size: 11px; }
.generator-logo-size button:hover { background: #dceff6; }
.generator-logo-size button:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(20,124,229,.25); outline-offset: -2px; }
.generator-logo-size button:disabled { color: #9aa7b5; background: #f1f3f5; cursor: not-allowed; }
.generator-logo-size output { min-height: 34px; display: grid; place-items: center; color: var(--gyg-blue); background: #fff; border-inline: 1px solid #cbd6df; font-size: 11px; font-weight: 900; }

.generator-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.generator-logo-size-field legend { margin-bottom: 11px; }
.generator-logo-size--choice { min-height: 44px; justify-content: flex-start; padding: 0; background: transparent; border: 0; }
.generator-logo-size--choice > div { width: 100%; height: 44px; min-height: 0; grid-template-columns: 44px minmax(0, 1fr) 44px; box-sizing: border-box; }
.generator-logo-size--choice button { width: 44px; height: 42px; }
.generator-logo-size--choice output { min-height: 42px; }
.generator-segments { display: grid; grid-template-columns: 1fr 1fr; }
.generator-segments legend { grid-column: 1 / -1; }
.generator-segments label > span { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 9px; color: #53657a; background: #f5f7fa; border: 1px solid #d1dbe5; cursor: pointer; font-size: 12px; font-weight: 800; }
.generator-segments label:first-of-type > span { border-radius: 7px 0 0 7px; }
.generator-segments label:last-of-type > span { border-left: 0; border-radius: 0 7px 7px 0; }
.generator-segments input:checked + span { color: #fff; background: var(--gyg-blue); border-color: var(--gyg-blue); }

.generator-colors { display: grid; grid-template-columns: repeat(10, 32px); gap: 8px; }
.generator-colors legend { grid-column: 1 / -1; }
.generator-colors label > span { width: 32px; height: 32px; display: grid; place-items: center; overflow: hidden; color: transparent; background: #fff; border: 1px solid #cbd6e1; border-radius: 6px; cursor: pointer; font-size: 0; }
.generator-colors label > span::before { width: 20px; height: 20px; content: ""; background: var(--choice-color); border-radius: 4px; }
.generator-colors input:checked + span { border-color: var(--gyg-blue); outline: 2px solid var(--gyg-blue); outline-offset: 1px; }
.generator-colors.is-disabled { opacity: .42; }
.generator-colors.is-disabled label > span { cursor: not-allowed; }
.generator-colors.is-disabled legend::after { margin-left: 8px; content: "Minimal no utiliza color"; color: #63758a; font-size: 10px; font-weight: 650; text-transform: none; }

.generator-inclusions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.generator-inclusions legend { grid-column: 1 / -1; }
.generator-inclusions label > span { min-height: 68px; display: grid; grid-template-columns: 30px minmax(0, 1fr); align-content: center; gap: 2px 8px; padding: 11px; background: #f7f9fb; border: 1px solid #d3dde6; border-radius: 7px; cursor: pointer; }
.generator-inclusions label > span i { grid-row: 1 / 3; align-self: center; color: #7b8da0; font-size: 17px; text-align: center; }
.generator-inclusions label > span b,
.generator-inclusions label > span small { display: block; }
.generator-inclusions label > span b { color: var(--gyg-blue); font-size: 12px; }
.generator-inclusions label > span small { color: #526479; font-size: 10px; }
.generator-inclusions input:checked + span { background: #edf8f4; border-color: #8ec6b3; }
.generator-inclusions input:checked + span i { color: #087354; }
.generator-inclusions .generator-price-mode > span { background: #edf8f4; border-color: #8ec6b3; }
.generator-inclusions .generator-price-mode > span i { color: #087354; }

.generator-fields { display: grid; gap: 13px; padding-top: 22px !important; border-top: 1px solid #dce3ea !important; }
.generator-fields:first-of-type { padding-top: 0 !important; border-top: 0 !important; }
.generator-fields label { display: grid; gap: 6px; color: var(--gyg-blue); font-size: 12px; font-weight: 850; }
.generator-fields input,
.generator-fields select,
.generator-fields textarea { width: 100%; min-height: 45px; padding: 10px 11px; color: var(--gyg-text); background: #fff; border: 1px solid #c8d3de; border-radius: 6px; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.35; }
.generator-fields textarea { min-height: 88px; resize: vertical; }
.generator-tax-field > small { color: #66788b; font-size: 10px; font-weight: 650; line-height: 1.45; }
.generator-tax-field > small a { color: #086d91; font-weight: 850; text-decoration: underline; text-underline-offset: 2px; }
.generator-fields input:focus,
.generator-fields select:focus,
.generator-fields textarea:focus { border-color: #126783; outline: 3px solid rgba(22, 128, 165, .14); }
.generator-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.generator-form-grid > label { align-content: start; }
.generator-fields [hidden] { display: none; }
.generator-form-grid.is-three { grid-template-columns: 1fr 1fr 1fr; }
.generator-electronic-data { overflow: hidden; border: 1px solid #cad7e2; border-radius: 8px; background: #f8fafc; }
.generator-electronic-data > summary { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; color: var(--gyg-blue); cursor: pointer; list-style: none; }
.generator-electronic-data > summary::-webkit-details-marker { display: none; }
.generator-electronic-data > summary > span { display: grid; grid-template-columns: 34px 1fr; gap: 2px 10px; align-items: center; }
.generator-electronic-data > summary > span > i { grid-row: 1 / 3; width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: #0b789e; border-radius: 6px; }
.generator-electronic-data > summary b,
.generator-electronic-data > summary small { display: block; }
.generator-electronic-data > summary small { color: #677a8e; font-size: 11px; font-weight: 500; }
.generator-electronic-data[open] > summary > .fa-chevron-down { transform: rotate(180deg); }
.generator-electronic-body { display: grid; gap: 22px; padding: 18px 15px; border-top: 1px solid #d7e0e8; background: #fff; }
.generator-party-data { margin: 0; }
.generator-address-fields { display: grid; gap: 10px; }
.generator-address-line { display: grid; gap: 10px; }
.generator-address-line--street { grid-template-columns: minmax(0, 1fr) 110px; }
.generator-address-line--locality { grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1fr); }
.generator-admin-toggle { grid-template-columns: 20px minmax(0, 1fr) !important; align-items: start; padding: 12px; background: #eff7fa; border: 1px solid #c2dce6; border-radius: 7px; }
.generator-admin-toggle input { width: 17px; min-height: 17px; margin-top: 2px; }
.generator-admin-toggle b,
.generator-admin-toggle small { display: block; }
.generator-admin-toggle small { margin-top: 3px; color: #62778b; font-size: 11px; font-weight: 500; }
.generator-dir3 { display: grid; gap: 10px; }
.generator-optional-row { padding-top: 4px; }
.generator-optional-row > summary { width: max-content; color: #0b6f93; cursor: pointer; font-size: 11px; font-weight: 800; }
.generator-optional-row > label { margin-top: 10px; max-width: 220px; }
.generator-lines { display: grid; gap: 10px; }
.generator-line { display: grid; grid-template-columns: 58px minmax(120px, 1fr) 58px 76px 39px; gap: 7px; align-items: end; padding: 12px; background: #f5f7fa; border: 1px solid #d2dce5; border-radius: 7px; }
.generator-line > label { min-width: 0; }
.generator-line .is-concept { grid-column: 1 / -1; }
.generator-line .is-detail { grid-column: 1 / -1; }
.generator-line > button { width: 39px; height: 45px; color: #a43b27; background: #fff; border: 1px solid #d6c6c2; border-radius: 6px; }
.generator-line:first-child > button { visibility: hidden; }
.generator-add-line { width: max-content; display: inline-flex; align-items: center; gap: 7px; padding: 10px 12px; color: #0b6587; background: #edf6fa; border: 1px solid #bad7e2; border-radius: 6px; font-size: 12px; font-weight: 850; }

.generator-review-summary { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #d3dde6; border-radius: 8px; }
.generator-review-summary > span { min-height: 95px; display: grid; align-content: center; gap: 3px; padding: 14px; border-right: 1px solid #d3dde6; }
.generator-review-summary > span:last-child { border-right: 0; }
.generator-review-summary i { margin-bottom: 4px; color: var(--gyg-orange); }
.generator-review-summary small { color: #718196; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.generator-review-summary b { color: var(--gyg-blue); font-size: 14px; }
.generator-review-check { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; padding: 16px; color: #075f4a; background: #eaf8f2; border: 1px solid #b7dfcf; border-radius: 8px; }
.generator-review-check > i { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: #087354; border-radius: 7px; }
.generator-review-check b,
.generator-review-check small { display: block; }
.generator-review-check small { margin-top: 3px; color: #38715f; font-size: 12px; }
.generator-privacy-note { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: start; margin: 0; color: #596b80; font-size: 12px; line-height: 1.55; }
.generator-privacy-note > i { margin-top: 3px; color: #0b6d91; }
.generator-privacy-note a { color: #075f86; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.generator-privacy-note a:hover { color: var(--gyg-blue); }
.generator-download { min-height: 64px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 10px 14px; color: #fff; background: #087354; border-radius: 7px; font-size: 15px; font-weight: 900; }
.generator-download > span { display: inline-flex; align-items: center; justify-content: center; gap: 9px; white-space: nowrap; }
.generator-download:hover { background: #075f46; }
.generator-download-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.generator-download-actions .generator-download { width: 100%; border: 0; text-decoration: none; }
.generator-download-actions .generator-download small { color: rgba(255,255,255,.78); font-size: 10px; font-weight: 400; line-height: 1.1; }
.generator-approval-note { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: center; margin: -7px 0 0; padding: 12px 13px; color: #6c5313; background: #fff8df; border: 1px solid #ead18a; border-radius: 7px; font-size: 12px; line-height: 1.5; }
.generator-approval-note > i { width: 32px; height: 32px; display: grid; place-items: center; color: #8b6808; background: #ffecad; border-radius: 6px; }
.generator-approval-note.is-approved { color: #075f4a; background: #eaf8f2; border-color: #9ed1bf; }
.generator-approval-note.is-approved > i { color: #fff; background: #087354; }
.generator-register-invite { display: grid; gap: 13px; padding: 18px; background: #f4f8ff; border: 1px solid #b9cce4; border-radius: 8px; }
.generator-register-copy { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; align-items: center; }
.generator-register-copy > i { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: var(--gyg-blue); border-radius: 7px; }
.generator-register-copy span,
.generator-register-copy small,
.generator-register-copy b,
.generator-register-copy em { display: block; }
.generator-register-copy small { margin-bottom: 2px; color: #5f7187; font-size: 10px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.generator-register-copy b { color: var(--gyg-blue); font-size: 15px; line-height: 1.35; }
.generator-register-copy em { margin-top: 3px; color: #5b6d82; font-size: 12px; font-style: normal; line-height: 1.45; }
.generator-register-invite > button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 15px; color: #fff; background: var(--gyg-orange); border: 0; border-radius: 7px; font-size: 13px; font-weight: 900; }
.generator-register-invite > button:hover { background: #df4826; }
.generator-register-invite > button:disabled { opacity: .68; cursor: wait; }
.generator-register-invite > button span { display: inline-flex; align-items: center; gap: 8px; }
.generator-register-invite > p { display: none; margin: 0; color: #4e6075; font-size: 12px; line-height: 1.45; }
.generator-register-invite > p.is-visible { display: block; }
.generator-register-invite > p.is-error { color: #9a3424; }
.generator-register-invite > p.is-success { color: #087354; }
.generator-form.is-approved [data-generator-prev] { visibility: hidden; }
.generator-form.is-approved .generator-step-tabs button:not(.is-active) { opacity: .48; cursor: not-allowed; }
.generator-navigation { min-height: 70px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; padding: 13px 20px; background: #f5f7fa; }
.generator-navigation button { min-height: 43px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 13px; color: #fff; background: var(--gyg-blue); border-radius: 6px; font-size: 12px; font-weight: 850; }
.generator-navigation button:last-child { justify-self: end; background: var(--gyg-orange); }
.generator-navigation button:disabled { color: #8391a1; background: #dce2e8; cursor: not-allowed; }
.generator-navigation > span { color: #526479; font-size: 11px; font-weight: 850; }

.generator-preview { position: sticky; top: 105px; min-width: 0; overflow: hidden; background: #fff; border: 1px solid #cad5df; border-radius: 12px; }
.generator-preview > header { min-height: 48px; display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 11px 15px; color: #fff; background: var(--gyg-blue); font-size: 11px; text-transform: uppercase; }
.generator-preview > header span { display: inline-flex; align-items: center; gap: 7px; font-weight: 850; }
.generator-preview > header i { color: var(--gyg-yellow); }
.generator-preview-stage { display: grid; justify-content: center; padding: 0; overflow: hidden; background: #fff; }
.generator-preview-stage .invoice-template { flex: 0 0 auto; border: 0; }
.generator-document .document-logo-panel img { width: var(--generator-logo-width, 175px); height: var(--generator-logo-height, 72px); max-width: none; object-fit: contain; }
.generator-document.template--profesional[data-logo-position="left"] .document-logo-panel img { order: 1; object-position: left center; }
.generator-document.template--profesional[data-logo-position="left"] .document-issuer { order: 2; padding: 0 0 0 17px; border-right: 0; border-left: 1px solid #ccd6df; }
.generator-document.template--atlantica[data-logo-position="right"] .document-logo-panel { grid-template-columns: minmax(145px, 1fr) minmax(180px, 295px); }
.generator-document.template--minimal[data-logo-position="right"] .document-logo-panel { grid-template-columns: minmax(145px, 1fr) minmax(180px, 215px); }
.generator-document:is(.template--atlantica, .template--minimal)[data-logo-position="right"] .document-logo-panel img { order: 2; object-position: right center; }
.generator-document:is(.template--atlantica, .template--minimal)[data-logo-position="right"] .document-issuer { order: 1; padding: 0 17px 0 0; border-right: 1px solid #ccd6df; border-left: 0; }
.generator-document[data-density="compact"] { padding: 36px; }
.generator-document[data-density="compact"] .document-context { padding-block: 21px; }
.generator-document[data-density="compact"] .document-line > span { padding-block: 8px; }

/* The PDF snapshot is rendered from the same A4 node, outside responsive zoom. */
.generator-pdf-capture-stage {
  position: fixed;
  top: 0;
  left: -10000px;
  width: 720px;
  overflow: visible;
  background: #fff;
  pointer-events: none;
}
.generator-pdf-capture-stage .generator-document {
  width: 720px !important;
  min-width: 720px !important;
  max-width: 720px !important;
  min-height: 1018px !important;
  height: auto !important;
  zoom: 1 !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  .generator-workspace { grid-template-columns: 1fr; }
  .generator-preview { position: static; }
  .generator-preview-stage .generator-document { zoom: .85; }
}

@media (max-width: 760px) {
  .generator-address-line--street { grid-template-columns: minmax(0, 1fr) 88px; }
  .generator-address-line--locality { grid-template-columns: 92px minmax(0, 1fr); }
  .generator-address-line--locality > label:last-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .generator-download-actions { grid-template-columns: 1fr; }
  .generator-colors { grid-template-columns: repeat(auto-fit, 26px); gap: 6px; }
  .generator-colors label > span { width: 26px; height: 26px; }
  .generator-colors label > span::before { width: 16px; height: 16px; }
  .generator-models { grid-template-columns: 1fr; }
  .generator-models label > span { min-height: 86px; grid-template-columns: 30px 1fr; }
  .generator-models label > span > i { grid-row: 1 / 3; align-self: center; }
  .generator-choice-grid,
  .generator-form-grid,
  .generator-form-grid.is-three { grid-template-columns: 1fr; }
  .generator-line { grid-template-columns: 58px minmax(100px, 1fr) 58px; }
  .generator-line .is-quantity { grid-column: 1; }
  .generator-line .is-price { grid-column: 2; }
  .generator-line .is-discount { grid-column: 3; }
  .generator-line .is-tax { grid-column: 1 / span 2; }
  .generator-line > button { grid-column: 3; width: 100%; justify-self: stretch; }
  .generator-review-summary { grid-template-columns: 1fr; }
  .generator-review-summary > span { min-height: 70px; border-right: 0; border-bottom: 1px solid #d3dde6; }
  .generator-review-summary > span:last-child { border-bottom: 0; }
}

@media (max-width: 560px) {
  .free-generator-page .container { width: min(calc(100% - 24px), 1310px); }
  .generator-step { padding: 24px 18px; }
  .generator-step-tabs button { display: grid; gap: 2px; }
  .generator-inclusions { grid-template-columns: 1fr; }
  .generator-inclusions legend { grid-column: auto; }
  .generator-logo-heading { align-items: flex-start; flex-direction: column; }
  .generator-logo-drop { grid-template-columns: 43px minmax(0,1fr); }
  .generator-logo-drop > strong { grid-column: 1 / -1; text-align: center; }
  .generator-logo-size { align-items: flex-start; flex-direction: column; }
  .generator-register-invite { padding: 16px 14px; }
  .generator-register-copy { grid-template-columns: 36px minmax(0, 1fr); }
  .generator-register-copy > i { width: 36px; height: 36px; }
  .generator-navigation { grid-template-columns: 1fr 1fr; }
  .generator-navigation > span { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .generator-preview-stage { display: block; padding: 12px; }
  .generator-preview-stage .generator-document { zoom: .445; }
}
